Chapter 6: Parallel Processors from Client to Cloud(ํด๋ผ์ด์ธํธ์์ ํด๋ผ์ฐ๋๊น์ง์ ๋ณ๋ ฌ ํ๋ก์ธ์)
Domain-Specific Architectures(DSAs) (๋๋ฉ์ธ ํนํ ์ํคํ
์ฒ)
๐จ5๊ฐ์ ์์น ๋ํด ์๊ธฐ!!
- 5๊ฐ์ง ์์น
- ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ต์ํํ๊ธฐ ์ํด ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉ(use dedicated memories)
- ๊ณ ๊ธ ๋ง์ดํฌ๋ก์ํคํ
์ฒ ์ต์ ํ๋ฅผ ์ ์ธํ๊ณ (dropping), ์ ์ฝ๋ ์์์ ๋ ๋ง์ด ์ฐ์ ์ ๋(arithmetic units)์ด๋ ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ์ ํฌ์(invest)
- ๋๋ฉ์ธ์ ๋ง๋ ๊ฐ์ฅ ๊ฐ๋จํ ํํ์ ๋ณ๋ ฌ์ฑ(parallelism)์ ์ฌ์ฉ
- ๋๋ฉ์ธ์ ํ์ํ ์ต์ํ์ ๋ฐ์ดํฐ ํฌ๊ธฐ์ ํ์
์ ์ฌ์ฉ
- DSA์ code๋ฅผ portํ ์ ์๋๋ก ๋๋ฉ์ธ์ ํนํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๊ฒ
- ex. ๋จธ์ ๋ฌ๋์ ์ํ Tensorflow
Message Passing(MP)(๋ฉ์ธ์ง ์ ๋ฌ)
- ์ ์ญ ๋ฉ๋ชจ๋ฆฌ(global memory)์์ด ํ๋ก์ธ์ ์งํฉ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ
- ๊ฐ PE(ํ๋ก์ธ์ ์์)๋ ์์ฒด local memory๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ค๋ฅธ PE์ message๋ฅผ ํตํด ํต์ ํจ
- ๊ฐ ํ๋ก์ธ์๋ ๊ฐ์ธ์ ์ธ ๋ฌผ๋ฆฌ์ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ง
- ํ๋์จ์ด๋ ํ๋ก์ธ์ ๊ฐ์ message๋ฅผ ์ก/์์ (send/receives)

Clusters
- ์ฌ๋ฌ ๋์ ์ปดํจํฐ(node)๊ฐ ์ํธ ์ฐ๊ฒฐ๋์ด ํ๋์ ํตํฉ๋(unified) ์ปดํจํฐ ์์์ฒ๋ผ ๋์ํ๋ฉฐ ํ๋์ ๊ธฐ๊ณ์ฒ๋ผ ๋ณด์ด๊ฒ ํ๋(illusion) ์์คํ
- ํด๋ฌ์คํฐ์ ์ฅ์
- ์ ๋์ ํ์ฅ์ฑ(absolute scalability)
- ํด๋ฌ์คํฐ๋ ์๋ฐฑ ๋์ ๊ธฐ๊ณ๋ก ๊ตฌ์ฑ๋ ์ ์์ผ๋ฉฐ, ๊ฐ ๊ธฐ๊ณ๋ ๋ฉํฐํ๋ก์ธ์ ์์คํ
์ผ ์ ์์
- ์ ์ง์ ํ์ฅ์ฑ(incremental scalability)
- ํด๋ฌ์คํฐ๋ ์ต์ํ์ ์๋น์ค ์ค๋จ(service disruption)์ผ๋ก ์์ ๋จ์(small increments)๋ก ํ์ฅ ๊ฐ๋ฅ
- ๊ณ ๊ฐ์ฉ์ฑ(High availabilty)
- ์ํํธ์จ์ด์์์ ์ฅ์ (fault-tolerant) ํ์ฉ ๊ธฐ๋ฅ
- ๋์ ๊ฐ๊ฒฉ/์ฑ๋ฅ ๋น์จ(High price/performance ratio)
- ์์ฉ ๋ถํ(Off-the shelf building blocks)์ ์ฌ์ฉํ ๊ตฌ์ถ
Warehouse-Scale Computers (WSC) (๋๊ท๋ชจ์ ์ปดํจํฐ)
- ์ธํฐ๋ท ์๋น์ค๋ฅผ ์ ๊ณต
- ๊ฒ์, ์์
๋คํธ์ํน, ์จ๋ผ์ธ ์ง๋, ๋์์ ๊ณต์ , ์จ๋ผ์ธ ์ผํ, ์ด๋ฉ์ผ, ํด๋ผ์ฐ๋ ์ปดํจํ
๋ฑ
- HPC ํด๋ฌ์คํฐ์์ ์ฐจ์ด์
- ํด๋ฌ์คํฐ๋ ๋ ๋์ ์ฑ๋ฅ์ ํ๋ก์ธ์ & ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉ
- ์ค๋ ๋ ์์ค์ ๋ณ๋ ฌ์ฑ์ ๊ฐ์กฐ & WSC๋ ์์ฒญ/์์
์์ค(request/task-level)์ ๋ณ๋ ฌ์ฑ์ ๊ฐ์กฐ
- ๋ฐ์ดํฐ์ผํฐ์์ ์ฐจ์ด์
- ๋ฐ์ดํฐ์ผํฐ๋ ๋ค์ํ ๊ธฐ๊ณ์ ์ํํธ์จ์ด๋ฅผ ํ๋์ ์์น๋ก ํตํฉ(consolidate)
- ๋ค์ํ ๊ณ ๊ฐ์ ์ง์ํ๊ธฐ ์ํด์ ๊ฐ์๋จธ์ (virtual machines)๊ณผ ํ๋์จ์ด์ heterogeneity(๋ค์์ฑ)์ ๊ฐ์กฐํจ
Three major distinctions of WSC(WSC์ ์ธ ๊ฐ์ง ์ฃผ์ ์ฐจ์ด์ )
- ํ๋ถํ๊ณ ์ฌ์ด ๋ณ๋ ฌ์ฒ๋ฆฌ(Ample, easy parallelism)
- ๋ฐฐ์น ์ ํ๋ฆฌ์ผ์ด์
(ex. MapReduce)์ ๋
๋ฆฝ์ ์ธ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋๋์ผ๋ก ์ฒ๋ฆฌํด์ผํ๋ฏ๋ก ๋ณ๋ ฌ์ฒ๋ฆฌ์์ ํฐ ์ด์ ์ ์ป์
- interactive internet service ์ ํ๋ฆฌ์ผ์ด์
(ex. Saas)์ ์๋ฐฑ๋ง ๋ช
์ ๋
๋ฆฝ์ ์ธ ์ฌ์ฉ์๊ฐ ์ธํฐ๋ท ์๋น์ค๋ฅผ ์ด์ฉํ๋ฏ๋ก ๋ณ๋ ฌ์ฒ๋ฆฌ์ ์ด์ ์ ์ป์ ์ ์์
- ์ด์ ๋น์ฉ(Operantional Costs)์ ์ค์์ฑ
- WSC๋ ๊ธด ์๋ช
์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๊ฑด๋ฌผ,์ ๋ ฅ,๋๊ฐ ์ธํ๋ผ๋ 10๋
๋๋ 20๋
์ ๊ฑธ์ณ ๋ถํ ๋์ด ํ์๋จ(amoritized)
- ๊ท๋ชจ(scale) ๋ฐ ๊ท๋ชจ์ ๊ด๋ จ๋ ๋ฌธ์
- ํ๋์ WSC๋ฅผ ๊ตฌ์ถํ๋ ค๋ฉด 50,000๊ฐ์ ์๋ฒ์ ์ด๋ฅผ ์ง์ํ๋ ์ธํ๋ผ๋ฅผ ๊ตฌ๋งคํด์ผ ํ๋ฉฐ ์ด๋ volume discounts๋ฅผ ์ ๊ณตํจ
- ์ด๋ฌํ ๋๊ท๋ชจ์ ๊ฒฝ์ (economies of scale)๋ ํด๋ผ์ฐ๋ ์ปดํจํ
์ ๋ฐ์ ์ ์ด๋์์
Grid Computing vs Cloud computing
Interconnection Networks
๐จ์๋ฆฌ ์๊ธฐ
- ๋ณ๋ ฌ ๊ธฐ๊ณ์์ source node์์ ์ํ๋ ๋ชฉ์ ์ง node๋ก ์ ๋ณด๋ฅผ ์ ์กํ๋ ์์คํ
- ๊ธฐ์
- link์ switch๋ก ๊ตฌ์ฑ๋์ด ์์, ์ด๋ฅผ ํตํด ์ถ๋ฐ๋
ธ๋์์ ๋ชฉ์ ์ง ๋
ธ๋๋ก ์ ๋ณด๋ฅผ ์ ์กํจ
- topology์ routing algorithm์ ์ํด ์ ์๋จ
- Arithmetic intensity(์ฐ์ ๊ฐ๋)
- ํ๋ก๊ทธ๋จ์ ๋ถ๋ ์์์ ์ฐ์ฐ(floating-point operations)๊ณผ ์ฃผ ๋ฉ๋ชจ๋ฆฌ์์ ํ๋ก๊ทธ๋จ์ด ์ก์ธ์คํ data bytes์ ๋น์จ

Roofline Diagram(๋ฃจํ๋ผ์ธ ๋ค์ด์ด๊ทธ๋จ)

- (์ถ๊ฐ์ค๋ช
) ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ์๊ฐ์ ์ผ๋ก ํํํ ๋๊ตฌ๋ก, ์ฃผ์ด์ง ์์คํ
๋ด์์ ๊ฐ๋ฅํ ์ต์ ์ฑ๋ฅ์ ํ๊ณ & ์ค์ ์ฑ๋ฅ์ ๋น๊ตํ ์ ์๊ฒ ํจ
- ์ฐ์ ๊ฐ๋(Arithmetic intensity==> floating-point ์ฐ์ฐ ๋๋น ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฑ๋ฅ์ ๋ํ๋ด๊ณ , ์ฑ๋ฅ์ ์ํ์ =๋ฃจํ๋ผ์ธ์ ๋ณด์ฌ์ค
- ์์: ์ต๋ ์ฑ๋ฅ์ ๋ ๊ฐ ์ค ๋ ์์ ๊ฐ์ ์ํด ์ ํ๋๋ฉฐ, ์์คํ
์ ๋ณ๋ชฉ ํ์์ ๋ํ๋ => ํผํฌ ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ด ์ค์ํ๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค๊ฐ ๋ณ๋ชฉ์ ๋ง๋ค๊ณ , ๋ถ๋ ์์์ ์ฑ๋ฅ์ด ์ค์ํ๋ค๋ฉด ์ฐ์ฐ ์ฒ๋ฆฌ ์๋๊ฐ ๋ณ๋ชฉ์ด ๋ ์ ์์
- Peak Memory Bandwidth (Peak Memory BW)
- ์์คํ
์์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์ต๋ ์๋ (์ด๋ก ์ ์ต๋ ์ฑ๋ฅ)
-"Stream": ๋๊ฐ ๋์ฉ๋ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์์
์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ ์ต๋ํํ๋ ์์
- Peak Floating-point Performance (Peak FP Performance)
- ์์คํ
์์ ๋ถ๋์์์ ์ฐ์ฐ(์: ๋ง์
, ๊ณฑ์
๋ฑ)์ ์ต๋ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ์๋ฏธ
- ์์คํ
์ด ์ด๋น ์ํํ ์ ์๋ ์ต๋ ๋ถ๋์์์ ์ฐ์ฐ ์๋ก ๋ณดํต "FLOP" (Floating Point Operations per second) ๋จ์๋ก ์ธก์ ๋จ
=> ๋ฃจํ๋ผ์ธ ๋ค์ด์ด๊ทธ๋จ์์ Peak Memory BW์ Peak Floating-point Performance๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ฑ๋ฅ ํ๊ณ๋ฅผ ๋ํ๋ด๋ฉฐ, ์ด ๊ฐ๋ค์ด ๋ค์ด์ด๊ทธ๋จ์์ ๊ต์ฐจํ๋ ์ง์ ์ด ์์คํ
์ฑ๋ฅ์ ๋ณ๋ชฉ(bottleneck:์์คํ
์ ์ฑ๋ฅ์ ์ ํํ๋ ์ง์ )์ ๋ํ๋
- ๋ฉ๋ชจ๋ฆฌ ๋์ญํญ์ด ๋ถ๋์์์ ์ฑ๋ฅ๋ณด๋ค ๋ฎ๋ค๋ฉด, ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์ํด ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์