[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

image.png

  1. ์ƒ˜ํ”Œ๋กœ๋ถ€ํ„ฐ ๋ถ„ํฌ ์ถ”์ • (Control plane)
    • ์ถ”์ • : ํŠน์ง•์˜ ๋ถ„ํฌ๋Š” ์ปค๋„ ๋ฐ€๋„ ์ถ”์ •(KDE)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ˜ํ”Œ๋กœ๋ถ€ํ„ฐ ์ถ”์ •
    • ๋ถ„ํฌ๋Š” ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ • ๋ฐฉ์‹์ด ํšจ์œจ์ ์ด๋ฉด์„œ ๊ณ„์‚ฐ ์†๋„๊ฐ€ ๋นจ๋ผ์•ผ ํ•จ.
  2. ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ถ”์ •์น˜ ์ ์ˆ˜ํ™” (Data plane)
    • ์ ์ˆ˜ํ™” : ์ถ”์ •์น˜๋Š” proper scoring rules๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ์ˆ˜๊ฐ€ ๋งค๊ฒจ์ง
  3. ํ˜„์žฌ ์ •ํ™•๋„๋ฅผ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ถ”์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ ์ˆ˜ ์ •๊ทœํ™” (Control plane)
    • ์ •๊ทœํ™” : ๋ถ„ํฌ ์˜ˆ์ธก์˜ ๋‚œ์ด๋„๋Š” ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ ์ˆ˜๋ฅผ ์ •๊ทœํ™”ํ•˜๋Š” ์ž‘์—…. ์ถ”์ •์น˜์˜ ์ •ํ™•๋„๋Š” ์ ์ˆ˜๋ฅผ ์ •๊ทœํ™”ํ•˜์—ฌ ๊ณ„์‚ฐ.
      • 0~1 ์‚ฌ์ด์˜ ์ •๊ทœํ™”๋ฅผ ์œ„ํ•ด ์ตœ์ ์˜ ๊ฐ€๋Šฅํ•œ ์ ์ˆ˜ (๋งŒ์ )์„ ์ถ”์ •
  4. ์šด์˜์ž์˜ ๋ชฉํ‘œ์— ๋”ฐ๋ฅธ ์ƒ˜ํ”Œ๋ง ์กฐ์ • (Control plane)

    ์šด์˜์ž๋Š” ์ฟผ๋ฆฌ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์—…์„ ์ง€์ •ํ•˜๊ณ  ์ ์‘ ๋ชฉํ‘œ๋ฅผ ์„ค์ •

Kernel Density Estimation

์ปค๋„ ๋ฐ€๋„ ์ถ”์ •๊ธฐ(KDE)๋Š” ๊ธฐ์ € ๋ถ„ํฌ์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ •ํ•˜์ง€ ์•Š๋Š” ์œ ์šฉํ•˜๊ณ  ๋น„๋ชจ์ˆ˜์ ์ธ ์ถ”์ •๊ธฐ์ด๋ฉฐ, ๊ณ ์† ํ‘ธ๋ฆฌ์— ๋ณ€ํ™˜(FFT)์„ ์‚ฌ์šฉํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ๊ณ„์‚ฐ

KDE์˜ ํ‰๊ท  ํ†ตํ•ฉ ์ œ๊ณฑ ์˜ค์ฐจ(MISE)๋Š” ์‹ค์ œ ๋ถ„ํฌ๋ฅผ ๋ชจ๋ฅด๋”๋ผ๋„ ์ฃผ์–ด์ง„ ํ›ˆ๋ จ ์ƒ˜ํ”Œ ํฌ๊ธฐ์— ๋Œ€ํ•ด ์ ์ง„์ ์œผ๋กœ ๊ทผ์‚ฌํ™”.

  • ๋น„๋ชจ์ˆ˜์  : ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•  ๋•Œ ํŠน์ •ํ•œ ํ™•๋ฅ  ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅธ๋‹ค๋Š” ๊ฐ€์ •(๋ฐ์ดํ„ฐ์˜ ๊ธฐ์ € ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๊ฐ€์ •)์„ ํ•˜์ง€ ์•Š์Œ

Density Estimation

image.png

(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์— ๋Œ€ํ•œ ๋ณด์ƒ์„ ์ฐพ์•„๋ณด๊ณ  ํ‰๊ท  ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์ƒ˜ํ”Œ ์ˆ˜์™€ ๋ณด์ƒ ํ•ฉ๊ณ„์— ๋Œ€ํ•œ ์นด์šดํ„ฐ๋ฅผ ๊ฐ๊ฐ ์ฆ๊ฐ€ ์‹œํ‚ด.

  • ์ˆ˜์‹

    image.png

    • 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๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ œํ•œ๋œ ์„ ํ˜• ์ตœ์ ํ™”๋ฅผ ์ด์šฉ

  • ์ œํ•œ๋œ ์„ ํ˜• ์ตœ์ ํ™”

    image.png

    • $\vec{N}$์„ ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ˜ํ”Œ ํฌ๊ธฐ์˜ ๋ฒกํ„ฐ
    • $\vec{S}$๋ฅผ ํ‰๊ท  ์ด์ฐจ ์ ์ˆ˜์˜ ๋ฒกํ„ฐ
    • $\vec{S}{i}$*๋Š” $f$๋กœ๋ถ€ํ„ฐ ํฌ๊ธฐ $\vec{N}{i}$*์˜ ์ƒ˜ํ”Œ๋กœ ์ถ”์ •๋œ ๋ถ„ํฌ๋“ค์˜ ํ‰๊ท  ์ ์ˆ˜
    • $QS_{opt} = QS(f, f)$์ด๊ณ , $QS_{max}$๋Š” ํ•ด๋‹น ๋ถ„ํฌ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ถ”์ •์น˜์—์„œ ๊ด€์ฐฐ๋œ ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜

์˜ˆ์ธก๋œ ์ •๊ทœํ™”๋œ ์ด์ฐจ ์ ์ˆ˜

\[โ\]

์œ„์˜ ๊ณต์‹์„ ํ†ตํ•ด, n๊ฐœ์— ๋Œ€ํ•œ ์˜ˆ์ƒ๋˜๋Š” ์ •ํ™•๋„๋ฅผ ๊ณ„์‚ฐ. ์—ญํ•จ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๋ฏ€๋กœ ์ •ํ™•๋„ ๋‹ฌ์„ฑ์„ ์œ„ํ•œ ์˜ˆ์ƒ๋˜๋Š” ์ƒ˜ํ”Œ ๊ฐœ์ˆ˜๊ฐ€ ๋‚˜์˜ด.

์„œ๋ธŒ ์ƒ˜ํ”Œ๋ง

์ƒ˜ํ”Œ์„ ๋ฝ‘๊ณ  KDE๋ฅผ ๋งŒ๋“ค๊ณ  ์ ์ˆ˜๋ฅผ ๋งค๊ธฐ๋Š” ๊ณผ์ •์„ ์ƒ˜ํ”Œ ํฌ๊ธฐ๋ฅผ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐ, ๋น„ํšจ์œจ์ 

์šด์˜์ž์—๊ฒŒ ์ •๊ทœํ™”๋œ ์ ์ˆ˜๋ฅผ ๋น ๋ฅด๊ฒŒ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ธŒ ์ƒ˜ํ”Œ๋ง ์‚ฌ์šฉ

  1. ์ƒ˜ํ”Œ๋ง๋œ n์—์„œ ์—ฌ๋Ÿฌ ์„œ๋ธŒ ์ƒ˜ํ”Œ($n_i$)์„ ์ถ”์ถœ. n์— ๋Œ€ํ•œ ์ถ”์ •๊ณผ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์„œ๋ธŒ ์ƒ˜ํ”Œ์— ๋Œ€ํ•œ ๋ฐ€๋„๋„ ์ถ”์ •
  2. ๋ชจ๋“  ์ถ”์ •์น˜์— ๋Œ€ํ•ด ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ ์ˆ˜๋ฅผ ๋งค๊ฒจ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ

์ผ๋ฐ˜ํ™”

์ƒ˜ํ”Œ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜๋ก ๊ฑฐ๋ฆฌ๊ฐ€ ์ค„์–ด๋“ ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์—, KDE ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์ถ”์ •๊ธฐ๋‚˜ ์ ์ˆ˜ ์‚ฐ์ • ํ•จ์ˆ˜์—๋„ ์ผ๋ฐ˜ํ™”

System Design

Interface

์ž…๋ ฅ

  • ๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์—…

    image.png

    1. ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ์œ„์น˜
    2. ์ œ์•ฝ ์กฐ๊ฑด : ์–ด๋–ค ํŠธ๋ž˜ํ”ฝ์ด ๋ชจ๋‹ˆํ„ฐ๋ง ๋˜๋Š” ์ง€
      • 5-tuple์˜ ๊ฐœ๋ณ„ ๋˜๋Š” ์กฐํ•ฉ
    3. ์–ด๋–ค ํŠน์ง•์ด ๋ชจ๋‹ˆํ„ฐ๋ง ๋˜๋Š” ์ง€
      • ๊ฐ ์œ„์น˜์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ์ œ์•ฝ ์กฐ๊ฑด๊ณผ ์—ฌ๋Ÿฌ ํŠน์ง• ๋ชจ๋‹ˆํ„ฐ๋ง
      • ๋‹จ์ผ ํŒจํ‚ท ํŠน์ง•์ด๋‚˜ ํŒจํ‚ท ๊ฐ„์˜ ์ƒํƒœ ์œ ์ง€๊ฐ€ ํ•„์š”ํ•œ ๋” ๋ณต์žกํ•œ ํŠน์ง•๋“ค์„ ์„ ํƒ ๊ฐ€๋Šฅ
      • ํ”Œ๋กœ๋ฆฟ : ๋น„ํ™œ์„ฑ ๊ฐ„๊ฒฉ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์งง์€ ํŒจํ‚ท ๋ฒ„์ŠคํŠธ

    ํ”Œ๋กœ์šฐ์— ๋Œ€ํ•œ statefullํ•œ ํŠน์ง•๋“ค์€ ๋…ผ๋ฌธ์—์„œ ๊ตฌํ˜„ X. ์ €์ž๋“ค์€ ์ด ๋ถ€๋ถ„์„ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ์˜ ์—ญํ• ๋กœ ๋ณด๊ณ  ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ๋‹ค๊ณ  ํ•˜๊ณ  ์žˆ์Œ.

  • ์ ์‘ ๋ชฉํ‘œ

    1. ๊ณ ์ •๋œ ์ž์›์— ๋Œ€ํ•ด ๋ชจ๋“  ์ž‘์—…์˜ ์ •ํ™•๋„๋ฅผ ์ตœ๋Œ€ํ™”
    2. ๊ณ ์ •๋œ ์ •ํ™•๋„์— ๋Œ€ํ•ด ์ž์›์„ ์ตœ์†Œํ™”

์ถœ๋ ฅ

๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ๊ณ„ ๋ณ„๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์—…์— ๋Œ€ํ•œ ๋ฐ€๋„ ์ถ”์ •์น˜์™€ ์ •ํ™•๋„๋ฅผ ์ถœ๋ ฅ

Control plane

image.png

  1. ๋ฐ€๋„ ์ถ”์ •

    ์ด์ „ ๋‹จ๊ณ„ ์ดํ›„ ์ˆ˜์ง‘๋œ ์ƒ˜ํ”Œ๋กœ๋ถ€ํ„ฐ ๋ฐ€๋„ ๋ชจ๋ธ์ด ์ถ”์ •๋˜๊ณ  ์ ์ˆ˜ ์‚ฐ์ •์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ํ‰๋ฉด์œผ๋กœ ๋‹ค์‹œ ์ „์†ก

    • ์ž‘์—… ๋‹น ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ€๋„๊ฐ€ ํ•„์š”

      ๋ฉ”์ธ ๋ฐ€๋„(๋ชจ๋“  ๊ฐ€์šฉ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜)์™€ ์„œ๋ธŒ ์ƒ˜ํ”Œ ๊ธฐ๋ฐ˜์˜ ์ถ”๊ฐ€ ๋ฐ€๋„ (์ •ํ™•๋„ ๊ณ„์‚ฐ์šฉ). ํ•˜๋‚˜์˜ ํ‰๊ท  ๋ฐ€๋„๋งŒ data plane์œผ๋กœ ๋ณด๋ƒ„.

      ๋ชจ๋“  ๊ฐ€์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•˜์—ฌ ๋ฐ€๋„ ์ถ”์ • ๋ฐ ํ‰๊ท  ์ ์ˆ˜์— ํŽธํ–ฅ์„ ๋ฐฉ์ง€

  2. ์ •๊ทœํ™”

    ์ด์ „ ๋‹จ๊ณ„ ์ดํ›„์—์„œ ์ถ”์ •๋œ ๋ฐ€๋„์— ๋Œ€ํ•œ ์ ์ˆ˜๋ฅผ ๋ฐ›์œผ๋ฉด, ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์ •๊ทœํ™” ์ง„ํ–‰

  3. ์ ์‘

    ์šด์˜์ž์˜ ๋ชฉํ‘œ๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ์ž‘์—… ๋‹น ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ์กฐ์ •

    ์ ์ˆ˜ ์˜ˆ์ธก์„ ํ†ตํ•ด ์ƒ˜ํ”Œ๋ง ๋น„์œจ์„ ์กฐ์ •

    • ๋‘ ๊ฐ€์ง€ ๋ชฉํ‘œ
      1. ์ •ํ™•๋„ ๋‹ฌ์„ฑ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ž์› ์˜ˆ์ธก. ์ด ์ตœ์†Œํ•œ์˜ ํ•„์š”ํ•œ ์ž์›๋Ÿ‰์„ ์ˆ˜์ง‘ํ•˜๋„๋ก ์ƒ˜ํ”Œ๋ง ๋น„์œจ ์กฐ์ •
      2. ์ตœ์†Œ ์ •ํ™•๋„๋ฅผ ์ตœ๋Œ€ํ™” ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ ํ™”. ๊ฐ€์žฅ ์ •ํ™•๋„๊ฐ€ ๋‚ฎ์€ ๋ฐ€๋„์˜ ์ •ํ™•๋„๋ฅผ ๊ทน๋Œ€ํ™”

๋Œ€๋ถ€๋ถ„์˜ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„๊ฐ€ ๋…๋ฆฝ์ ์ด๋ฏ€๋กœ ๋ณ‘๋ ฌํ™” ๊ฐ€๋Šฅ

  • ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ˜ํ”Œ์˜ ๋ฐ€๋„ ์ถ”์ •, ์ ์ˆ˜ ์ •๊ทœํ™”๋Š” ์ƒ˜ํ”Œ๊ณผ ์ ์ˆ˜์—๋งŒ ์˜์กดํ•˜๋ฏ€๋กœ ๋ณ‘๋ ฌํ™” ๊ฐ€๋Šฅ
  • ์ ์‘์˜ ๊ฒฝ์šฐ. ์ž์› ์ตœ์†Œํ™” ๋ชฉํ‘œ๋Š” ๋ณ‘๋ ฌํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์ •ํ™•๋„ ์ตœ๋Œ€ํ™”๋Š” ์ตœ๋Œ€ ์ •ํ™•๋„๊ฐ€ ๊ฐœ๋ณ„ ์ž‘์—…์˜ ํ•„์š” ์ž์›์— ์˜์กดํ•˜๋ฏ€๋กœ ๋ณ‘๋ ฌํ™” ๋ถˆ๊ฐ€

Data plane

image.png

P4๋Š” ๋‹ค๋‹จ๊ณ„ ํŒŒ์ดํ”„๋ผ์ธ์„ ๋ฐฉ์‹์ด๋ฉฐ, ๊ฐ ๋‹จ๊ณ„๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋งค์น˜-์•ก์…˜ ํ…Œ์ด๋ธ”์ด ์ ์šฉ.

P4 ํ”„๋กœ๊ทธ๋žจ์€ ์•„ํ‚คํ…์ฒ˜์™€ configuration์œผ๋กœ ๋ถ„๋ฆฌ

  • ์•„ํ‚คํ…์ฒ˜ : ํ…Œ์ด๋ธ” ๋ ˆ์ด์•„์›ƒ์ด๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์œ ํ˜• ๋ฐ ํฌ๊ธฐ์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์˜ ์ œ์–ด ํ๋ฆ„
    • ์•„ํ‚คํ…์ฒ˜ ๋ณ€๊ฒฝ์„ ์œ„ํ•ด์„œ๋Š” ์ƒˆ ์•„ํ‚คํ…์ฒ˜ ์„ค์น˜๋ฅผ ์œ„ํ•ด ์Šค์œ„์น˜๋ฅผ ์žฌ์‹œ์ž‘ ๋ฐ ์ปดํŒŒ์ผ
  • configuration : ํ…Œ์ด๋ธ” ๊ทœ์น™, ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ ๋ฐ ๋ฏธํ„ฐ ์†๋„๋ฅผ ํฌํ•จํ•˜๋ฉฐ ๋Ÿฐํƒ€์ž„์— ๋ณ€๊ฒฝ

๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์—…์„ ์œ„ํ•œ ์ดˆ๊ธฐ ์„ค์ •์˜ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ํ• ๋‹น์€ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์œผ๋กœ ์‹ ์ค‘ํžˆ ๊ฒฐ์ •ํ•ด์•ผํ•จ. ์ ์‘ํ˜• ์ƒ˜ํ”Œ๋ง์€ configuration ๋ณ€๊ฒฝ

๋™์ž‘ ํ๋ฆ„

  1. ์ „์ฒ˜๋ฆฌ : ํŠธ๋ž˜ํ”ฝ ๋งค์นญ ๋ฐ ํŠน์ง• ์ถ”์ถœ
    • ํ•„ํ„ฐ๋ง
      • ์ œ์•ฝ ์กฐ๊ฑด์€ ํŒจํ‚ท์˜ 5-tuple์„ ๋งค์นญํ•˜๊ณ , ๋ชจ๋“  ํ™œ์„ฑ ๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์—…์˜ ID๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ID๊ฐ€ ๋ฐ˜ํ™˜๋  ๋•Œ ํ•ด๋‹น ๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์—…์ด ํ™œ์„ฑํ™”
      • ํ…Œ์ด๋ธ”์˜ Ternary matches : ์ผ๋ฐ˜์ ์ธ ์Šค์œ„์น˜๋ณด๋‹ค ๋ณต์žกํ•œ ์กฐ๊ฑด ๊ฒ€์‚ฌ ๊ฐ€๋Šฅ. ํ•˜๋‚˜์˜ ํŒจํ‚ท์ด ์—ฌ๋Ÿฌ ๊ฐœ ๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์—…์— ํ•ด๋‹น ๊ฐ€๋Šฅ
    • Flowlet(์ž‘์€ ๋‹จ์œ„์˜ ํŒจํ‚ท ํ๋ฆ„) ์ƒํƒœ ํ™•์ธ
      • ํ˜„์žฌ ํŒจํ‚ท์˜ ์ƒํƒœ ํ™•์ธ
        1. ํŒจํ‚ท์ด ์ƒˆ ํ”Œ๋กœ๋ฆฟ์˜ ์‹œ์ž‘
        2. ํŒจํ‚ท์ด ํ™œ์„ฑ ํ”Œ๋กœ๋ฆฟ์— ์†ํ•จ
        3. ํŒจํ‚ท์ด ํ”Œ๋กœ๋ฆฟ์„ ์ข…๋ฃŒ (FIN)
        4. ํ•ด์‹œ ์ถฉ๋Œ๋กœ ์ธํ•ด ์ƒํƒœ๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
      • ์ถฉ๋Œ๊ณผ ํƒ€์ž„์•„์›ƒ์„ ๋ชจ๋‘ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ํ”Œ๋กœ์šฐ ID์™€ ํ”Œ๋กœ๋ฆฟ์˜ ๋งˆ์ง€๋ง‰ ํŒจํ‚ท ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์ €์žฅ
    • ํŠน์ง• ์ถ”์ถœ
      • ๋งค ํŒจํ‚ท๋งˆ๋‹ค ๋ชจ๋“  ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ธฐ๋Š” ์–ด๋ ต๊ณ  ์ด๋Ÿฐ ์ถ”์ถœ๋˜์ง€ ์•Š์€ ํŠน์ง•์€ ์ƒ˜ํ”Œ๋ง ๋ฐ ์ ์ˆ˜ ์‚ฐ์ •์—์„œ ์ œ์™ธ
        • EX) ํ”Œ๋กœ๋ฆฟ ์ง€์† ์‹œ๊ฐ„์€ ๋งˆ์ง€๋ง‰ ํŒจํ‚ท๋งŒ ์ถ”์ถœ ๊ฐ€๋Šฅ
  2. ์ƒ˜ํ”Œ๋ง : ์†๋„ ์ œํ•œ meter๋ฅผ ํ†ตํ•ด ํŠน์ง•์„ ์ƒ˜ํ”Œ๋งํ•  ์ง€ ์ ์ˆ˜ ์‚ฐ์ •์— ์‚ฌ์šฉํ•  ์ง€ ๊ฒฐ์ •.
    • direct meter : ํŠน์ง• ์ถ”์ถœ ํ…Œ์ด๋ธ”์— ๋ถ€์ฐฉ. ๊ฐ ๋งค์น˜์— ๋Œ€ํ•ด ๊ฐœ๋ณ„์ ์ธ ์†๋„๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋งค์น˜๋  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์‹คํ–‰
    • meter๋ฅผ ํ†ตํ•ด ํŠน์ • ์†๋„ ๋ฐ‘์ด๋ฉด ์ƒ˜ํ”Œ๋ง ํŠน์ • ์†๋„ ์ดˆ๊ณผ๋ฉด ์ ์ˆ˜ ์‚ฐ์ •์„ ํ•จ.
    • ์ƒ˜ํ”Œ๋ง์€ ์ƒˆ๋กœ์šด ํŒจํ‚ท์„ ์ƒ์„ฑํ•˜์—ฌ control plane์— ๋ณด๋ƒ„
  3. ์ ์ˆ˜ ์‚ฐ์ •

    ํŒŒ์ดํ”„๋ผ์ธ ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์—์„œ ์ƒ˜ํ”Œ๋ง๋˜์ง€ ์•Š์€ ํŠน์ง• ๊ฐ’๋“ค์„ ํ…Œ์ŠคํŠธ ์ƒ˜ํ”Œ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”์ • ์ ์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธ. ํ…Œ์ŠคํŠธ ์ƒ˜ํ”Œ์˜ ์ˆ˜์™€ ๋ณด์ƒ์˜ ํ•ฉ๊ณ„๋ฅผ ์นด์šดํŠธ.

    • ์—ฌ๋Ÿฌ ์ž‘์—…์„ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ž‘์—… k๊ฐœ์˜ ์นด์šดํ„ฐ์™€ ํ…Œ์ŠคํŠธ ์ƒ˜ํ”Œ ์ˆ˜์— ๋Œ€ํ•œ ์นด์šดํ„ฐ 1๊ฐœ โ†’ k+1๊ฐœ์˜ ์นด์šดํ„ฐ ํ•„์š”

    Ternary match๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•๋ฅ  ๊ณ„์‚ฐ. ํŒจํ‚ท ํฌ๊ธฐ๋Š” ์–‘์žํ™”๋ฅผ ํ•˜๊ณ  ํ™•๋ฅ ์„ ์ •์ˆ˜๋กœ ๋งŒ๋“ฆ. ํ™•๋ฅ  ๋ณ€ํ™”๊ฐ€ ์‹ฌํ•œ ๊ณณ์€ ์ด˜์ด˜ํ•˜๊ฒŒ ์™„๋งŒํ•œ ๊ณณ์€ ๋„“๊ฒŒ ์žก์•„ ํ…Œ์ด๋ธ” ์ˆ˜๋ฅผ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ํ•ด์ƒ๋„๋ฅผ ๋™์ ์œผ๋กœ ์กฐ์ •

    1. ์ œ์–ด ํ‰๋ฉด์—์„œ ๊ณก๋ฅ ์ด ๋†’์€ ๊ณณ๊ณผ ๋‚ฎ์€ ๊ณณ์„ ํŒŒ์•…
    2. ๋น„ํŠธ ๋งˆ์Šคํ‚น : 2์ง„์ˆ˜์—์„œ ๋งˆ์ง€๋ง‰ 3๋น„ํŠธ๋ฅผ ๋ฌด์‹œ(Ignore)ํ•˜๋ฉด, 2^3 = 8๊ฐœ ์ˆซ์ž๋ฅผ ๋™์‹œ์— ๊ฒ€์ƒ‰ํ•˜๋Š” ํšจ๊ณผ
      1. ์ด˜์ด˜ํ•œ ๊ตฌ๊ฐ„์€ ๋นˆ ํฌ๊ธฐ๋ฅผ 2 or 4๋กœ ์žก์•„์„œ TCAM์˜ ๋งˆ์ง€๋ง‰ 1~2๋น„ํŠธ๋งŒ ๋ฌด์‹œ
      2. ๋„“์€ ๊ตฌ๊ฐ„์€ 2^5, 2^8๋กœ ์žก์•„์„œ TCAM์˜ ๋งˆ์ง€๋ง‰ 5~8๋น„ํŠธ๋ฅผ ๋ฌด์‹œ
    3. ํ…Œ์ด๋ธ” ์—”ํŠธ๋ฆฌ์— ํ• ๋‹น

Evaluation

๋ฐฉ๋ฒ•๋ก 

Ground Truth : FitNets์˜ ์„ฑ๋Šฅ, ํŠนํžˆ ์ ์ˆ˜ ์ •๊ทœํ™”์˜ ์ •ํ™•๋„๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์ค€์ด ๋˜๋Š” ์‹ค์ œ ๋ถ„ํฌ(Ground Truth)

  • ๋ฐ์ดํ„ฐ์…‹

    CAIDA ๋ฐฑ๋ณธ ํŠธ๋ ˆ์ด์Šค๋ฅผ ๋ถ„์„ํ•˜์—ฌ 5๊ฐ€์ง€ ์„œ๋กœ ๋‹ค๋ฅธ ํŠธ๋ž˜ํ”ฝ ํŠน์ง•์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

    image.png

    • e : ํ”Œ๋กœ๋ฆฟ ์ง€์† ์‹œ๊ฐ„ ๋ถ„ํฌ๋Š” ๋” ๋ณต์žกํ•จ
  • ์ธก์ • ๊ธฐ์ค€
    1. ๋ฐ€๋„ ์ถ”์ •์˜ ๊ธฐ๋Œ€ ์ ์ˆ˜
    2. ์ตœ์  ์ ์ˆ˜
    3. ๊ธฐ๋Œ€ ์ ์ˆ˜๋ฅผ ์ตœ์  ์ ์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด ์–ป์€ ์ •ํ™•๋„/์ •๊ทœํ™” ์ ์ˆ˜
    4. ์ถ”์ •์น˜์™€ ์‹ค์ œ ๋ถ„ํฌ ์‚ฌ์ด์˜ ํ†ตํ•ฉ ์ œ๊ณฑ ์˜ค์ฐจ(ISE)
  • ๊ตฌํ˜„

    1,000๋ผ์ธ์˜ Python ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉ. ์ œ์–ด ํ‰๋ฉด์˜ ๋ฉ€ํ‹ฐ์ฝ”์–ด ๋ฒ„์ „์„ ๊ตฌํ˜„. ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ ์Šค์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ท์„ ์ฒ˜๋ฆฌ.

    P4Tofino๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ FitNets ๋ฐ์ดํ„ฐ ํ‰๋ฉด์˜ P4 ๋ฒ„์ „์„ ๊ฐ๊ฐ ์•ฝ 500๋ผ์ธ์˜ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„

๋ฐ€๋„ ์ถ”์ •

image.png

ํ›ˆ๋ จ ์ƒ˜ํ”Œ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์–ด๋–ค ๋ถ„ํฌ๋“  ์ ๊ทผ์ ์œผ๋กœ ๊ทผ์‚ฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ผ๋ถ€ ๋ถ„ํฌ๋Š” ๋‹ค๋ฅธ ๋ถ„ํฌ๋ณด๋‹ค ๋” ํฐ ์ƒ˜ํ”Œ ํฌ๊ธฐ๋ฅผ ํ•„์š”

  • ์‹คํ—˜ ๋ฐฉ๋ฒ• : ์ƒ˜ํ”Œ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ ค๊ฐ€๋ฉฐ KDE๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์‹ค์ œ ๋ถ„ํฌ์™€์˜ ์˜ค์ฐจ(ISE)๋ฅผ ์ธก์ •.

๋ฐ์ดํ„ฐ ํ‰๋ฉด ์ ์ˆ˜ ์‚ฐ์ •

image.png

ํ›ˆ๋ จ ์ƒ˜ํ”Œ๊ณผ ๊ฑฐ์˜ ๋น„์Šทํ•œ ํฌ๊ธฐ์˜ ํ…Œ์ŠคํŠธ ์ƒ˜ํ”Œ์ด ์žˆ์–ด์•ผ๋งŒ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ

FitNets๋Š” ์ ์€ ์ˆ˜(1%)๋กœ ์ƒ˜ํ”Œ๋งํ•˜๊ณ  ๋‚˜๋จธ์ง€(99%)๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋ฅผ ์–ป๊ฒŒ ๋จ.

์ •๊ทœํ™”

image.png

  • ์‹คํ—˜ ๋ฐฉ๋ฒ• : ์„œ๋ธŒ ์ƒ˜ํ”Œ๋“ค์„ ๋งŒ๋“ค์–ด ์ถ”๊ฐ€ ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜์—ฌ ์ตœ์  ์ ์ˆ˜๋ฅผ ์ถ”์ •.

5๊ฐœ์ผ ๋•Œ๋Š” 5% ๋ฏธ๋งŒ์œผ๋กœ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์“ฐ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์„œ๋ธŒ ๋ชจ๋ธ๋“ค๋กœ๋„ ์ •๋ฐ€ํ•˜๊ฒŒ ์˜ˆ์ธก ๊ฐ€๋Šฅ

๋” ๋งŽ์€ ์ˆ˜์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ˜ํ”Œ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์„ ์‹ค์งˆ์ ์œผ๋กœ ๋” ๊ฐœ์„ ํ•˜์ง€๋Š” ์•Š๋Š”๋ฐ, ์ด๋Š” ํ›ˆ๋ จ ์ƒ˜ํ”Œ์ด ์ ์  ๋” ์ž‘์€ ํฌ๊ธฐ์˜ ์„œ๋ธŒ ์ƒ˜ํ”Œ๋กœ ๋‚˜๋‰˜๋ฉด์„œ ์ถ”๊ฐ€ ์ถ”์ •๊ธฐ๋“ค์˜ ํ’ˆ์งˆ์ด ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ

๋ฒค์น˜ ๋งˆํฌ

image.png

  • ์‹คํ—˜ ๋ฐฉ๋ฒ• : control plane์˜ ์‹œ๊ฐ„ ์ธก์ •
  • ๋ฐ€๋„ ์ถ”์ • ์‹œ๊ฐ„ : ์ตœ๋Œ€ 10๋งŒ ๊ฐœ์˜ ์ƒ˜ํ”Œ์— ๋Œ€ํ•œ ๋ถ„ํฌ๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฐ ์•ฝ 40๋ฐ€๋ฆฌ์ดˆ๊ฐ€ ์†Œ์š”. ์ƒ˜ํ”Œ ํฌ๊ธฐ๊ฐ€ ๋” ์ปค์ง€๋ฉด ์‹œ๊ฐ„์€ ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋ฉฐ, 390๋งŒ ๊ฐœ์˜ ์ƒ˜ํ”Œ์— ๋Œ€ํ•ด์„œ๋Š” ์•ฝ 1์ดˆ๊ฐ€ ํ•„์š”.
    • ๋‹ค์ค‘ ๋ฐ€๋„ ์ถ”์ •์œผ๋กœ ํ™•์žฅํ•˜๋Š” ๊ณผ์ •์€ ๋ณ‘๋ ฌํ™”๊ฐ€ ๊ฐ€๋Šฅ
  • ์ตœ์ ํ™” & ์ •๊ทœํ™” ์‹œ๊ฐ„
    • ์ตœ์ ํ™”๋‹น 10๋ฐ€๋ฆฌ์ดˆ ๋ฏธ๋งŒ์ด ์†Œ์š”
    • ์ •ํ™•ํ•œ ์ •๊ทœํ™”๋ฅผ ์œ„ํ•ด ๋งŽ์€ ์ˆ˜์˜ ์ƒ˜ํ”Œ ํฌ๊ธฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ 500๊ฐœ์˜ ๊ฐœ๋ณ„ ์ž‘์—…์— ๋Œ€ํ•ด 50ms ๋ฏธ๋งŒ์ด ์†Œ์š”

Case Studies: Adaptive Allocation

  • ์ž์› ์ตœ์†Œํ™”

    ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ ํŠน์ง•์— ๋Œ€ํ•ด 0.98์˜ ์ •ํ™•๋„ ๋ชฉํ‘œ๋ฅผ ์ง€์ •. FitNets๋Š” ํ•„์š”ํ•œ ์ƒ˜ํ”Œ ์ˆ˜๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ์ค„์ด๋ฉด์„œ๋„, ์ผ๋ฐ˜์ ์œผ๋กœ $\pm 0.02$, ์ตœ์•…์˜ ๊ฒฝ์šฐ $\pm 0.04$ ์ด๋‚ด๋กœ ์š”๊ตฌ ์ •ํ™•๋„๋ฅผ ์œ ์ง€

  • ์ •ํ™•๋„ ์ตœ๋Œ€ํ™”

    image.png

    ๊ณ ์ •๋œ ๋Œ€์—ญํญ์˜ ์ •์  ํ• ๋‹น๊ณผ์˜ ๋น„๊ต. ๋” ๋†’์€ ์ •ํ™•๋„ ๋‹ฌ์„ฑ

๊ด€๋ จ ์—ฐ๊ตฌ

์Šค์ผ€์น˜

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ž์ฒด๊ฐ€ ๋„คํŠธ์›Œํฌ ๋‚ด ์ฒ˜๋ฆฌ์— ๋งค๋ ฅ์ ์ด๊ธฐ ๋•Œ๋ฌธ์—, FitNets์—์„œ ์ƒํƒœ ์ง‘์•ฝ์ ์ธ ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•œ ๋นŒ๋”ฉ ๋ธ”๋ก์œผ๋กœ์„œ ํฅ๋ฏธ๋กœ์šด ์š”์†Œ

์ ์‘ํ˜• ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ

๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ๋ถ„์•ผ์—์„œ๋Š” ์ •ํ™•๋„ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์—ญํญ์„ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์‹ค์šฉ์ ์ด๊ณ  ํšจ๊ณผ์ ์ž„์ด ์ž…์ฆ. ์ ์ • ์ ์ˆ˜ ์‚ฐ์ • ๊ทœ์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„

Conclusion

์ œ์–ด ํ‰๋ฉด(Control Plane)๊ณผ ๋ฐ์ดํ„ฐ ํ‰๋ฉด(Data Plane)์„ ํ”ผ๋“œ๋ฐฑ ๋ฃจํ”„ ์ •ํ™•๋„ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๊ฑฐ๋‚˜ ๊ณ ์ •๋œ ์ƒ˜ํ”Œ๋ง ์˜ˆ์‚ฐ ๋‚ด์—์„œ ์ •ํ™•๋„๋ฅผ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ชฉํ‘œ์— ์ ์‘ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์คŒ

Categories:

Updated:

Leave a comment