์๋
ํ์ธ์ ํ๋ธ๋ฅด์
๋๋ค! ๋น
๋ฐ์ดํฐ์ ๋จธ์ ๋ฌ๋์ ์ํ ๋ฐ์ดํฐ ์ธํธ๋ ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํ๊ณ ์์ผ๋ฉฐ ์ฐ๋ฆฌ๋ ์ด๋ฅผ ๋ฐ๋ผ์ก์์ผ ํฉ๋๋ค. Kingston ๋ถ์ค์์ ์ ๋ณด์ธ ๊ณ ์ฑ๋ฅ ์ปดํจํ
(HPC, High Performance Computing) ๋ถ์ผ์ ๋ ๋ค๋ฅธ ํ์ ์ ์ธ ๊ธฐ์ ์ ๋ํ ๊ฒ์๋ฌผ์
๋๋ค.
GPU ์ฑ๋ฅ์ด ๋ฐ์ดํฐ ๋ก๋ฉ์ ๋ฅ๊ฐํจ
๋ฒ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ GPU ๊ธฐ๋ฐ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ๋ณ๋ ฌ ์ปดํจํ ์ํคํ ์ฒ์ธ CUDA๊ฐ 2007๋ ์ ํ์ํ ์ดํ GPU ์์ฒด์ ํ๋์จ์ด ์ฑ๋ฅ์ ๋๋ผ์ธ ์ ๋๋ก ์ฑ์ฅํ์ต๋๋ค. ์ค๋๋ GPU๋ ๋น ๋ฐ์ดํฐ, ๋จธ์ ๋ฌ๋(ML), ๋ฅ๋ฌ๋(DL)๊ณผ ๊ฐ์ HPC ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ์ ๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.
์ฉ์ด์ ์ ์ฌ์ฑ์๋ ๋ถ๊ตฌํ๊ณ ๋ง์ง๋ง ๋ ๊ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ก ๋ค๋ฅธ ์์ ์ ๋๋ค. ML์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ปดํจํฐ๋ฅผ ํ๋ จ์ํค๋ ๋ฐ๋ฉด, DL์ ์ ๊ฒฝ๋ง์ ํผ๋๋ฐฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ปดํจํฐ๋ฅผ ํ๋ จ์ํต๋๋ค. ์ฐจ์ด์ ์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ ์๋ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. ์ปดํจํฐ๊ฐ ์คํ ๋ฆฌ์ง ์์คํ ์์ ๋ก๋๋ ๊ณ ์์ด ์ฌ์ง๊ณผ ๊ฐ ์ฌ์ง์ ๊ตฌ๋ณํด์ผ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ML์ ๊ฒฝ์ฐ ๊ฐ ํ๊ทธ๊ฐ ๋๋ฌผ์ ํน์ ํน์ง์ ์ ์ํ๋ ์ฌ๋ฌ ํ๊ทธ๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง ์ธํธ๋ฅผ ์ ์ถํด์ผ ํฉ๋๋ค. DL์ ๊ฒฝ์ฐ ํจ์ฌ ๋ ๋ง์ ์์ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๋ฉด ์ถฉ๋ถํ์ง๋ง "์ด๊ฒ์ ๊ณ ์์ด์ ๋๋ค" ๋๋ "์ด๊ฒ์ ๊ฐ์ ๋๋ค"๋ผ๋ ํ๊ทธ ํ๋๋ง ์์ผ๋ฉด ๋ฉ๋๋ค. DL์ ์ด๋ฆฐ ์์ด๋ค์ ๊ฐ๋ฅด์น๋ ๋ฐฉ๋ฒ๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ์ฑ ๊ณผ ์ํ์์ ๋จ์ํ ๊ฐ์ ๊ณ ์์ด์ ์ฌ์ง์ ๋ณด์ฌ์ฃผ๊ณ (๋๋ถ๋ถ ์์ธํ ์ฐจ์ด์ ์ ์ค๋ช ํ์ง ์๊ณ ) ์์ด์ ๋ ์์ฒด๊ฐ ๋๋ฌผ์ ์ ํ์ ๊ฒฐ์ ํ๊ธฐ ์์ํฉ๋๋ค. ๋น๊ต๋ฅผ ์ํ ํน์ ์ค์ํ ์์ ์ฌ์ง(์ถ์ฐ์ ๋ฐ๋ฅด๋ฉด ์ฐ๋ฆฌ๋ ์ ์๊ธฐ ์ ๋ฐ์ ๊ฑธ์ณ ๋จ์ง XNUMX~XNUMX๊ฐ์ ์ผ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค). DL ์๊ณ ๋ฆฌ์ฆ์ ์์ง ์๋ฒฝํ์ง ์์ต๋๋ค. ์ ๊ฒฝ๋ง์ด ์ด๋ฏธ์ง ์๋ณ ์์ ์ ์ฑ๊ณต์ ์ผ๋ก ์ํํ๋ ค๋ฉด ์๋ฐฑ๋ง ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ GPU์ ๊ณต๊ธํ๊ณ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
์๋ฌธ ์์ฝ: GPU๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋น ๋ฐ์ดํฐ, ML, DL ๋ถ์ผ์์ HPC ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ง๋ง ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋๋ฌด ์ปค์ ์คํ ๋ฆฌ์ง ์์คํ ์์ GPU๋ก ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ๋ฐ ์๊ฐ์ด ์์๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ด ์ ํ๋๊ธฐ ์์ํฉ๋๋ค. ์ฆ, ๋น ๋ฅธ GPU๋ ๋ค๋ฅธ ํ์ ์์คํ ์์ ๋์ค๋ ๋๋ฆฐ I/O ๋ฐ์ดํฐ๋ก ์ธํด ํ์ฉ๋๊ฐ ๋ฎ์ ์ํ๋ก ๋จ์ ์์ต๋๋ค. GPU์ I/O ์๋์ CPU/์คํ ๋ฆฌ์ง ์์คํ ์ ๋ํ ๋ฒ์ค์ ์ฐจ์ด๋ ์๋นํ ํด ์ ์์ต๋๋ค.
GPUDirect ์คํ ๋ฆฌ์ง ๊ธฐ์ ์ ์ด๋ป๊ฒ ์๋ํฉ๋๊น?
I/O ํ๋ก์ธ์ค๋ ์ถ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ์คํ ๋ฆฌ์ง์์ GPU๋ก ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ํ๋ก์ธ์ค์ ๋ง์ฐฌ๊ฐ์ง๋ก CPU์ ์ํด ์ ์ด๋ฉ๋๋ค. ์ด๋ก ์ธํด GPU์ NVMe ๋๋ผ์ด๋ธ ๊ฐ์ ์ง์ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ์ฌ ์๋ก ๋น ๋ฅด๊ฒ ํต์ ํ ์ ์๋ ๊ธฐ์ ์ ๋ํ ์์ฒญ์ด ์ด์ด์ก์ต๋๋ค. NVIDIA๋ ์ด๋ฌํ ๊ธฐ์ ์ ์ต์ด๋ก ์ ๊ณตํ์ผ๋ฉฐ ์ด๋ฅผ GPUDirect Storage๋ผ๊ณ ๋ถ๋ ์ต๋๋ค. ์ค์ ๋ก ์ด๋ ์ด์ ์ ๊ฐ๋ฐํ GPUDirect RDMA(์๊ฒฉ ์ง์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์) ๊ธฐ์ ์ ๋ณํ์ ๋๋ค.
NVIDIA์ CEO์ธ Jensen Huang์ SC-19์์ GPUDirect RDMA์ ๋ณํ์ธ GPUDirect ์คํ ๋ฆฌ์ง๋ฅผ ์ ๋ณด์ผ ์์ ์
๋๋ค. ์ถ์ฒ: ์๋น๋์
GPUDirect RDMA์ GPUDirect Storage์ ์ฐจ์ด์ ์ ์ฃผ์ ์ง์ ์ด ์ํ๋๋ ์ฅ์น์ ์์ต๋๋ค. GPUDirect RDMA ๊ธฐ์ ์ ํ๋ฐํธ์๋ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์นด๋(NIC)์ GPU ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ๋๋ก ์ฉ๋๊ฐ ๋ณ๊ฒฝ๋์์ผ๋ฉฐ, GPUDirect ์คํ ๋ฆฌ์ง๋ NVMe ๋๋ NVMe-oF(NVMe over Fabric)์ ๊ฐ์ ๋ก์ปฌ ๋๋ ์๊ฒฉ ์คํ ๋ฆฌ์ง ๊ฐ์ ์ง์ ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค. GPU ๋ฉ๋ชจ๋ฆฌ.
GPUDirect RDMA ๋ฐ GPUDirect ์คํ ๋ฆฌ์ง๋ ๋ชจ๋ CPU ๋ฉ๋ชจ๋ฆฌ์ ๋ฒํผ๋ฅผ ํตํด ๋ถํ์ํ ๋ฐ์ดํฐ ์ด๋์ ๋ฐฉ์งํ๊ณ DMA(์ง์ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค) ๋ฉ์ปค๋์ฆ์ ํตํด ์ค์ CPU์ ๋ถํ๋ฅผ ์ฃผ์ง ์๊ณ ๋คํธ์ํฌ ์นด๋๋ ์คํ ๋ฆฌ์ง์์ GPU ๋ฉ๋ชจ๋ฆฌ๋ก ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. GPUDirect ์คํ ๋ฆฌ์ง์ ๊ฒฝ์ฐ ์คํ ๋ฆฌ์ง ์์น๋ ์ค์ํ์ง ์์ต๋๋ค. GPU ์ฅ์น ๋ด๋ถ, ๋ ๋ด๋ถ ๋๋ NVMe-oF๋ก ๋คํธ์ํฌ๋ฅผ ํตํด ์ฐ๊ฒฐ๋ NVME ๋์คํฌ์ผ ์ ์์ต๋๋ค.
GPUDirect ์คํ ๋ฆฌ์ง์ ์๋ ๋ฐฉ์. ์ถ์ฒ: ์๋น๋์
NVMe ๊ธฐ๋ฐ ํ์ด์๋ ์คํ ๋ฆฌ์ง ์์คํ ์ HPC ์ ํ๋ฆฌ์ผ์ด์ ์์ฅ์์ ์์๊ฐ ๋์ต๋๋ค.
GPUDirect ์คํ ๋ฆฌ์ง์ ์ถํ์ผ๋ก ๋๊ท๋ชจ ๊ณ ๊ฐ์ ๊ด์ฌ์ด GPU์ ์ฒ๋ฆฌ๋์ ์์ํ๋ I/O ์๋๋ฅผ ๊ฐ์ถ ์คํ ๋ฆฌ์ง ์์คํ
์ ๊ณต์ ์ ๋ฆฌ๊ฒ ๋ ๊ฒ์์ ์ธ์ํ Kingston์ SC-19 ์ ์ํ์์ ๋ค์์ผ๋ก ๊ตฌ์ฑ๋ ์์คํ
์ ๋ฐ๋ชจ๋ฅผ ์ ๋ณด์์ต๋๋ค. NVMe ๋์คํฌ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง ์์คํ
๊ณผ ์ด๋น ์์ฒ ์ฅ์ ์์ฑ ์ด๋ฏธ์ง๋ฅผ ๋ถ์ํ๋ GPU ํ์ฌ ์ ๋์
๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ 10๊ฐ์ DC1000M U.2 NVMe ๋๋ผ์ด๋ธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์คํ ๋ฆฌ์ง ์์คํ
์ ๋ํด ์์ฑํ์ต๋๋ค.
10๊ฐ์ DC1000M U.2 NVMe ๋๋ผ์ด๋ธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์คํ ๋ฆฌ์ง ์์คํ
์ ๊ทธ๋ํฝ ๊ฐ์๊ธฐ๋ฅผ ๊ฐ์ถ ์๋ฒ๋ฅผ ์ ์ ํ๊ฒ ๋ณด์ํฉ๋๋ค. ์ถ์ฒ: ํน์คํด
์ด ์คํ ๋ฆฌ์ง ์์คํ ์ 1U ์ด์์ ๋ ์ฅ์น๋ก ์ค๊ณ๋์์ผ๋ฉฐ ๊ฐ๊ฐ 1000~2TB์ ์ฉ๋์ ๊ฐ์ถ DC3.84M U.7.68 NVMe ๋๋ผ์ด๋ธ์ ์์ ๋ฐ๋ผ ํ์ฅ๋ ์ ์์ต๋๋ค. DC1000M์ Kingston์ ๋ฐ์ดํฐ ์ผํฐ ๋๋ผ์ด๋ธ ์ ํ๊ตฐ ์ค U.2 ํผ ํฉํฐ์ ์ต์ด NVMe SSD ๋ชจ๋ธ์ ๋๋ค. ๋ด๊ตฌ์ฑ ๋ฑ๊ธ(DWPD, ์ผ์ผ ๋๋ผ์ด๋ธ ์ฐ๊ธฐ)์ด ์์ด ๋๋ผ์ด๋ธ์ ๋ณด์ฅ๋ ์๋ช ๋์ ํ๋ฃจ์ ํ ๋ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฒด ์ฉ๋๊น์ง ๋ค์ ์ธ ์ ์์ต๋๋ค.
Ubuntu 3.13 LTS ์ด์ ์ฒด์ ์ธ Linux ์ปค๋ 18.04.3-5.0.0-generic์ ๋ํ fio v31 ํ ์คํธ์์ ์ ์ ์คํ ๋ฆฌ์ง ์ํ์ ์ง์ ๊ฐ๋ฅํ ์ฒ๋ฆฌ๋(์ง์ ๋์ญํญ)์ผ๋ก 5.8๋ง IOPS์ ์ฝ๊ธฐ ์๋(์ง์ ์ฝ๊ธฐ)๋ฅผ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ) 23.8Gbit/s์ ๋๋ค.
Kingston์ SSD ๋น์ฆ๋์ค ๊ด๋ฆฌ์์ธ Ariel Perez๋ ์๋ก์ด ์คํ ๋ฆฌ์ง ์์คํ ์ ๋ํด ๋ค์๊ณผ ๊ฐ์ด ๋งํ์ต๋๋ค. โ์ฐ๋ฆฌ๋ ์ ํต์ ์ผ๋ก ์คํ ๋ฆฌ์ง์ ๊ด๋ จ๋ ๋ง์ ๋ฐ์ดํฐ ์ ์ก ๋ณ๋ชฉ ํ์์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ฐจ์ธ๋ ์๋ฒ์ U.2 NVMe SSD ์๋ฃจ์ ์ ์ฅ์ฐฉํ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค. NVMe SSD ๋๋ผ์ด๋ธ์ ํ๋ฆฌ๋ฏธ์ ์๋ฒ ํ๋ฆฌ๋ฏธ์ด DRAM์ ๊ฒฐํฉ์ผ๋ก Kingston์ ์ ๊ณ์์ ๊ฐ์ฅ ํฌ๊ด์ ์ธ ์๋ํฌ์๋ ๋ฐ์ดํฐ ์๋ฃจ์ ์ ๊ณต์ ์ฒด ์ค ํ๋๊ฐ ๋์์ต๋๋ค."
gfio v3.13 ํ
์คํธ์์๋ DC23.8M U.1000 NVMe ๋๋ผ์ด๋ธ์ ๋ฐ๋ชจ ์คํ ๋ฆฌ์ง ์์คํ
์ ๋ํด 2Gbps์ ์ฒ๋ฆฌ๋์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ์ถ์ฒ: ํน์คํด
GPUDirect Storage ๋๋ ์ ์ฌํ ๊ธฐ์ ์ ์ฌ์ฉํ๋ HPC ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ์ผ๋ฐ์ ์ธ ์์คํ ์ ์ด๋ค ๋ชจ์ต์ ๋๊น? ์ด๋ ๋ ๋ด์ ๊ธฐ๋ฅ ์ฅ์น๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๋ฆฌํ ์ํคํ ์ฒ์ ๋๋ค. ์ฆ, RAM์ฉ ์ฅ์น XNUMX~XNUMX๊ฐ, GPU ๋ฐ CPU ์ปดํจํ ๋ ธ๋์ฉ ์ฅ์น ๋ช ๊ฐ, ์คํ ๋ฆฌ์ง ์์คํ ์ฉ ์ฅ์น XNUMX๊ฐ ์ด์์ ๋๋ค.
GPUDirect ์คํ ๋ฆฌ์ง ๋ฐํ์ ๋ค๋ฅธ GPU ๊ณต๊ธ์ ์ฒด์ ์ ์ฌํ ๊ธฐ์ ์ถํ ๊ฐ๋ฅ์ฑ์ผ๋ก ์ธํด ๊ณ ์ฑ๋ฅ ์ปดํจํ ์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋ ์คํ ๋ฆฌ์ง ์์คํ ์ ๋ํ Kingston์ ์์๊ฐ ํ๋๋๊ณ ์์ต๋๋ค. ๋ง์ปค๋ ์คํ ๋ฆฌ์ง ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์๋๋ก, GPU๊ฐ ์๋ ์ปดํจํ ์ฅ์น ์ ๊ตฌ์ 40Gbit ๋๋ 100Gbit ๋คํธ์ํฌ ์นด๋ ์ฒ๋ฆฌ๋๊ณผ ๋น์ทํฉ๋๋ค. ๋ฐ๋ผ์ ํจ๋ธ๋ฆญ์ ํตํ ์ธ๋ถ NVMe๋ฅผ ํฌํจํ ์ด๊ณ ์ ์คํ ๋ฆฌ์ง ์์คํ ์ ์ด์์ ์ธ ๊ฒ์์ HPC ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฃผ๋ฅ๋ก ๋ฐ๋ ๊ฒ์ ๋๋ค. ๊ณผํ ๋ฐ ๊ธ์ต ๊ณ์ฐ ์ธ์๋ ์ด๋น ์๋ฐฑ๋ง HD ์ด๋ฏธ์ง์ ์ธ์ ๋ฐ ์๋ณ ์๋๊ฐ ์๊ตฌ๋๋ Safe City ๋๋์ ์์ค์ ๋ณด์ ์์คํ ์ด๋ ๊ตํต ๊ฐ์ ์ผํฐ์ ๊ฐ์ ๋ค๋ฅธ ๋ง์ ์ค์ ์์ญ์๋ ์์ฉํ ์ ์์ ๊ฒ์ ๋๋ค.โ ์ต๊ณ ์ ์คํ ๋ฆฌ์ง ์์คํ ์ ํ์ ์์ฅ
Kingston ์ ํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com