[2026-02-09] FitNets
๐ฆฅ ๋ณธ๋ฌธ
Motivation
- ํธ๋ํฝ ๋ถํฌ ์ ๋ณด์ ์ค์์ฑ : ํธ๋ํฝ ๋ถํฌ๋ ์ฉ๋ ๊ณํ, ํธ๋ํฝ ์์ง๋์ด๋ง, ๊ณผ๊ธ ๋ฐ ๊ฒฐํจ ํ์ง ๋ฑ ์ฌ๋ฌ ์์ ์์ ํ์์
- Data plane ๋ถ์์ ์ค์์ฑ : data plane์ ํตํด Line-rate๋ก ๋ถ์ ํ ๋์ฒ
- ๊ธฐ์กด ์ฐ๊ตฌ์ ๋ฌธ์ ์
-
๋ฌด์์ ํจํท ์ํ๋ง ๋ฐฉ์์ ๋ชจ๋ํฐ๋ง
๋ฌด์์ ํจํท ์ํ๋ง์ ๋คํธ์ํฌ ํธ๋ํฝ์ ์์ฃผ ์์ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ ๋ณด ์์ค
-
data plane ๋ชจ๋ํฐ๋ง (Sampling-free)
data plane์์ ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ค์ผ์น ๊ฐ์ ํ๋ฅ ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ชจ๋ํฐ๋งํจ. data plane์ ๋ฆฌ์์ค ๋ฐ ์ฐ์ฐ ์ ์ฝ
- Over-provisioning : ์ ํด์ง ์ ํ๋๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์ํ๋ง ๋น์จ์ ๋๊ฒ ์ค์ ํ ๊ฒฝ์ฐ. ํธ๋ํฝ์ด ํ์จํ ์๊ฐ์๋ ์ ์ ์ํ๋ง์ผ๋ก๋ ์ ํ๋ ๋ฌ์ฑ์ด ๊ฐ๋ฅํ์ง๋ง ํฐ ์ํ๋ง์ ์ ์งํ๋ฉด์ ์์ ๋ญ๋น
- Manual Tuning : ์ํ๋ง โ Control plane ์ ์ก โ ํต๊ณ ๊ณ์ฐ โ ์ด์์๊ฐ ํ์ธ โ ํผ๋๋ฐฑํ๋ ๋ฃจํ์์ ์ด์์ ํผ๋๋ฐฑ๊ณผ ํธ๋ํฝ ํจํด ์ฌ์ด์ ์์ฐจ๊ฐ ๋ฐ์.
-
FitNets
OverView

- ์ํ๋ก๋ถํฐ ๋ถํฌ ์ถ์ (Control plane)
- ์ถ์ : ํน์ง์ ๋ถํฌ๋ ์ปค๋ ๋ฐ๋ ์ถ์ (KDE)๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ก๋ถํฐ ์ถ์
- ๋ถํฌ๋ ์๊ฐ์ ๋ฐ๋ผ ๋ณํ ์ ์๊ธฐ ๋๋ฌธ์ ์ถ์ ๋ฐฉ์์ด ํจ์จ์ ์ด๋ฉด์ ๊ณ์ฐ ์๋๊ฐ ๋นจ๋ผ์ผ ํจ.
- ๋ชจ๋ ํธ๋ํฝ์ ๋ํ ์ถ์ ์น ์ ์ํ (Data plane)
- ์ ์ํ : ์ถ์ ์น๋ proper scoring rules๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๊ฐ ๋งค๊ฒจ์ง
- ํ์ฌ ์ ํ๋๋ฅผ ์ ๋ขฐ์ฑ ์๊ฒ ์ถ์ ํ๊ธฐ ์ํ ์ ์ ์ ๊ทํ (Control plane)
- ์ ๊ทํ : ๋ถํฌ ์์ธก์ ๋์ด๋๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์๋ฅผ ์ ๊ทํํ๋ ์์
. ์ถ์ ์น์ ์ ํ๋๋ ์ ์๋ฅผ ์ ๊ทํํ์ฌ ๊ณ์ฐ.
- 0~1 ์ฌ์ด์ ์ ๊ทํ๋ฅผ ์ํด ์ต์ ์ ๊ฐ๋ฅํ ์ ์ (๋ง์ )์ ์ถ์
- ์ ๊ทํ : ๋ถํฌ ์์ธก์ ๋์ด๋๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์๋ฅผ ์ ๊ทํํ๋ ์์
. ์ถ์ ์น์ ์ ํ๋๋ ์ ์๋ฅผ ์ ๊ทํํ์ฌ ๊ณ์ฐ.
-
์ด์์์ ๋ชฉํ์ ๋ฐ๋ฅธ ์ํ๋ง ์กฐ์ (Control plane)
์ด์์๋ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ์์ ์ ์ง์ ํ๊ณ ์ ์ ๋ชฉํ๋ฅผ ์ค์
Kernel Density Estimation
์ปค๋ ๋ฐ๋ ์ถ์ ๊ธฐ(KDE)๋ ๊ธฐ์ ๋ถํฌ์ ํํ๋ฅผ ๊ฐ์ ํ์ง ์๋ ์ ์ฉํ๊ณ ๋น๋ชจ์์ ์ธ ์ถ์ ๊ธฐ์ด๋ฉฐ, ๊ณ ์ ํธ๋ฆฌ์ ๋ณํ(FFT)์ ์ฌ์ฉํ์ฌ ํจ์จ์ ์ผ๋ก ๊ณ์ฐ
KDE์ ํ๊ท ํตํฉ ์ ๊ณฑ ์ค์ฐจ(MISE)๋ ์ค์ ๋ถํฌ๋ฅผ ๋ชจ๋ฅด๋๋ผ๋ ์ฃผ์ด์ง ํ๋ จ ์ํ ํฌ๊ธฐ์ ๋ํด ์ ์ง์ ์ผ๋ก ๊ทผ์ฌํ.
- ๋น๋ชจ์์ : ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ ๋ ํน์ ํ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค๋ ๊ฐ์ (๋ฐ์ดํฐ์ ๊ธฐ์ ๊ตฌ์กฐ์ ๋ํ ๊ฐ์ )์ ํ์ง ์์
Density Estimation

(a) : ๊ฐ ์ํ์ ์ค์ฌ์ ๋๊ณ ๋์ญํญ์ ์ํด ํฌ๊ธฐ๊ฐ ์กฐ์ ๋ ์ปค๋๋ค์ ๊ฒฐํฉํ์ฌ ๋ถํฌ๋ฅผ ์ถ์ ํ๋ฉฐ, ๋ฐ์ดํฐ ์ง์ ๋ค์ ํต๊ณผํ๋ ๋งค๋๋ฌ์ด ์ ์ ๋ง๋ฆ
- ์ปค๋ : ๊ฐ ๋ฐ์ดํฐ ์ง์ ์์ ์ฃผ๋ณ์ ๋ฏธ์น๋ ์ํฅ๋ ฅ์ ๋ชจ์. ์ฃผ๋ก ๋ฏธ๋ถ ๊ฐ๋ฅ์ฑ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ ์ถ์ ์น์ ์ํ์ ํน์ฑ์ ๊ฒฐ์
(b) : ๋์ญํญ์ bias์ ๋งค๋๋ฌ์ ์ฌ์ด์ ์์ถฉ ๊ด๊ณ๋ฅผ ๊ฒฐ์
-
์์
$x_{1},โฆ,x_{n}$์ ์ ์ ์๋ ํ๋ฅ ๋ฐ๋ f๋ก๋ถํฐ ์ถ์ถ๋ ๋ ๋ฆฝ์ ์ด๊ณ ๋์ผํ๊ฒ ๋ถํฌ๋ ์ํ์ด๋ผ๊ณ ๊ฐ์
\[โ\]$f_{n}(x)$: ์ฐ๋ฆฌ๊ฐ ์ต์ข ์ ์ผ๋ก ์ถ์ ํ๊ณ ์ ํ๋ ํ๋ฅ ๋ฐ๋ ํจ์
h : ๋์ญํญ
์ ๊ทผ์ ์๋ ด
์ถฉ๋ถํ ์ํ์ด ์ฃผ์ด์ง๋ฉด ํ๊ท ํตํฉ ์ ๊ณฑ ์ค์ฐจ(MISE)๊ฐ $n \rightarrow \infty$์ผ ๋ 0์ผ๋ก ์๋ ด
\[โ\]- ๊ธฐ๋๊ฐ(E) : ๋ฐ์ดํฐ ์ํ์ n๊ฐ ๋ฝ์ ๋๋ง๋ค ์ถ์ ๋ถํฌ๊ฐ ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก ์ฌ๋ฌ ๋ฒ ์ํ๋ง ํ์ ๋์ ํ๊ท ์ค์ฐจ๋ฅผ ๊ตฌํจ
๋ง์ฝ MISE๋ฅผ ์ต์ํํ๋ ์ต์ ์ ๋์ญํญ h๋ฅผ ์ค์ ํ๋ค๊ณ ๊ฐ์ ํ๋ ๊ฒฝ์ฐ. ๋ค์๊ณผ ๊ฐ์ด ๊ทผ์ฌํ
\[โ\]- c๋ ์ ์ ์๋ ์ค์ ๋ถํฌ์ ๊ณก๋ฅ ์ ์ํด ๊ฒฐ์ . ์ฆ, ์ค์ ๊ณก๋ฅ ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ต์ ์ ๋์ญํญ์ ์ ํ ์ ์์
- ๊ณก๋ฅ ์ด ํด ์๋ก c๊ฐ ์ปค์ง โ ๋ณต์กํ ์๋ก c๊ฐ ์ปค์ง๋ฏ๋ก ์ค์ฐจ๋ฅผ ์ค์ด๊ธฐ ์ํด์๋ ๋ฐ์ดํฐ์ ๊ฐ์(n)์ด ์ปค์ ธ์ผ ํจ
- ๊ฐ์ ๋ ์ฌ๋-์กด์ค ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋ฐ๋ณต๋ ๊ณ์ฐ์ ํตํด ์ต์ ์ ๋์ญํญ h๋ฅผ ์ฐพ์๊ฐ. ์ด๋ ค์ด ๋ถํฌ์์๋ ์ข์ ๋์ญํญ์ ์ฐพ์ ์ ์๊ณ (๊ฒฌ๊ณ ์ฑ), ํจ์จ์ ์ผ๋ก ๊ณ์ฐ
Proper Scoring Rules
์ถ์ ๋ ๋ถํฌ์ ์ ํํ ์ค์ฐจ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ง๋ง ํ ์คํธ ์ํ์ ํตํด ์ถ์ ์น์ ์ ์๋ฅผ ๋งค๊น. ์ ์๊ฐ ํด ์๋ก ์ค์ ๋ถํฌ์ ์ถ์ ๋ถํฌ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ์ต์ํ
Quadratic Score, QS (์ด์ฐจ ์ ์)
QS๋ฅผ ์ต๋ํํ๋ ๊ฒ์ ํตํฉ ์ ๊ณฑ ์ค์ฐจ(ISE)๋ฅผ ์ต์ํ ํ๋ ๊ฒ.
- ์ ์ ์ฐ์ ๋ฐฉ์์ ์ ์ ์ฑ : ์ค์ ๋ถํฌ์ ๋๊ฐ์ ์ถ์ ์น์ ์ ์๊ฐ ๊ฐ์ฅ ๋์ ๋ โ์ ์ ํ๋คโ๋ผ๊ณ ํ๊ณ ์ค์ ์ 100%์ผ์นํ ๋๋ง ์ต๊ณ ์ ์ ๋ฐ๊ณ ์กฐ๊ธ์ด๋ผ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ ๊น์ผ ๋ โ์๊ฒฉํ๊ฒ ์ ์ ํ๋คโ๋ผ๊ณ ํจ
-
๊ฑฐ๋ฆฌ ์งํ : ์ต์ ์ ์ (์ค์ ๋ถํฌ์ ์ ์)์ ์ถ์ ๋ ๋ถํฌ์ ์ ์ ์ฐจ์ด
\[โ\] - ํ๊ท ์ ๊ณฑ ์ค์ฐจ
ํ๊ท ์ ์ธ ์ค์ฐจ๋ ์ต๊ณ ์ ์ - ๋ฐ์ดํฐ ํ๋ฉด์์ ์ฌ๋ฌ ์ํ๋ก ์ธก์ ํ ํ๊ท ์ ์
๋ฐ์ดํฐ ํ๋ฉด ์ ์ ์ฐ์
์ ์ ๊ณ์ฐ์ ํ ์คํธ ์ํ์ ํ ๋ฒ ํ๋ ๊ฒ๋ง์ผ๋ก ๊ฐ๋ฅํจ. x์ ๋ํ ๋ณด์์ ์ฐพ์๋ณด๊ณ ํ๊ท ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋๋ก ์ํ ์์ ๋ณด์ ํฉ๊ณ์ ๋ํ ์นด์ดํฐ๋ฅผ ๊ฐ๊ฐ ์ฆ๊ฐ ์ํด.
-
์์

- reward : ํ ์คํธ ์ํ์ ๋ํ ์ฌ๋ฐ๋ฅธ ์์ธก์ ๋ณด์. ํ ์คํธ ์ํ x์ ํ๋ฅ ๊ฐ์ 2๋ฐฐ.
- ์ ๊ทํ : ์ง๋์น๊ฒ ๋ณต์กํ ์ถ์ ์ ๋ฐฉ์ง. ํ๋ฅ ๋ฐ๋ ํจ์๋ฅผ ์ ๊ณฑํ์ฌ ์ ์ฒด ๋ฉด์ ์ ๊ตฌํจ
- ์ํ๊ณผ ๋ฌด๊ด
- ๋ชจ๋ ๋ถ๋ถ์์ ํ๋ฅ ์ด ๋์ ๊ฒ ์ต์
-
๊ทธ๋ํ๊ฐ ๋พฐ์กฑํ์ฌ ํน์ ์ง์ ์ ํ๋ฅ ์ ์ง์คํ ๊ฒ์ ์ต์ ํจ.
โ ๋งค๋๋ฌ์ด ๋ถํฌ๋ฅผ ๋ง๋ฆ
Normalization
ํน์ ์ ์๊ฐ ์ด๋ค ๋ถํฌ์๋ ์ต์ ์ ๊ฐ๊น์ธ ์ ์์ง๋ง ๋ค๋ฅธ ๋ถํฌ์๋ ์ต์ ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ ์ ์๋ค์ ๋น๊ตํ๊ธฐ ์ํด์ ์ ๊ทํ๊ฐ ํ์.
0~1 ์ฌ์ด์ ๊ฐ์ด๋ฉฐ 1์ ์ต์ ์ ์ถ์ ์น์ธ ๊ฒฝ์ฐ.
์ ๊ทํ๋ฅผ ์ํด์๋ ๋ฌ์ฑ ๊ฐ๋ฅํ ์ต์ ์ ์ ์๋ฅผ ์ถ์ .
\[โ\]์ด ๋ ์ต์ ์ ์ ์ ์ญ์ ์ ์ ์๊ธฐ ๋๋ฌธ์ ์ต์ ์ ์์ ๋ํ ๊ทผ์ฌํ๋ฅผ ์งํ
\[MISE(f_{n}) = QS(f, f) - E[QS(f_{n}, f)] \approx cn^{-4/5}\]QS(f, f)๋ฅผ ์์๋ด์ผ ํ๊ณ , c๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ ํ๋ ์ ํ ์ต์ ํ๋ฅผ ์ด์ฉ
-
์ ํ๋ ์ ํ ์ต์ ํ

- $\vec{N}$์ ์๋ก ๋ค๋ฅธ ์ํ ํฌ๊ธฐ์ ๋ฒกํฐ
- $\vec{S}$๋ฅผ ํ๊ท ์ด์ฐจ ์ ์์ ๋ฒกํฐ
- $\vec{S}{i}$*๋ $f$๋ก๋ถํฐ ํฌ๊ธฐ $\vec{N}{i}$*์ ์ํ๋ก ์ถ์ ๋ ๋ถํฌ๋ค์ ํ๊ท ์ ์
- $QS_{opt} = QS(f, f)$์ด๊ณ , $QS_{max}$๋ ํด๋น ๋ถํฌ์ ๋ํ ๋ชจ๋ ์ถ์ ์น์์ ๊ด์ฐฐ๋ ๊ฐ์ฅ ๋์ ์ ์
์์ธก๋ ์ ๊ทํ๋ ์ด์ฐจ ์ ์
\[โ\]์์ ๊ณต์์ ํตํด, n๊ฐ์ ๋ํ ์์๋๋ ์ ํ๋๋ฅผ ๊ณ์ฐ. ์ญํจ์๊ฐ ์กด์ฌํ๋ฏ๋ก ์ ํ๋ ๋ฌ์ฑ์ ์ํ ์์๋๋ ์ํ ๊ฐ์๊ฐ ๋์ด.
์๋ธ ์ํ๋ง
์ํ์ ๋ฝ๊ณ KDE๋ฅผ ๋ง๋ค๊ณ ์ ์๋ฅผ ๋งค๊ธฐ๋ ๊ณผ์ ์ ์ํ ํฌ๊ธฐ๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํด์ผ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐ, ๋นํจ์จ์
์ด์์์๊ฒ ์ ๊ทํ๋ ์ ์๋ฅผ ๋น ๋ฅด๊ฒ ์ ์กํ๊ธฐ ์ํด ์๋ธ ์ํ๋ง ์ฌ์ฉ
- ์ํ๋ง๋ n์์ ์ฌ๋ฌ ์๋ธ ์ํ($n_i$)์ ์ถ์ถ. n์ ๋ํ ์ถ์ ๊ณผ ๋ณ๋ ฌ์ ์ผ๋ก ์๋ธ ์ํ์ ๋ํ ๋ฐ๋๋ ์ถ์
- ๋ชจ๋ ์ถ์ ์น์ ๋ํด ๋ณ๋ ฌ์ ์ผ๋ก ์ ์๋ฅผ ๋งค๊ฒจ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
์ผ๋ฐํ
์ํ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ ์๋ก ๊ฑฐ๋ฆฌ๊ฐ ์ค์ด๋ ๋ค๋ ๊ฐ์ ํ์, KDE ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ์ถ์ ๊ธฐ๋ ์ ์ ์ฐ์ ํจ์์๋ ์ผ๋ฐํ
System Design
Interface
์ ๋ ฅ
-
๋ชจ๋ํฐ๋ง ์์

- ๋ชจ๋ํฐ๋ง๋๋ ์์น
- ์ ์ฝ ์กฐ๊ฑด : ์ด๋ค ํธ๋ํฝ์ด ๋ชจ๋ํฐ๋ง ๋๋ ์ง
- 5-tuple์ ๊ฐ๋ณ ๋๋ ์กฐํฉ
- ์ด๋ค ํน์ง์ด ๋ชจ๋ํฐ๋ง ๋๋ ์ง
- ๊ฐ ์์น์ ๋ํด ์ฌ๋ฌ ์ ์ฝ ์กฐ๊ฑด๊ณผ ์ฌ๋ฌ ํน์ง ๋ชจ๋ํฐ๋ง
- ๋จ์ผ ํจํท ํน์ง์ด๋ ํจํท ๊ฐ์ ์ํ ์ ์ง๊ฐ ํ์ํ ๋ ๋ณต์กํ ํน์ง๋ค์ ์ ํ ๊ฐ๋ฅ
- ํ๋ก๋ฆฟ : ๋นํ์ฑ ๊ฐ๊ฒฉ์ผ๋ก ๊ตฌ๋ถ๋ ์งง์ ํจํท ๋ฒ์คํธ
ํ๋ก์ฐ์ ๋ํ statefullํ ํน์ง๋ค์ ๋ ผ๋ฌธ์์ ๊ตฌํ X. ์ ์๋ค์ ์ด ๋ถ๋ถ์ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ์ ์ญํ ๋ก ๋ณด๊ณ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ค๊ณ ํ๊ณ ์์.
-
์ ์ ๋ชฉํ
- ๊ณ ์ ๋ ์์์ ๋ํด ๋ชจ๋ ์์ ์ ์ ํ๋๋ฅผ ์ต๋ํ
- ๊ณ ์ ๋ ์ ํ๋์ ๋ํด ์์์ ์ต์ํ
์ถ๋ ฅ
๋ฐ์ดํฐ๋ฅผ ๋จ๊ณ ๋ณ๋ก ์ฒ๋ฆฌํ์ฌ ๊ฐ ๋ชจ๋ํฐ๋ง ์์ ์ ๋ํ ๋ฐ๋ ์ถ์ ์น์ ์ ํ๋๋ฅผ ์ถ๋ ฅ
Control plane

-
๋ฐ๋ ์ถ์
์ด์ ๋จ๊ณ ์ดํ ์์ง๋ ์ํ๋ก๋ถํฐ ๋ฐ๋ ๋ชจ๋ธ์ด ์ถ์ ๋๊ณ ์ ์ ์ฐ์ ์ ์ํด ๋ฐ์ดํฐ ํ๋ฉด์ผ๋ก ๋ค์ ์ ์ก
-
์์ ๋น ์ฌ๋ฌ ๊ฐ์ ๋ฐ๋๊ฐ ํ์
๋ฉ์ธ ๋ฐ๋(๋ชจ๋ ๊ฐ์ฉ ๋ฐ์ดํฐ ๊ธฐ๋ฐ)์ ์๋ธ ์ํ ๊ธฐ๋ฐ์ ์ถ๊ฐ ๋ฐ๋ (์ ํ๋ ๊ณ์ฐ์ฉ). ํ๋์ ํ๊ท ๋ฐ๋๋ง data plane์ผ๋ก ๋ณด๋.
๋ชจ๋ ๊ฐ์ฉ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ง๋ง ์ค๋ณต์ ๋ฐฉ์งํ์ฌ ๋ฐ๋ ์ถ์ ๋ฐ ํ๊ท ์ ์์ ํธํฅ์ ๋ฐฉ์ง
-
-
์ ๊ทํ
์ด์ ๋จ๊ณ ์ดํ์์ ์ถ์ ๋ ๋ฐ๋์ ๋ํ ์ ์๋ฅผ ๋ฐ์ผ๋ฉด, ์ต์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ๊ทํ ์งํ
-
์ ์
์ด์์์ ๋ชฉํ๋ฅผ ์ต์ ํํ์ฌ ์์ ๋น ์ํ๋ง ๋น์จ์ ์กฐ์
์ ์ ์์ธก์ ํตํด ์ํ๋ง ๋น์จ์ ์กฐ์
- ๋ ๊ฐ์ง ๋ชฉํ
- ์ ํ๋ ๋ฌ์ฑ์ ์ํด ํ์ํ ์์ ์์ธก. ์ด ์ต์ํ์ ํ์ํ ์์๋์ ์์งํ๋๋ก ์ํ๋ง ๋น์จ ์กฐ์
- ์ต์ ์ ํ๋๋ฅผ ์ต๋ํ ํ๊ธฐ ์ํ ์ต์ ํ. ๊ฐ์ฅ ์ ํ๋๊ฐ ๋ฎ์ ๋ฐ๋์ ์ ํ๋๋ฅผ ๊ทน๋ํ
- ๋ ๊ฐ์ง ๋ชฉํ
๋๋ถ๋ถ์ ์ฒ๋ฆฌ ๋จ๊ณ๊ฐ ๋ ๋ฆฝ์ ์ด๋ฏ๋ก ๋ณ๋ ฌํ ๊ฐ๋ฅ
- ์๋ก ๋ค๋ฅธ ์ํ์ ๋ฐ๋ ์ถ์ , ์ ์ ์ ๊ทํ๋ ์ํ๊ณผ ์ ์์๋ง ์์กดํ๋ฏ๋ก ๋ณ๋ ฌํ ๊ฐ๋ฅ
- ์ ์์ ๊ฒฝ์ฐ. ์์ ์ต์ํ ๋ชฉํ๋ ๋ณ๋ ฌํ๊ฐ ๊ฐ๋ฅํ์ง๋ง ์ ํ๋ ์ต๋ํ๋ ์ต๋ ์ ํ๋๊ฐ ๊ฐ๋ณ ์์ ์ ํ์ ์์์ ์์กดํ๋ฏ๋ก ๋ณ๋ ฌํ ๋ถ๊ฐ
Data plane

P4๋ ๋ค๋จ๊ณ ํ์ดํ๋ผ์ธ์ ๋ฐฉ์์ด๋ฉฐ, ๊ฐ ๋จ๊ณ๋ ํ๋ ์ด์์ ๋งค์น-์ก์ ํ ์ด๋ธ์ด ์ ์ฉ.
P4 ํ๋ก๊ทธ๋จ์ ์ํคํ ์ฒ์ configuration์ผ๋ก ๋ถ๋ฆฌ
- ์ํคํ
์ฒ : ํ
์ด๋ธ ๋ ์ด์์์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ ํ ๋ฐ ํฌ๊ธฐ์ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ ์ด ํ๋ฆ
- ์ํคํ ์ฒ ๋ณ๊ฒฝ์ ์ํด์๋ ์ ์ํคํ ์ฒ ์ค์น๋ฅผ ์ํด ์ค์์น๋ฅผ ์ฌ์์ ๋ฐ ์ปดํ์ผ
- configuration : ํ ์ด๋ธ ๊ท์น, ๋ฉ๋ชจ๋ฆฌ ๋ด์ฉ ๋ฐ ๋ฏธํฐ ์๋๋ฅผ ํฌํจํ๋ฉฐ ๋ฐํ์์ ๋ณ๊ฒฝ
๋ชจ๋ํฐ๋ง ์์ ์ ์ํ ์ด๊ธฐ ์ค์ ์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ ํ ๋น์ ์ํคํ ์ฒ ๊ฒฐ์ ์ผ๋ก ์ ์คํ ๊ฒฐ์ ํด์ผํจ. ์ ์ํ ์ํ๋ง์ configuration ๋ณ๊ฒฝ
๋์ ํ๋ฆ
- ์ ์ฒ๋ฆฌ : ํธ๋ํฝ ๋งค์นญ ๋ฐ ํน์ง ์ถ์ถ
- ํํฐ๋ง
- ์ ์ฝ ์กฐ๊ฑด์ ํจํท์ 5-tuple์ ๋งค์นญํ๊ณ , ๋ชจ๋ ํ์ฑ ๋ชจ๋ํฐ๋ง ์์ ์ ID๋ฅผ ๋ฐํํ๋ ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ID๊ฐ ๋ฐํ๋ ๋ ํด๋น ๋ชจ๋ํฐ๋ง ์์ ์ด ํ์ฑํ
- ํ ์ด๋ธ์ Ternary matches : ์ผ๋ฐ์ ์ธ ์ค์์น๋ณด๋ค ๋ณต์กํ ์กฐ๊ฑด ๊ฒ์ฌ ๊ฐ๋ฅ. ํ๋์ ํจํท์ด ์ฌ๋ฌ ๊ฐ ๋ชจ๋ํฐ๋ง ์์ ์ ํด๋น ๊ฐ๋ฅ
- Flowlet(์์ ๋จ์์ ํจํท ํ๋ฆ) ์ํ ํ์ธ
- ํ์ฌ ํจํท์ ์ํ ํ์ธ
- ํจํท์ด ์ ํ๋ก๋ฆฟ์ ์์
- ํจํท์ด ํ์ฑ ํ๋ก๋ฆฟ์ ์ํจ
- ํจํท์ด ํ๋ก๋ฆฟ์ ์ข ๋ฃ (FIN)
- ํด์ ์ถฉ๋๋ก ์ธํด ์ํ๋ฅผ ๊ฒฐ์ ํ ์ ์๋ ๊ฒฝ์ฐ
- ์ถฉ๋๊ณผ ํ์์์์ ๋ชจ๋ ํ์ธํ๊ธฐ ์ํด ํ๋ก์ฐ ID์ ํ๋ก๋ฆฟ์ ๋ง์ง๋ง ํจํท ํ์์คํฌํ๋ฅผ ์ ์ฅ
- ํ์ฌ ํจํท์ ์ํ ํ์ธ
- ํน์ง ์ถ์ถ
- ๋งค ํจํท๋ง๋ค ๋ชจ๋ ํน์ง์ ์ถ์ถํ๊ธฐ๋ ์ด๋ ต๊ณ ์ด๋ฐ ์ถ์ถ๋์ง ์์ ํน์ง์ ์ํ๋ง ๋ฐ ์ ์ ์ฐ์ ์์ ์ ์ธ
- EX) ํ๋ก๋ฆฟ ์ง์ ์๊ฐ์ ๋ง์ง๋ง ํจํท๋ง ์ถ์ถ ๊ฐ๋ฅ
- ๋งค ํจํท๋ง๋ค ๋ชจ๋ ํน์ง์ ์ถ์ถํ๊ธฐ๋ ์ด๋ ต๊ณ ์ด๋ฐ ์ถ์ถ๋์ง ์์ ํน์ง์ ์ํ๋ง ๋ฐ ์ ์ ์ฐ์ ์์ ์ ์ธ
- ํํฐ๋ง
- ์ํ๋ง : ์๋ ์ ํ meter๋ฅผ ํตํด ํน์ง์ ์ํ๋งํ ์ง ์ ์ ์ฐ์ ์ ์ฌ์ฉํ ์ง ๊ฒฐ์ .
- direct meter : ํน์ง ์ถ์ถ ํ ์ด๋ธ์ ๋ถ์ฐฉ. ๊ฐ ๋งค์น์ ๋ํด ๊ฐ๋ณ์ ์ธ ์๋๋ฅผ ์ ์งํ๊ณ ๋งค์น๋ ๋๋ง๋ค ์๋์ผ๋ก ์คํ
- meter๋ฅผ ํตํด ํน์ ์๋ ๋ฐ์ด๋ฉด ์ํ๋ง ํน์ ์๋ ์ด๊ณผ๋ฉด ์ ์ ์ฐ์ ์ ํจ.
- ์ํ๋ง์ ์๋ก์ด ํจํท์ ์์ฑํ์ฌ control plane์ ๋ณด๋
-
์ ์ ์ฐ์
ํ์ดํ๋ผ์ธ ๋ง์ง๋ง ๋จ๊ณ์์ ์ํ๋ง๋์ง ์์ ํน์ง ๊ฐ๋ค์ ํ ์คํธ ์ํ๋ก ์ฌ์ฉํ์ฌ ์ถ์ ์ ์๋ฅผ ์ ๋ฐ์ดํธ. ํ ์คํธ ์ํ์ ์์ ๋ณด์์ ํฉ๊ณ๋ฅผ ์นด์ดํธ.
- ์ฌ๋ฌ ์์ ์ ํ๋ ๊ฒฝ์ฐ์๋ ์์ k๊ฐ์ ์นด์ดํฐ์ ํ ์คํธ ์ํ ์์ ๋ํ ์นด์ดํฐ 1๊ฐ โ k+1๊ฐ์ ์นด์ดํฐ ํ์
Ternary match๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฅ ๊ณ์ฐ. ํจํท ํฌ๊ธฐ๋ ์์ํ๋ฅผ ํ๊ณ ํ๋ฅ ์ ์ ์๋ก ๋ง๋ฆ. ํ๋ฅ ๋ณํ๊ฐ ์ฌํ ๊ณณ์ ์ด์ดํ๊ฒ ์๋งํ ๊ณณ์ ๋๊ฒ ์ก์ ํ ์ด๋ธ ์๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํ๋ฉด์ ํด์๋๋ฅผ ๋์ ์ผ๋ก ์กฐ์
- ์ ์ด ํ๋ฉด์์ ๊ณก๋ฅ ์ด ๋์ ๊ณณ๊ณผ ๋ฎ์ ๊ณณ์ ํ์
- ๋นํธ ๋ง์คํน : 2์ง์์์ ๋ง์ง๋ง 3๋นํธ๋ฅผ ๋ฌด์(Ignore)ํ๋ฉด, 2^3 = 8๊ฐ ์ซ์๋ฅผ ๋์์ ๊ฒ์ํ๋ ํจ๊ณผ
- ์ด์ดํ ๊ตฌ๊ฐ์ ๋น ํฌ๊ธฐ๋ฅผ 2 or 4๋ก ์ก์์ TCAM์ ๋ง์ง๋ง 1~2๋นํธ๋ง ๋ฌด์
- ๋์ ๊ตฌ๊ฐ์ 2^5, 2^8๋ก ์ก์์ TCAM์ ๋ง์ง๋ง 5~8๋นํธ๋ฅผ ๋ฌด์
- ํ ์ด๋ธ ์ํธ๋ฆฌ์ ํ ๋น
Evaluation
๋ฐฉ๋ฒ๋ก
Ground Truth : FitNets์ ์ฑ๋ฅ, ํนํ ์ ์ ์ ๊ทํ์ ์ ํ๋๋ฅผ ํ๊ฐํ๊ธฐ ์ํด์๋ ๊ธฐ์ค์ด ๋๋ ์ค์ ๋ถํฌ(Ground Truth)
-
๋ฐ์ดํฐ์
CAIDA ๋ฐฑ๋ณธ ํธ๋ ์ด์ค๋ฅผ ๋ถ์ํ์ฌ 5๊ฐ์ง ์๋ก ๋ค๋ฅธ ํธ๋ํฝ ํน์ง์ ๋ํ ๋ฐ์ดํฐ ์์ง

- e : ํ๋ก๋ฆฟ ์ง์ ์๊ฐ ๋ถํฌ๋ ๋ ๋ณต์กํจ
- ์ธก์ ๊ธฐ์ค
- ๋ฐ๋ ์ถ์ ์ ๊ธฐ๋ ์ ์
- ์ต์ ์ ์
- ๊ธฐ๋ ์ ์๋ฅผ ์ต์ ์ ์๋ก ๋๋์ด ์ป์ ์ ํ๋/์ ๊ทํ ์ ์
- ์ถ์ ์น์ ์ค์ ๋ถํฌ ์ฌ์ด์ ํตํฉ ์ ๊ณฑ ์ค์ฐจ(ISE)
-
๊ตฌํ
1,000๋ผ์ธ์ Python ์ฝ๋๋ฅผ ์ฌ์ฉ. ์ ์ด ํ๋ฉด์ ๋ฉํฐ์ฝ์ด ๋ฒ์ ์ ๊ตฌํ. ์๋ฎฌ๋ ์ด์ ๋ ์ค์์น๋ฅผ ์ฌ์ฉํ์ฌ ํจํท์ ์ฒ๋ฆฌ.
P4Tofino๋ฅผ ์ฌ์ฉํ์ฌ FitNets ๋ฐ์ดํฐ ํ๋ฉด์ P4 ๋ฒ์ ์ ๊ฐ๊ฐ ์ฝ 500๋ผ์ธ์ ์ฝ๋๋ก ๊ตฌํ
๋ฐ๋ ์ถ์

ํ๋ จ ์ํ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ด๋ค ๋ถํฌ๋ ์ ๊ทผ์ ์ผ๋ก ๊ทผ์ฌํ ์ ์์ง๋ง, ์ผ๋ถ ๋ถํฌ๋ ๋ค๋ฅธ ๋ถํฌ๋ณด๋ค ๋ ํฐ ์ํ ํฌ๊ธฐ๋ฅผ ํ์
- ์คํ ๋ฐฉ๋ฒ : ์ํ ํฌ๊ธฐ๋ฅผ ๋๋ ค๊ฐ๋ฉฐ KDE๋ฅผ ๊ณ์ฐํ๊ณ , ์ค์ ๋ถํฌ์์ ์ค์ฐจ(ISE)๋ฅผ ์ธก์ .
๋ฐ์ดํฐ ํ๋ฉด ์ ์ ์ฐ์

ํ๋ จ ์ํ๊ณผ ๊ฑฐ์ ๋น์ทํ ํฌ๊ธฐ์ ํ ์คํธ ์ํ์ด ์์ด์ผ๋ง ์ ๋ขฐํ ์ ์๋ ์ ์๋ฅผ ์ป์ ์ ์์
FitNets๋ ์ ์ ์(1%)๋ก ์ํ๋งํ๊ณ ๋๋จธ์ง(99%)๋ฅผ ํ ์คํธํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ๋ขฐํ ์ ์๋ ์ ์๋ฅผ ์ป๊ฒ ๋จ.
์ ๊ทํ

- ์คํ ๋ฐฉ๋ฒ : ์๋ธ ์ํ๋ค์ ๋ง๋ค์ด ์ถ๊ฐ ๋ชจ๋ธ์ ์์ฑํ์ฌ ์ต์ ์ ์๋ฅผ ์ถ์ .
5๊ฐ์ผ ๋๋ 5% ๋ฏธ๋ง์ผ๋ก ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ฐ๋ ๊ฒ ์๋๋ผ ์๋ธ ๋ชจ๋ธ๋ค๋ก๋ ์ ๋ฐํ๊ฒ ์์ธก ๊ฐ๋ฅ
๋ ๋ง์ ์์ ์๋ก ๋ค๋ฅธ ์ํ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ์ ์ค์ง์ ์ผ๋ก ๋ ๊ฐ์ ํ์ง๋ ์๋๋ฐ, ์ด๋ ํ๋ จ ์ํ์ด ์ ์ ๋ ์์ ํฌ๊ธฐ์ ์๋ธ ์ํ๋ก ๋๋๋ฉด์ ์ถ๊ฐ ์ถ์ ๊ธฐ๋ค์ ํ์ง์ด ๋จ์ด์ง๊ธฐ ๋๋ฌธ
๋ฒค์น ๋งํฌ

- ์คํ ๋ฐฉ๋ฒ : control plane์ ์๊ฐ ์ธก์
- ๋ฐ๋ ์ถ์ ์๊ฐ : ์ต๋ 10๋ง ๊ฐ์ ์ํ์ ๋ํ ๋ถํฌ๋ฅผ ์ถ์ ํ๋ ๋ฐ ์ฝ 40๋ฐ๋ฆฌ์ด๊ฐ ์์. ์ํ ํฌ๊ธฐ๊ฐ ๋ ์ปค์ง๋ฉด ์๊ฐ์ ์ ํ์ ์ผ๋ก ์ฆ๊ฐํ๋ฉฐ, 390๋ง ๊ฐ์ ์ํ์ ๋ํด์๋ ์ฝ 1์ด๊ฐ ํ์.
- ๋ค์ค ๋ฐ๋ ์ถ์ ์ผ๋ก ํ์ฅํ๋ ๊ณผ์ ์ ๋ณ๋ ฌํ๊ฐ ๊ฐ๋ฅ
- ์ต์ ํ & ์ ๊ทํ ์๊ฐ
- ์ต์ ํ๋น 10๋ฐ๋ฆฌ์ด ๋ฏธ๋ง์ด ์์
- ์ ํํ ์ ๊ทํ๋ฅผ ์ํด ๋ง์ ์์ ์ํ ํฌ๊ธฐ๊ฐ ํ์ํ์ง ์์ผ๋ฏ๋ก 500๊ฐ์ ๊ฐ๋ณ ์์ ์ ๋ํด 50ms ๋ฏธ๋ง์ด ์์
Case Studies: Adaptive Allocation
-
์์ ์ต์ํ
๋ชจ๋ ํธ๋ํฝ ํน์ง์ ๋ํด 0.98์ ์ ํ๋ ๋ชฉํ๋ฅผ ์ง์ . FitNets๋ ํ์ํ ์ํ ์๋ฅผ ์ต์ํ์ผ๋ก ์ค์ด๋ฉด์๋, ์ผ๋ฐ์ ์ผ๋ก $\pm 0.02$, ์ต์ ์ ๊ฒฝ์ฐ $\pm 0.04$ ์ด๋ด๋ก ์๊ตฌ ์ ํ๋๋ฅผ ์ ์ง
-
์ ํ๋ ์ต๋ํ

๊ณ ์ ๋ ๋์ญํญ์ ์ ์ ํ ๋น๊ณผ์ ๋น๊ต. ๋ ๋์ ์ ํ๋ ๋ฌ์ฑ
๊ด๋ จ ์ฐ๊ตฌ
์ค์ผ์น
๋ฐ์ดํฐ ๊ตฌ์กฐ ์์ฒด๊ฐ ๋คํธ์ํฌ ๋ด ์ฒ๋ฆฌ์ ๋งค๋ ฅ์ ์ด๊ธฐ ๋๋ฌธ์, FitNets์์ ์ํ ์ง์ฝ์ ์ธ ํน์ง์ ์ถ์ถํ๊ธฐ ์ํ ๋น๋ฉ ๋ธ๋ก์ผ๋ก์ ํฅ๋ฏธ๋ก์ด ์์
์ ์ํ ์คํธ๋ฆผ ์ฒ๋ฆฌ
๋น๋์ค ์คํธ๋ฆฌ๋ฐ ๋ถ์ผ์์๋ ์ ํ๋ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ๋์ญํญ์ ์กฐ์ ํ๋ ๊ฒ์ด ์ค์ฉ์ ์ด๊ณ ํจ๊ณผ์ ์์ด ์ ์ฆ. ์ ์ ์ ์ ์ฐ์ ๊ท์น์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ
Conclusion
์ ์ด ํ๋ฉด(Control Plane)๊ณผ ๋ฐ์ดํฐ ํ๋ฉด(Data Plane)์ ํผ๋๋ฐฑ ๋ฃจํ ์ ํ๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ๊ฑฐ๋ ๊ณ ์ ๋ ์ํ๋ง ์์ฐ ๋ด์์ ์ ํ๋๋ฅผ ์ต๋ํํ๋ ๋ฑ ๋ค์ํ ๋ชจ๋ํฐ๋ง ๋ชฉํ์ ์ ์ํ ์ ์์์ ๋ณด์ฌ์ค
Leave a comment