ํฐ์คํ ๋ฆฌ ๋ทฐ
์ด๋๋ง 26๋ ์ด ์์๋ ์ง ํ ๋ฌ์ด๋ผ๋ ์๊ฐ์ด ์ง๋๊ฐ๋ค. 25๋ ์๋ ํ๋ ์ ๋ฌด๋ฅผ ๊ณ์ ์ด์ด์ ํ ์ ์์๊ณ ์ข์ ์ /ํ๋ฐฐ๋ถ๋ค๊ณผ ํจ๊ป ์ค๋๋ ์ด์ฌํ ์ผ์ ํ๊ณ ์๋ค. ๋ ๋ฆ์ด์ง๋ฉด ํฌ์คํ ํ๊ธฐ ์ซ๋ค๊ณ ๋ฏธ๋ฃจ์ด๋๋ค๊ฐ ์ ๋ง ์ ์ฐ๊ฒ ๋ ๊ฒ ๊ฐ์์ ํ ํ์ด์ง ์จ๋ณด๊ณ ์ ํ๋ค.
์ฃผ๋ ์ ๋ฌด ์ธ์ ์ถ๊ฐ์ ์ธ ์ ๋ฌด๋ฅผ ์งํํ๊ฑฐ๋ ์ด์ฉ ์ ์์ด ํด์ผํ๋ ์ผ๋ค์ ์ง๋ฉดํ๋ฉด ๋๊ฐ์ ์๊ฐ์ ์ฐ๋๋ผ๋ ๋ค์์ ๋์ผํ ์ผ์ ํ ๋ ๋ณด๋ค ํจ์จํ๋๋ ๊ด์ ์ผ๋ก ์ ๋ฌด์ ์ ๊ทผํ๊ณ ์ ํ๋ค. ํ๋ฒ ์์ํ๋ฉด ๋์ ๋ด์ผ ํ๋ ์ง๋ ์ด ์ ๋ฌด์ ๋ง์ด ๋์์ด ๋๊ธฐ๋ ํ๊ณ ๋ง์ ๊ฒ์ ๋ฐฐ์ฐ๋๋ฐ ๊ธฐ๋ฐ์ด ๋์๋ค.
๋ค์ํ ๊ด์ ์ ์ ํ์ ๋ํ ์ดํด
ํ์ฌ ๋ด์์๋ง ์๋ค๋ณด๋ฉด ๋ง๋๋ ์ ํ์ ๋ํ ๊ณ ๊ฐ์ ์๊ตฌ๊ฐ ์ด์ํ๊ฒ ๋๊ปด์ง ๋๊ฐ ๋ง๋ค. NVMe SSD์ ๊ฒฝ์ฐ 10๋ ์ ๊ณผ ๋น๊ตํ๊ฒ ๋๋ค๋ฉด ์ฉ๋ ๋๋น ๊ฐ๊ฒฉ๋ ๋ฎ์์ก์ ๋ฟ ์๋๋ผ ์ฑ๋ฅ๋ ์๋นํ ์ฆ๊ฐํ์๋ค. ์ด์ ๊ณ ๊ฐ๋ค์ด ์๊ตฌํ๋ ์กฐ๊ฑด์ด๋ NVMe Spec์ด ๋ค์ํ๊ฒ ๋ณํ๋๊ณ ์๋ค. ์ด์ `์ด๋ค ๋ฐฉ์์ผ๋ก NVMe SSD๋ฅผ ์ฌ์ฉํ๊ธฐ์ ์ ๋ฐ ๊ธฐ๋ฅ๋ค์ด ํ์ํ ๊น?`, `์ด๋ค Workload๊ฐ ์์๊น?`ํ๋ ๋ค์ํ ๊ณ ๋ฏผ์ ํด๋ณด๊ธฐ ์์ํ๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ ๋ค์ํ ๊ด์ ์์ ์ ํ์ ๋ฐ๋ผ๋ณด๊ฒ ๋์๊ณ ์ฌ์ ํ ํฅ๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์ ๋ฌด๋ฅผ ์งํํ๊ณ ์๋ค.
๋น ๋ฅด๊ฒ ๋ณํํ๋ ์ฐ์ ์ ๋ํ๋ ๋ฐฉ๋ฒ
Nvidia๊ฐ AI Server ๊ณต๊ธ์ ์ ๋์ ๋์๊ฒ ๋๋ฉด์ ์ ๋ก ์๋ ํ์์ด ๋ฐ์ํ๊ณ ์๋ค. DRAM, SSD ๊ฐ๊ฒฉ์ด ์์นํ๊ณ ์๊ณ ์ ๋ฌด์์๋ ๋ณํํ๋ ์์ฅ ํธ๋ ๋์ ๋ง๊ฒ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ณ ํ๋จํ์ฌ์ผ ํ๋ ๋ถ๋ถ์ด ์๊ฒผ๋ค. ์ด๋ฅผ ๋ถ๋ง์ ๊ฐ์ง๊ณ ๋ฐ๋ผ๋ณด๊ฒ ๋๋ค๋ฉด, ์ ๋ฌด๋ฅผ ์งํํ๋ ํจ์จ์ด ๋จ์ด์ง๊ฒ ๋ ๊ฒ์ด๋ค. ์ด์ AI์ ๋ํ ์ ๋ฐ์ ์ธ ์ง์์ ํ์ฅํ๊ณ ์ค์ ์ฌ์ฉ ๊ฒฝํ์ ๋ํ๋ฉด์ `์ ์ดํ ๋ก ์์ฅ์์ AI Server ํ๋ณด์ ๋ชฉ์จ์ ๊ฑธ๊น?`๋ฅผ ์ง์ ์ ์ผ๋ก ์ฒดํํ๊ธฐ๋ ํ๋ค. ๋ํ NVMe SSD์ AI Workload๊ฐ ๋ฏธ์น๋ ์ํฅ์ ํ๋จํ๊ธฐ ์ํด ๋ค์ํ ์ํฌ๋ก๋๋ฅผ eBPF๋ก Trace ํ์ฌ Synthetic Workload๋ก ๋ง๋ค๊ธฐ๋ ํด ๋ณด์๋ค.
Kernel I/O Stack์ ๋ํ ํ์ฅ
๊ณผ๊ฑฐ์๋ Multi-Queue Block Layer์ ๋ํ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก ์๊ฐ์ด ๋ฉ์ถฐ์์๋ค. ์ ๋ฌด ์งํ์ ์ํด Kernel์ ๊ณต๋ถํ๋ฉด์ ๋ค์๊ณผ ๊ฐ์ ์ญ๋์ ์๊ฒ ๋์๋ค.
- NVMe SSD Driver์ Code-Level์ ๋ํ ์ ๋ฐ์ ์ธ ์ดํด
- PCIe Prove - NVMe SSD์ PCIe remove - NVMe SSD์ ๋ํ ์ดํด
- 1, 2๋ฅผ ๋ฐํ์ผ๋ก ํ์ํ ๋ถ๋ถ์ ๋ํ Custom ์งํ
- eBPF๋ฅผ ํตํ Debugging ๋ฐ I/O Trace
๋จ์ํ ์ ๋ฌด๋ฅผ ์งํํ๋ค๋ฉด ์ฌ๊ธฐ๊น์ง ๋๋ฌํ์ง ๋ชปํ์๊ฒ ์ง๋ง ๊ด์ฌ ์๋ ๋ถ์ผ์ด๊ธฐ์ ์ง์์ ์ผ๋ก ๊ณต๋ถํ๊ณ ์์๊ฐ๋ค ๋ณด๋ NVMe SSD Driver๋ฅผ Custom ํ ์ ์๋ ๊ธฐ๋ฐ์ ๋ง๋ จํ๊ฒ ๋ ๊ฒ ๊ฐ๋ค.
๋คํธ์ํฌ์ ๋ค์ํ ํ๋ก๊ทธ๋จ ์ธ์ด์ ๋ํ ํฅ๋ฏธ
๋คํธ์ํฌ๋ ๋ฐ์ง๊ณ ๋ณด๋ฉด I/O๋ผ๋ ๊ด์ ์์ ๋คํธ์ํฌ๋ ๋ง์ ํฅ๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ ๋ฌด๋ฅผ ํ๋ค๊ฐ ์๊ฐ์ ๋จ์ ๋๋ฉด ๋คํธ์ํฌ ์ง์์ด ๋ถ์กฑํ์ฌ ํจ์จํ๋์ง ๋ชปํ๋ ๋ถ๋ถ์ ๊ฐ์ ํ๊ณ , ์ด๋ฅผ ๋ฐ์ํ์ฌ ๋ค์ํ ์ ํธ๋ฆฌํฐ๋ฅผ ๋ง๋ค๊ธฐ๋ ํ์๋ค. ์ฌ์ฉํ๋ ์ธ์ด๋ ์ฃผ๋ก C/C++, Python์ด์ง๋ง Frontend, Backend๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด์๋ go, js ๋ฑ ๋ค์ํ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉฐ ์ฝ๋ฉ์ ์งํํ๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ ๋ฌด์ ๋ํ ํฅ๋ฏธ๊ฐ ๋จ์ด์ง๋ฉด ์ ๋ฌด ํจ์จํ์ ๋์์ด ๋๋ ๋ค๋ฅธ ๊ฐ๋ฐ์ ๋ณํํ๋ฉด์ ํ์ฌ๋ฅผ ๋ณด๋ค ์ฌ๋ฐ๊ฒ ๋ค๋ ์ ์๋ ๊ณ๊ธฐ๊ฐ ๋๊ธฐ๋ ํ ๊ฒ ๊ฐ๋ค.
๊ธ์ ๋ง์น๋ฉฐ
์ด์ ๋ 7๋ ์ฐจ ์์ง๋์ด๋ก์จ ์ ๋ฌด๋ฅผ ์งํํ๊ณ ์ด๋๋ง ์ง๊ธ์๊ธฐ๋ ๊ฐ๊น์์ก๋ค. ํ์ฌ๋ฅผ ์ด์ฌํ ๋ค๋๋ค๋ณด๋ ์ ๋ฌด์ ๋ํ ๋๋ ค์์ด๋ ๋ง์ฐํจ์ ์ด๋ ๋ง ์ฌ๋ผ์ง ์ง ์ค๋์ธ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ณด๋ค๋ ํ์ฌ์ ์ ๋ฌด๋ฅผ ์ด๋ป๊ฒ ์ ํด๋ด๊ณ ์กฐ๊ธ ์ฌ์ ๊ฐ ์์ ๋ ๋์ ์ฑ์ฅ๋ ์ด๋์ด ๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์์๊น ํญ์ ๊ณ ๋ฏผํ๋ฉด์ ํ๋ฃจํ๋ฃจ๋ฅผ ๋ณด๋ด๊ณ ์๋ค. ์ฌํด๋ ๋ค์ํ ์ ๋ฌด์์ ์ง๋ ์ ๊ฐ์ง๊ณ ์ต์ ์ ๋คํ๋ค ๋ณด๋ฉด ์ข์ ๊ฒฐ๊ณผ๊ฐ ์์ง ์์๊น ๊ธฐ๋ํด ๋ณธ๋ค.
'๐ Samsung' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Samsung: ์ ์ฌ 3์ฃผ๋ ๊ณผ ์ ๋ ์ ๋ง์ดํ๋ฉฐ (0) | 2025.01.11 |
|---|---|
| Samsung: ์ ์ฌ 2์ฃผ๋ ์ ๋ง์ดํ๋ฉฐ (6) | 2023.10.22 |
| Samsung: ์ ์ฌ 1์ฃผ๋ ์ ๋ง์ดํ๋ฉฐ (0) | 2022.09.21 |
| Samsung: ์๋ฐ๊ธฐ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ฉฐ (0) | 2022.06.30 |
| Samsung: SW certi. Pro ํฉ๊ฒฉํ๊ธฐ (6) | 2022.03.24 |