Habr ์ปค๋ฎค๋ํฐ์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค! ๋๋ ์ต๊ทผ์ ์ฐ๋ฆฌ์ ์ฒซ ๋ฒ์งธ ๋ฒ์ ํด๋ฌ์คํฐ ๋ณด๋์ ๋ํด ๊ธ์ ์ผ์ต๋๋ค. [
์ฐ๋ฆฌ๋ ๋ก์ปฌ ๊ฐ๋ฐ๊ณผ ๋ก์ปฌ ํธ์คํ ๋ชจ๋์ ์ฌ์ฉํ ์ ์๋ ๋ฏธ๋ ์๋ฒ๋ฅผ ์ ํธํฉ๋๋ค. ๋ฐ์คํฌํฑ ์ปดํจํฐ๋ ๋ฉํฑ๊ณผ ๋ฌ๋ฆฌ ์ฐ๋ฆฌ ์๋ฒ๋ ์ฐ์ค๋ฌดํด๋ก ์๋ํ๋๋ก ์ค๊ณ๋์์ผ๋ฉฐ ์ ์ํ๊ฒ ์ฐํฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํด๋ฌ์คํฐ์ 24๊ฐ์ ํ๋ก์ธ์๊ฐ ์๊ณ 7๋ถ ํ์ 4๊ฐ์ ํ๋ก์ธ์(์ถ๊ฐ ๋คํธ์ํฌ ์ฅ๋น ์์)๊ฐ ์๊ณ ์ด ๋ชจ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ํ ํผ ํฉํฐ ์กฐ์ฉํ๊ณ ์๋์ง ํจ์จ์ ์ ๋๋ค.
์ฐ๋ฆฌ ์๋ฒ์ ์ํคํ ์ฒ๋ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์์น์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๋ณด๋์ ์ด๋๋ท ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ปดํจํ ๋ชจ๋(ํ๋ก์ธ์)์ ์ฐ๊ฒฐํ๋ ํด๋ฌ์คํฐ ๋ณด๋๋ฅผ ๋ง๋ญ๋๋ค. ๋จ์ํํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ์์ง ์์ฒด ์ปดํจํ ๋ชจ๋์ ๋ง๋ค์ง ์๊ณ Raspberry Pi Compute Modules๋ฅผ ์ฌ์ฉํ๋ฉฐ ์๋ก์ด CM4 ๋ชจ๋์ ์ ๋ง๋ก ๋ฐ๋์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ๊ฒ์ด ์๋ก์ด ํผ ํฉํฐ๋ก ๊ณํ์ ์ด๊ธ๋๊ณ ๋ง์ ์ฌ๋๋ค์ด ์ค๋งํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ปท ์๋์์ ์ฐ๋ฆฌ๊ฐ V1์์ V2๋ก ์ด๋ป๊ฒ ๊ฐ๊ณ ์๋ก์ด Raspberry Pi CM4 ํผ ํฉํฐ๋ก ์ด๋ป๊ฒ ๋๊ฐ์ผ ํ๋์ง.
๋ฐ๋ผ์ 7๊ฐ ๋
ธ๋์ ๋ํ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ ํ ๋ค์ ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ํ์ ๊ฐ์น๋ฅผ ๋์ด๋ ๋ฐฉ๋ฒ์? 8, 10 ๋๋ 16 ๋
ธ๋? ๋ชจ๋ ์ ์กฐ์ฌ๋? ์ ํ ์ ์ฒด์ ๋ํด ์๊ฐํ๋ฉด์ ์ฌ๊ธฐ์์ ์ค์ํ ๊ฒ์ ๋
ธ๋ ์๋ ์ ์กฐ์
์ฒด๊ฐ ์๋๋ผ ๋น๋ฉ ๋ธ๋ก์ผ๋ก์ ํด๋ฌ์คํฐ์ ๋ณธ์ง์ด๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ต์ํ์ ๋น๋ฉ ๋ธ๋ก์ ์ฐพ์์ผ ํฉ๋๋ค.
์ฒซ ๋ฒ์งธ, ํด๋ฌ์คํฐ๊ฐ ๋๋ฉฐ ๋์์ ๋์คํฌ์ ํ์ฅ ๋ณด๋๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ ๋ธ๋ก์ ์๊ธ์์กฑํ ์ ์๋ ๊ธฐ๋ณธ ๋ ธ๋์ฌ์ผ ํ๋ฉฐ ๋ค์ํ ํ์ฅ ์ต์ ์ด ์์ด์ผ ํฉ๋๋ค.
์ด, ๋ ํฐ ํฌ๊ธฐ์ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ์ฌ ์ต์ ํด๋ฌ์คํฐ ๋ธ๋ก์ด ์๋ก ์ฐ๊ฒฐ๋ ์ ์๋๋ก ํ์ฌ ์์ฐ ๋ฐ ์ค์ผ์ผ๋ง ์๋ ์ธก๋ฉด์์ ํจ์จ์ ์ ๋๋ค. ์ค์ผ์ผ๋ง ์๋๋ ์ผ๋ฐ ์ปดํจํฐ๋ฅผ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ๋ ๊ฒ๋ณด๋ค ๋น ๋ฅด๊ณ ์๋ฒ ํ๋์จ์ด๋ณด๋ค ํจ์ฌ ์ ๋ ดํด์ผ ํฉ๋๋ค.
์ธ ๋ฒ์งธ, ์ต์ ํด๋ฌ์คํฐ ๋จ์๋ ์ถฉ๋ถํ ์๊ณ ์ด๋์ด ๊ฐ๋ฅํ๋ฉฐ ์๋์ง ํจ์จ์ ์ด๊ณ ๋น์ฉ ํจ์จ์ ์ด์ด์ผ ํ๋ฉฐ ์๋ ์กฐ๊ฑด์ ์๊ตฌํ์ง ์์์ผ ํฉ๋๋ค. ์ด๊ฒ์ ์๋ฒ ๋ ๋ฐ ์ด์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๊ฒ๊ณผ์ ์ฃผ์ ์ฐจ์ด์ ์ค ํ๋์ ๋๋ค.
์ฐ๋ฆฌ๋ ๋ ธ๋ ์๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ผ๋ก ์์ํ์ต๋๋ค.
๋ ธ๋ ์
๋จ์ํ ๋ ผ๋ฆฌ์ ํ๋จ์ผ๋ก ์ฐ๋ฆฌ๋ 4๊ฐ์ ๋ ธ๋๊ฐ ์ต์ ํด๋ฌ์คํฐ ๋ธ๋ก์ ๋ํ ์ต์ ์ ์ ํ์ด๋ผ๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๋ ธ๋ 1๊ฐ๋ ํด๋ฌ์คํฐ๊ฐ ์๋๋ฉฐ, ๋ ธ๋ 2๊ฐ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค(๋ง์คํฐ 1๊ฐ, ์์ ์ 1๊ฐ, ๋ธ๋ก ๋ด์์ ํ์ฅ ๊ฐ๋ฅ์ฑ ์์, ํนํ ์ด๊ธฐ์ข ์ต์ ์ ๊ฒฝ์ฐ). ๋ ธ๋ 3๊ฐ๋ ๊ด์ฐฎ์ ๋ณด์ด์ง๋ง 2์ ๊ฑฐ๋ญ์ ๊ณฑ์ด ์๋๊ณ ๋ด์์ ํ์ฅ ๋ธ๋ก์ ์ ํ๋์ด ์๊ณ 6๊ฐ ๋ ธ๋๋ ๊ฑฐ์ 7๊ฐ ๋ ธ๋์ ๊ฐ์ ๊ฐ๊ฒฉ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค(๊ฒฝํ์ ์ด๊ฒ์ ์ด๋ฏธ ํฐ ๋น์ฉ ๊ฐ๊ฒฉ์ ๋๋ค). 8๊ฐ๋ ๋ง๊ณ ๋ฏธ๋ ITX ํผ ํฉํฐ์ ํจ์ฌ ๋ ๋น์ผ PoC ์๋ฃจ์ ์ ๋ง์ง ์์ต๋๋ค.
๋ธ๋ก๋น XNUMX๊ฐ์ ๋ ธ๋๋ ํฉ๊ธ๋ฅ ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
- ํด๋ฌ์คํฐ ๋ณด๋๋น ์ฌ๋ฃ๊ฐ ์ ๊ธฐ ๋๋ฌธ์ ์ ์กฐ ๋น์ฉ์ด ์ ๋ ดํฉ๋๋ค.
- 4์ ๋ฐฐ์, ์ด 4๊ฐ์ ๋ธ๋ก์ 16๊ฐ์ ๋ฌผ๋ฆฌ์ ํ๋ก์ธ์ ์ ๊ณต
- ์์ ์ ์ธ ํ๋ก 1 ๋ง์คํฐ ๋ฐ 3 ์์ ์
- ๋ ๋ง์ ์ด๊ธฐ์ข ๋ณํ, ์ผ๋ฐ ์ปดํจํ + ๊ฐ์ ์ปดํจํ ๋ชจ๋
- SSD ๋๋ผ์ด๋ธ ๋ฐ ํ์ฅ ์นด๋๊ฐ ํฌํจ๋ mini ITX ํผ ํฉํฐ
์ปดํจํ ๋ชจ๋
๋ ๋ฒ์งธ ๋ฒ์ ์ CM4 ๊ธฐ๋ฐ์ผ๋ก SODIMM ํผ ํฉํฐ๋ก ์ถ์๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ํ์ง๋งโฆ
์ฐ๋ฆฌ๋ ์ฌ์ฉ์๊ฐ CM4์ ๋ํด ์๊ฐํ ํ์๊ฐ ์๋๋ก SODIMM ๋ํฐ๋ณด๋๋ฅผ ๋ง๋ค๊ณ CM4๋ฅผ ๋ชจ๋์ ์ง์ ์กฐ๋ฆฝํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
Raspberry Pi CM4๋ฅผ ์ง์ํ๋ Turing Pi ์ปดํจํ
๋ชจ๋
์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋์ ์ฐพ๊ธฐ ์ํด 128MB RAM์์ 8GB RAM์ ์์ ๋ชจ๋์์ ์ ์ฒด ์ปดํจํ
๋ชจ๋ ์์ฅ์ด ์ด๋ ธ์ต๋๋ค. 16GB RAM ์ด์์ ๋ชจ๋์ด ์์ ์์ต๋๋ค. ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์์ง ์ ํ๋ฆฌ์ผ์ด์
ํธ์คํ
์ ๊ฒฝ์ฐ 1GB RAM์ผ๋ก๋ ์ด๋ฏธ ์ถฉ๋ถํ์ง ์์ผ๋ฉฐ ์ต๊ทผ 2GB, 4GB, ์ฌ์ง์ด 8GB RAM์ฉ ๋ชจ๋์ด ๋ฑ์ฅํ๋ฉด์ ์ฑ์ฅ์ ์ฌ์ง๊ฐ ์ถฉ๋ถํฉ๋๋ค. ๊ทธ๋ค์ ๊ธฐ๊ณ ํ์ต ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํ FPGA ๋ชจ๋ ์ต์
๋ ๊ณ ๋ คํ์ง๋ง ์ํํธ์จ์ด ์ํ๊ณ๊ฐ ๊ฐ๋ฐ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ง์์ด ์ง์ฐ๋์์ต๋๋ค. ๋ชจ๋ ์์ฅ์ ์ฐ๊ตฌํ๋ฉด์ ๋ชจ๋์ ๋ํ ๋ฒ์ฉ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋๋ ์์ด๋์ด๋ฅผ ์๊ฐํด ๋๊ณ V2์์๋ ์ปดํจํ
๋ชจ๋์ ์ธํฐํ์ด์ค๋ฅผ ํตํฉํ๊ธฐ ์์ํ์ต๋๋ค. ์ด๋ฅผ ํตํด V2 ๋ฒ์ ์์ ์๋ ๋ค๋ฅธ ์ ์กฐ์
์ฒด์ ๋ชจ๋์ ์ฐ๊ฒฐํ๊ณ ํน์ ์์
์ ์ํด ํผํฉํ ์ ์์ต๋๋ค.
V2๋ Lite ๋ฒ์ ๋ฐ 4GB RAM ๋ชจ๋์ ํฌํจํ์ฌ ์ ์ฒด Raspberry Pi 4 Compute Module(CM8) ๋ผ์ธ์ ์ง์ํฉ๋๋ค.
์ฃผ์
๋ชจ๋ ๊ณต๊ธ์ ์ฒด์ ๋ ธ๋ ์๋ฅผ ๊ฒฐ์ ํ ํ ์ฃผ๋ณ ์ฅ์น๊ฐ ์๋ PCI ๋ฒ์ค์ ์ ๊ทผํ์ต๋๋ค. PCI ๋ฒ์ค๋ ์ฃผ๋ณ ์ฅ์น์ ํ์ค์ด๋ฉฐ ๊ฑฐ์ ๋ชจ๋ ์ปดํจํ ๋ชจ๋์์ ๋ณผ ์ ์์ต๋๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ ธ๋๊ฐ ์๊ณ ์ด์์ ์ผ๋ก๋ ๊ฐ ๋ ธ๋๊ฐ ๋์ ์์ฒญ ๋ชจ๋์์ PCI ์ฅ์น๋ฅผ ๊ณต์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฒ์ค์ ์ฐ๊ฒฐ๋ ๋์คํฌ์ธ ๊ฒฝ์ฐ ๋ชจ๋ ๋ ธ๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์ค ํธ์คํธ๋ฅผ ์ง์ํ๋ PCI ์ค์์น๋ฅผ ์ฐพ๊ธฐ ์์ํ๊ณ ๊ทธ ์ค ์ด๋ ๊ฒ๋ ์ฐ๋ฆฌ์ ์๊ตฌ ์ฌํญ์ ๋ง์ง ์๋๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ ์๋ฃจ์ ์ ๋๋ถ๋ถ 1๊ฐ์ ํธ์คํธ ๋๋ ๋ค์ค ํธ์คํธ๋ก ์ ํ๋์์ง๋ง ์๋ํฌ์ธํธ์ ๋ํ ๋์ ์์ฒญ ๋ชจ๋๋ ์์์ต๋๋ค. ๋ ๋ฒ์งธ ๋ฌธ์ ๋ ์นฉ๋น $50 ์ด์์ ๋์ ๋น์ฉ์ ๋๋ค. V2์์ ์ฐ๋ฆฌ๋ PCI ์ค์์น์ ๋ํ ์คํ์ ์ฐ๊ธฐํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ (๋์ค์ ๊ฐ๋ฐํ ๋ ๋ค์ ๋ค๋ฃฐ ์์ ์) ๊ฐ ๋ ธ๋์ ์ญํ ์ ํ ๋นํ๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ๊ฐ์ต๋๋ค. ์ฒ์ ๋ ๋ ธ๋๋ ๋ ธ๋๋น ๋ฏธ๋ PCI ์ต์คํ๋ ์ค ํฌํธ๋ฅผ ๋ ธ์ถํ๊ณ ์ธ ๋ฒ์งธ ๋ ธ๋๋ ๋ ธ์ถ ๋ ธ์ถ๋ 2ํฌํธ 6Gbps SATA ์ปจํธ๋กค๋ฌ . ๋ค๋ฅธ ๋ ธ๋์์ ๋์คํฌ์ ์ก์ธ์คํ๋ ค๋ฉด ํด๋ฌ์คํฐ ๋ด์ ๋คํธ์ํฌ ํ์ผ ์์คํ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ์ ๋ผ?
๋ชฐ๋ ์ฟ๋ณด๊ธฐ
์ฐ๋ฆฌ๋ ํ ๋ก ๊ณผ ์ฑ์ฐฐ์ ํตํด ์ต์ ํด๋ฌ์คํฐ ๋ธ๋ก์ด ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ด๋ป๊ฒ ์งํํ๋์ง์ ๋ํ ๋ช ๊ฐ์ง ์ค์ผ์น๋ฅผ ๊ณต์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๊ทธ ๊ฒฐ๊ณผ 4๊ฐ์ 260ํ ๋
ธ๋, 2๊ฐ์ ๋ฏธ๋ PCIe(Gen 2) ํฌํธ, 2๊ฐ์ SATA(Gen 3) ํฌํธ๊ฐ ์๋ ํด๋ฌ์คํฐ ์ฅ์น์ ๋๋ฌํ์ต๋๋ค. ์ด ๋ณด๋์๋ VLAN์ ์ง์ํ๋ Layer-2 ๊ด๋ฆฌํ ์ค์์น๊ฐ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๋
ธ๋์์ ๋ฏธ๋ PCIe ํฌํธ๊ฐ ์ ๊ฑฐ๋์ด ๋คํธ์ํฌ ์นด๋๋ฅผ ์ค์นํ๊ณ ๋ค๋ฅธ ์ด๋๋ท ํฌํธ ๋๋ 5G ๋ชจ๋์ ๊ฐ์ ธ์ค๊ณ ์ฒซ ๋ฒ์งธ ๋
ธ๋์์ ํด๋ฌ์คํฐ ๋ฐ ์ด๋๋ท ํฌํธ์ ๋คํธ์ํฌ์ฉ ๋ผ์ฐํฐ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
ํด๋ฌ์คํฐ ๋ฒ์ค์๋ ์๋ ์ ์ด ๊ธฐ๋ฅ์ด ์๋ ๊ฐ ๋
ธ๋์ FAN ์ปค๋ฅํฐ์ ๋ชจ๋ ์ฌ๋กฏ์ ํตํด ๋ชจ๋์ ์ง์ ํ๋์ํ๋ ๊ธฐ๋ฅ์ ํฌํจํ์ฌ ๋ ๋ง์ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
์ ์ฒญ
์์ฒด ํธ์คํ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋น์ค๋ฅผ ์ํ ์์ง ์ธํ๋ผ
์ฐ๋ฆฌ๋ V2๋ฅผ ์๋น์/์์
์ฉ ์์ง ์ธํ๋ผ๋ฅผ ์ํ ์ต์ ๋น๋ฉ ๋ธ๋ก์ผ๋ก ์ค๊ณํ์ต๋๋ค. V2๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋
์ฆ๋ช
์ ์์ํ๊ณ ์ฑ์ฅ์ ๋ฐ๋ผ ํ์ฅํ์ฌ ๋น์ฉ ํจ์จ์ ์ด๊ณ ์ค์ฉ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ง์์ ํธ์คํ
ํ๋ ๋ฐ ์ ์ง์ ์ผ๋ก ํฌํ
ํ๋ ๊ฒ์ด ์ ๋ ดํฉ๋๋ค. ํด๋ฌ์คํฐ ๋ธ๋ก์ ํจ๊ป ์ฐ๊ฒฐํ์ฌ ๋ ํฐ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ด๋ ๊ธฐ์กด์ ํฐ ์ํ ์์ด ์ ์ง์ ์ผ๋ก ์ํํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์ค. ์ค๋๋ ์ด๋ฏธ ์๋ง์ ๋น์ฆ๋์ค์ฉ ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ต๋๋ค.
ARM ์ํฌ์คํ ์ด์
ํด๋ฌ์คํฐ๋น ์ต๋ 32GB RAM์ ๊ฐ์ถ ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ OS์ ๋ฐ์คํฌํฑ ๋ฒ์ (์: Ubuntu Desktop 20.04 LTS)์ ์ฌ์ฉํ ์ ์๊ณ ๋๋จธ์ง 3๊ฐ ๋ ธ๋๋ ์ปดํ์ผ, ํ ์คํธ ๋ฐ ๋๋ฒ๊น ์์ , ARM์ฉ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์๋ฃจ์ ๊ฐ๋ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ. ์ ํ์ ARM ์์ง ์ธํ๋ผ์์ CI/CD์ฉ ๋ ธ๋๋ก.
CM2 ๋ชจ๋์ด ํฌํจ๋ Turing V4 ํด๋ฌ์คํฐ๋ ๊ตฌ์กฐ์ ์ผ๋ก AWS Graviton ์ธ์คํด์ค ๊ธฐ๋ฐ ํด๋ฌ์คํฐ์ ๊ฑฐ์ ๋์ผํฉ๋๋ค(ARMv8 ๋ง์ด๋ ๋ฒ์ ์ ์ฐจ์ด์ ). CM4 ๋ชจ๋ ํ๋ก์ธ์๋ ARMv8 ์ํคํ
์ฒ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก x1 ์ธ์คํด์ค๋ณด๋ค ํจ์ฌ ์ ๋ ดํ ๊ฒ์ผ๋ก ์๋ ค์ง AWS Graviton 2 ๋ฐ 86 ์ธ์คํด์ค์ฉ ์ด๋ฏธ์ง ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com