๊ฝ๊ฒ(๋ฆฌ์ผํ ) ๋์ CPU ์ฌ์ฉ๋์ด ๋ง๊ณ ํ(๋ ์ดํด์)์ด ๋๋ค, ์ธํ ๋์ด CPU ์ฌ์ฉ๋์ด ์ ๊ณ ํ์ด ๋ฎ๋ค.
์ด ๋ง์ ์ ๋์์๊น?
๋์นด๋๋ผ๋๊ฑด ์ฌ์ค ์ผ๋ฐ ์๋น์๊ฐ ์ฐ๋ ๋ฒ์๋ก๋ง ์ขํ๋ณด๋ฉด (์ฆ ๊ต์ฅํ ์ข๊ฒ๋ณด๋ฉด), ๊ทธ๋ฅ CPU๊ฐ ์ด ํจํท๋ค์ DMA๋ก ๊ธ์ด๊ฐ์ ์๋ (๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ฐ๋ ๊ณผ์ ๋ ํ๋) ์ฅ์น์ ๋ถ๊ณผํ๋ค. - ์ฌ๊ธฐ์ ์๊ณ ๋ฐ๋ ๊ทธ ๋ถ๋ถ๋ง ๋๊ณ ๋งํ๋๊ฒ PHY, DMA์ ๋ง ๋ฒํผ๋ฅผ ๋ค๋ฃจ๋ ๋ถ๋ถ์ด MAC์ ํด๋นํ๋ค.
์ด๊ฑด ๊ทผ๋ณธ์ ์ผ๋ก ๊ฝ๊ฒ๋์ด๋ ํฌ๋ฌ๋์ด๋ ์ธํ ๋์ด๋ ๋ง๋ฒจ/Aquantia, ๋ธ๋ก๋์ปด์ด๋ ๋ค ๋๊ฐ๋ค.
์ฌ๊ธฐ์ PHY์ ๋์ ์๋๋ก ๊ฒฐ์ ๋๋ ๋งํฌ ์คํผ๋๋ ๋ฑํ ์๋ฅผ ์ค๋ช ํด ์ฃผ์ง ์๋๋ค. ๋ณด๋ ๋ด์ฅ ๊ฝ๊ฒ๋์ด๋ ์ธํ ๋์ด๋ ์๋๋ ๋น์ท๋น์ท ํ๊ณ ์คํ๋ ค ๊ฝ๊ฒ๋ ์ต๊ทผ 5G/10G PHY+MAC ๋ ๋์๋ค.
์ฌ๊ธฐ์ ์๋น์ํํ ๋ ์ํฅ์ ๋ผ์น๋ ์ธ๋ถ ์ฌํญ๋ค์ด ๋์จ๋ค. ๋ง ๋ฒํผ์ ํฌ๊ธฐ ์์ฒด, ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ง ๋ฒํผ์ ๊ฐฏ์ (Multi-queue ring channel), ๊ทธ๋ฆฌ๊ณ ์ฒดํฌ์ฌ (ํจํท์ด ๋ฐ๋ฅด๊ฒ ์๋์ง ๊ฒ์ฌํ ๋ ์ฐ์ด๋ ๊ฐ) ์ฒดํฌ ๊ณผ์ ๊ณผ ์ ์ก/์์ ๊ณผ์ ์์ ํจํท ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ packet segmentation/aggregation ์ ์คํ๋ก๋ฉ (= CPU ๋์ NIC ๊ฐ์ ์ฅ์น ์ธก์ด ์ฒ๋ฆฌ๋ฅผ ๋์ ๋งก๋) ์ด ๋ฑ์ฅํ๋ค.
๊ทผ๋ฐ ์ฌ์ค ๊ฝ๊ฒ๋๋ ์ด ๋ชจ๋ ๊ธฐ๋ฅ์ ์ธํ ๊ณผ ๋๋ฑํ๊ฒ ์ง์ํ๋ค.
์ ํํ ๋งํ๋ฉด, ๊ฝ๊ฒ๋์ ๋ง๋ฒํผ๊ฐ ์ข ์ ์๊ณ , ์ธํ ๋ณด๋ค ๋ฉํฐํ ์ฌ์ด์ฆ๊ฐ ์ข ์์์ผ๋ฉฐ, ์ฒดํฌ์ฌ ์คํ๋ก๋ฉ ๋ฐ LSO/LRO ํ๋์จ์ด/ํ์จ์ด/๋๋ผ์ด๋ฒ ๊ตฌํ์ด ๊ทธ๋ฅ ์ธํ ์ ๋ชป๋ฐ๋ผ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
ํ์ง๋ง, (๋๋ ์์ฐ์ง๋ง) ์ธํฐ๋ท์์ ์์ฆ ๋ฆฌ์ผํ ์ ํ NIC๊ณผ ๋๋ผ์ด๋ฒ๊ฐ ์ธํ ๊ณผ ๋ณ ์ฐจ์ด๊ฐ ์๊ฑฐ๋ ๋ ๋ซ๋ค๋ ๋ง๋ ๋ง์ด ๋ณด์ธ๋ค.
๊ท์ฐฎ์์ ์ด ์ฏค ์์ฝํ๋ฉด:
1. ์๋ ์๋ ๋์นด๋ ๋ฐ์ง ๋ง ํ๋ค. (CPU ์ฌ์ฉ๋์ด๋ ์ ์ก ์ง์ฐ ๋๋ ํจํท ๋๋ฝ์ ์ค์ ๋ก ์ํฅ์ ๋ผ์น ์ ์์๋ค)
2. ์ง๊ธ์ 10G ๊ธ์์๋ ์๋น์๊ฐ ๋ฐ์ง๋ ๋ถ๋ถ์ ๊ฝ๊ฒ๋ aquantia๋ ์ธํ ์ด๋ ๊ทธ ์ด์์ ๊ฒ๋ค์ด๋ ๋น์ทํ๋ค.
๊ทธ๋์ ์ธํ ๊ฑฐ๊ฐ ๋ ์ข์๋ฐ ์ ํฌํค ์ํ ์ต์คํธ๋ฆผ์ ๋ฆฌ์ผํ ๊ฒ ๋ฌ๋ ค์์
์ธ๋๊น
์๊ฐ์ ๊ฐ์ํด์ผ์ง...
๋๋ค ์ฐ๋์ค์ธ๋ฐ ๊ฑ ๋๊ฐ์
๊ต์๋ ์ง๋๊ฐ ๋นจ๋ผ์
์์ ์ ์ธํ ์ด ํ์คํ CPU ๋ ๋จน์๋๋ฐ, ์ง๊ธ์ ๊ฑ ๋น์ทํ๋ฏ