Scalable Mul*-Class Traffic Management in Data Center - - PowerPoint PPT Presentation
Scalable Mul*-Class Traffic Management in Data Center - - PowerPoint PPT Presentation
Scalable Mul*-Class Traffic Management in Data Center Backbone Networks Amitabha Ghosh (UtopiaCompression) Sangtae Ha (Princeton) Edward Crabbe (Google) Jennifer
Outline ¡
- Mo*va*on ¡
- Contribu*ons ¡
- Model ¡and ¡Formula*on ¡
- Scalable ¡Designs ¡
- Performance ¡Evalua*on ¡
- Conclusions ¡
Mo*va*ons ¡
q Mul*ple ¡interconnected ¡data ¡centers ¡(DCs) ¡with ¡mul*ple ¡paths ¡between ¡ them ¡ q DCs, ¡traffic ¡sources, ¡and ¡backbone ¡owned ¡by ¡the ¡same ¡OSP, ¡e.g., ¡Google, ¡ Yahoo, ¡MicrosoR ¡
Backbone ¡
q Traffic ¡with ¡different ¡performance ¡ requirements ¡ q Different ¡business ¡importance ¡
Data ¡center ¡& ¡host ¡
Contribu*ons ¡
Controlling ¡the ¡three ¡“knobs” ¡
q Sending ¡rates ¡of ¡hosts ¡ q Weights ¡on ¡link ¡schedulers ¡ q SpliYng ¡of ¡traffic ¡across ¡paths ¡ Joint ¡op*miza*on ¡of ¡rate ¡control, ¡ rou*ng, ¡and ¡link ¡scheduling ¡
Data ¡center ¡ backbone ¡ Source ¡DC ¡& ¡host ¡ ¡ Des*na*on ¡ host ¡& ¡DC ¡ ¡ Edge ¡ router ¡ ¡
Contribu*ons ¡
q Computa*on ¡is ¡distributed ¡across ¡mul*ple ¡*ers ¡using ¡a ¡few ¡controllers ¡ ¡ q Result ¡is ¡provably ¡op*mal ¡using ¡op*miza*on ¡decomposi*on ¡ ¡ q Semi-‑centralized ¡solu*ons ¡viable ¡and, ¡in ¡fact, ¡preferred ¡in ¡prac*ce, ¡e.g., ¡ Google’s ¡B4 ¡globally-‑deployed ¡soRware ¡defined ¡private ¡WAN ¡(SIGCOMM ¡‘13) ¡
Fully-‑centralized ¡ Not ¡scalable ¡ Fully-‑distributed ¡ Scaling ¡issues ¡due ¡to ¡ message ¡passing, ¡slow ¡ convergence ¡ Semi-‑centralized: ¡Our ¡work ¡ Modular, ¡scalable ¡with ¡low ¡message-‑ passing ¡and ¡fast ¡convergence ¡ ¡ TRUMP ¡(CoNEXT ¡‘07) ¡ DaVinci ¡(CoNEXT ¡‘08) ¡
Model ¡and ¡Formula*on ¡
Traffic ¡Model ¡
q Performance ¡requirements ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Set ¡of ¡traffic ¡classes ¡ q Mul*ple ¡flows ¡per ¡class ¡
- Flow: ¡traffic ¡between ¡a ¡source-‑des*na*on ¡pair ¡
¡
q Business ¡importance ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡flow ¡weight ¡
¡
U*lity ¡Func*on ¡of ¡a ¡Class ¡
q All ¡flows ¡in ¡the ¡same ¡class ¡have ¡the ¡same ¡u*lity ¡func*on ¡ ¡ q For ¡simplicity, ¡assume ¡only ¡throughput ¡and ¡delay ¡sensi*ve ¡traffic ¡
f k(·) gk(·)
U k(·)
wk
s
K = {k} s ∈ Fk
Model ¡and ¡Formula*on ¡
Network ¡Model ¡
q Set ¡of ¡unidirec*onal ¡links ¡
- Capacity ¡
- Propaga*on ¡delay ¡
¡ q Set ¡of ¡paths ¡ ¡ q Rou*ng ¡matrix ¡ q One ¡queue ¡per ¡class ¡ ¡ q Mul*-‑path ¡rou*ng ¡
- Path ¡rate ¡of ¡flow ¡s ¡of ¡class ¡k ¡over ¡path ¡p ¡
L = {l} cl pl A = [Alp] R = ⇥ Rk
sp
⇤
Topology ¡matrix ¡ Path ¡rou*ng ¡matrix ¡
zk
sp
P = {p}
smaller ¡ larger ¡
Model ¡and ¡Formula*on ¡
Throughput ¡ sensi*vity ¡of ¡ class ¡k, ¡e.g., ¡ log(.) ¡ Delay ¡ sensi*vity ¡
- f ¡class ¡k ¡
Weight ¡of ¡ flow ¡s ¡of ¡ class ¡k ¡ Coefficients ¡to ¡model ¡different ¡degrees ¡
- f ¡sensi*vity ¡to ¡throughput ¡and ¡delay ¡
Total ¡sending ¡ rate ¡of ¡flow ¡s ¡
- f ¡class ¡k ¡
U*liza*on ¡
- f ¡class ¡k ¡
- ver ¡link ¡l ¡
U k
s = wk s
akf k(xk
s) − bkgk(uk l )
- U*lity ¡of ¡Flow ¡s ¡of ¡Class ¡k ¡
Sum ¡of ¡the ¡products ¡of ¡path ¡rates ¡and ¡ average ¡end-‑to-‑end ¡delays ¡on ¡those ¡paths ¡
Model ¡and ¡Formula*on ¡
Objec*ve ¡Func*on ¡
q Data ¡centers, ¡backbone ¡and ¡traffic ¡sources ¡under ¡the ¡same ¡OSP ¡
- wnership ¡
¡ q Maximize ¡the ¡sum ¡of ¡u*li*es ¡of ¡all ¡flows ¡across ¡all ¡traffic ¡classes ¡ (global ¡“social ¡welfare”) ¡
Global ¡Problem ¡G: ¡
subject to ARkzk yk, 8k X
k
yk
l ≤ cl,
∀l variables zk ⌫ 0, 8k maximize U = X
k
X
s∈Fk
U k
s
Two-‑Tier ¡Design ¡
Network ¡
C1 ¡ CK ¡
Classes ¡ . ¡. ¡. ¡ ¡ F F F F F F F Flows ¡ Link ¡Coordinator ¡(LC) ¡ ¡ Op*mizes ¡aggregate ¡ link ¡bandwidth ¡across ¡ classes ¡ Class ¡Allocator ¡(CA) ¡ ¡ Op*mizes ¡sending ¡ rates ¡across ¡flows ¡in ¡ its ¡own ¡class ¡
- A ¡centralized ¡en*ty ¡
- Knows ¡network ¡topology ¡
- One ¡for ¡each ¡class ¡ ¡
- Knows ¡the ¡u*lity ¡
func*on, ¡weights, ¡and ¡ paths ¡of ¡individual ¡flows ¡ in ¡its ¡own ¡class ¡
Each ¡controller ¡has ¡a ¡limited ¡view ¡about ¡the ¡network ¡and ¡inter-‑DC ¡traffic ¡
yk zk
Coordina*on ¡
Two-‑Tier ¡Design ¡
Network ¡
C1 ¡ CK ¡
Classes ¡ . ¡. ¡. ¡ ¡ F F F F F F F Flows ¡ Message-‑passing ¡ Message-‑passing ¡
- Coordina*on ¡
Two-‑Tier ¡Decomposi*on ¡
Primal ¡Decomposi*on ¡
Link ¡Coordinator ¡ Coordinates ¡all ¡the ¡subproblems ¡ Class ¡Allocator ¡ Solves ¡independently ¡
Two-‑Tier ¡Decomposi*on ¡
Primal ¡Decomposi*on ¡
Link ¡Coordinator ¡ Coordinates ¡all ¡the ¡subproblems ¡ Class ¡Allocator ¡ Solves ¡independently ¡
- Subproblem ¡for ¡Class ¡k ¡
variables zk ⌫ 0 subject to ARkzk yk 8k maximize Uk = X
s∈Fk
U k
s
Two-‑Tier ¡Decomposi*on ¡
Primal ¡Decomposi*on ¡
Link ¡Coordinator ¡ Coordinates ¡all ¡the ¡subproblems ¡ Class ¡Allocator ¡ Solves ¡independently ¡
- Subproblem ¡for ¡Class ¡k ¡
variables zk ⌫ 0 subject to ARkzk yk 8k maximize Uk = X
s∈Fk
U k
s
Master ¡Primal ¡
maximize U = X
k
Uk∗(yk) subject to X
k
yk
l ≤ cl
∀l variables yk ⌫ 0
Two-‑Tier ¡Decomposi*on ¡
Primal ¡Decomposi*on ¡
Link ¡Coordinator ¡ Coordinates ¡all ¡the ¡subproblems ¡ Class ¡Allocator ¡ Solves ¡independently ¡
- Message-‑Passing ¡
- yk : Aggregate bandwidth assigned to class k
λk∗ : Optimal subgradient of CLASS(k)
step size : β
Three-‑Tier ¡Design ¡
Network ¡
C1 ¡ CK ¡
Classes ¡ . ¡. ¡. ¡ ¡ F F F F F F F Flows ¡
Why ¡another ¡*er? ¡(High ¡control ¡overhead) ¡
q Flow ¡of ¡a ¡given ¡class ¡may ¡originate ¡from ¡any ¡DC ¡ q Each ¡class ¡allocator ¡poten*ally ¡communicates ¡ with ¡all ¡DCs ¡
Three-‑Tier ¡Design ¡
Network ¡
C1 ¡ CK ¡
Classes ¡ . ¡. ¡. ¡ ¡ F F F F F F F Flows ¡
Why ¡another ¡*er? ¡(High ¡control ¡overhead) ¡
q Flow ¡of ¡a ¡given ¡class ¡may ¡originate ¡from ¡any ¡DC ¡ q Each ¡class ¡allocator ¡poten*ally ¡communicates ¡ with ¡all ¡DCs ¡
C1 ¡ CK ¡
Classes ¡ . ¡. ¡. ¡ ¡
DC1 ¡ DCj ¡ DCJ ¡
F F F F F F F Flows ¡ . ¡. ¡. ¡ ¡ . ¡. ¡. ¡ ¡ Data ¡ centers ¡
Three-‑Tier ¡Design ¡
Network ¡
C1 ¡ CK ¡
Classes ¡ . ¡. ¡. ¡ ¡
DC1 ¡ DCj ¡ DCJ ¡
F F F F F F F Flows ¡ . ¡. ¡. ¡ ¡ . ¡. ¡. ¡ ¡ Data ¡ centers ¡ Link ¡Coordinator ¡(LC) ¡ ¡ Op*mizes ¡aggregate ¡link ¡ bandwidth ¡across ¡classes ¡ Class ¡Allocator ¡(CA) ¡ ¡ Op*mizes ¡aggregate ¡link ¡ bandwidth ¡across ¡DCs ¡sending ¡ traffic ¡in ¡its ¡own ¡class ¡ Data ¡Center ¡Allocator ¡(DCA) ¡ ¡ Op*mizes ¡sending ¡rates ¡across ¡ flows ¡in ¡its ¡own ¡class ¡origina*ng ¡ from ¡its ¡own ¡DC ¡
yk zk ykj
One ¡ centralized ¡ en*ty ¡ One ¡per ¡ class ¡ One ¡per ¡class, ¡per ¡DC ¡
Three-‑Tier ¡Design ¡
Message-‑passing ¡ Message-‑passing ¡ Message-‑passing ¡
Three-‑Tier ¡Decomposi*on ¡
2-‑Level ¡Primal ¡Decomposi*on ¡
Link ¡Coordinator ¡ Coordinates ¡the ¡secondary ¡primals ¡ Class ¡Allocator ¡ Coordinates ¡the ¡ subproblems ¡of ¡its ¡
- wn ¡class ¡
Data ¡Center ¡Allocator ¡ ¡Solves ¡independently ¡
Three-‑Tier ¡Decomposi*on ¡
Message-‑Passing ¡
- Inner ¡loop ¡
faster ¡ Outer ¡loop ¡ slower ¡
ykj : Aggregate bandwidth assigned to DC j sending traffic of class k yk : Aggregate bandwidth assigned to class k
λkj∗ : Optimal subgradient of DATACENTER(k,j) sk∗ : Optimal subgradient of CLASS(k)
Performance ¡Evalua*on ¡
- 4 ¡DCs ¡
1 ¡Gbps ¡link ¡capacity ¡in ¡each ¡direc*on ¡ First ¡3 ¡shortest ¡possible ¡paths ¡between ¡every ¡ pair ¡of ¡DCs ¡(36 ¡total) ¡ Two ¡classes ¡with ¡log ¡u*lity ¡func*ons ¡ Abilene ¡topology ¡
Performance ¡Metrics ¡
q Rate ¡of ¡convergence ¡ q Message-‑passing ¡overhead ¡
- Simple ¡topology ¡
DC1 ¡& ¡DC2 ¡send ¡traffic ¡to ¡DC3 ¡ 100 ¡Mbps ¡link ¡capacity ¡ Two ¡classes ¡with ¡log ¡u*lity ¡
Rate ¡of ¡Convergence ¡
50 100 150 2 4 6 8 10 # of iterations to convergence % error =1 =2 =5 =10 =20 100 200 300 400 500 5 10 15 # of iterations to convergence % error =1 =2 =5 =10 =20
Each ¡itera*on ¡is ¡in ¡the ¡order ¡of ¡a ¡few ¡seconds: ¡ ¡
q There ¡can ¡be ¡only ¡so ¡many ¡different ¡types ¡of ¡performance ¡requirements ¡(~10) ¡ q Only ¡so ¡many ¡inter-‑connected ¡DCs ¡(a ¡few ¡10s) ¡ Two-‑*er ¡ Class-level step size : β Three-‑*er ¡ DC-level step size : α = 2 Class-level step size : β
Rate ¡of ¡Convergence ¡
Three-‑*er: ¡Number ¡of ¡itera*ons ¡to ¡converge ¡for ¡different ¡combina*ons ¡of ¡ class-‑level ¡and ¡DC-‑level ¡step ¡sizes. ¡ 2 6 10 14 18 22 26 30 50 100 150 200 250
- # of iterations to convergence
=2 =4 =6 =10
Rate ¡of ¡Convergence ¡
Summary ¡of ¡the ¡convergence ¡behavior ¡
q In ¡prac*ce, ¡choose ¡step ¡sizes ¡that ¡converge ¡quickly. ¡ q Dynamic ¡traffic ¡demand: ¡For ¡private ¡OSP ¡backbone, ¡the ¡demand ¡variability ¡can ¡be ¡ controlled ¡to ¡some ¡extent ¡
Message-‑Passing ¡Overhead ¡
10 10
1
10
2
10
3
5 10 15x 10
5
# of flows in each class per data center # of messages exchanged 2−tier design 3−tier design
N 0 (2KL + 2JKLM) Two-‑*er: ¡ # ¡of ¡variables ¡ Three-‑*er: ¡ # ¡of ¡variables ¡ N @2KL + X
k
X
j
X
s∈Fkj
X
p
Rk
sp
1 A
N K L N 0 J M
- No. ¡of ¡classes ¡
- No. ¡of ¡backbone ¡links ¡
- No. ¡of ¡DCs ¡
- No. ¡of ¡class-‑level ¡alloca*ons ¡
to ¡converge ¡in ¡two-‑*er ¡and ¡ three-‑*er ¡designs ¡
- No. ¡of ¡DC-‑level ¡alloca*ons ¡to ¡
converge ¡in ¡three-‑*er ¡
(Un*l ¡convergence) ¡
q Messages ¡are ¡sent ¡over ¡the ¡wide ¡area ¡network ¡ q Number ¡of ¡messages ¡depends ¡on ¡the ¡number ¡of ¡flows ¡in ¡the ¡two-‑*er ¡design, ¡but ¡not ¡ in ¡the ¡three-‑*er ¡design ¡ q Small ¡compared ¡to ¡the ¡total ¡traffic ¡volume ¡ 100 ¡ 5 ¡
Conclusions ¡
q SoRware ¡defined ¡traffic ¡management ¡for ¡wide ¡area ¡data ¡center ¡backbone ¡ networks ¡ q Two ¡scalable ¡and ¡prac*cal ¡semi-‑centralized ¡designs ¡using ¡a ¡small ¡number ¡
- f ¡controllers ¡that ¡can ¡be ¡implemented ¡in ¡real-‑world ¡data ¡center ¡
backbones ¡(Google) ¡ q Joint ¡rate ¡control, ¡rou*ng, ¡and ¡link ¡scheduling ¡using ¡op*miza*on ¡in ¡a ¡ modular, ¡*ered ¡design ¡ q Results ¡provably ¡op*mal ¡using ¡principles ¡of ¡op*miza*on ¡decomposi*on ¡ q Tradeoff ¡between ¡rate ¡of ¡convergence ¡and ¡message-‑passing ¡– ¡choose ¡the ¡ design ¡that ¡suits ¡the ¡OSP ¡best ¡
Thank ¡You ¡
q Amitabha ¡Ghosh, ¡Sangtae ¡Ha, ¡Edward ¡Crabbe, ¡and ¡Jennifer ¡Rexford, ¡“Scalable ¡ Mul*-‑Class ¡Traffic ¡Management ¡in ¡Data ¡Center ¡Backbone ¡Networks,” ¡IEEE ¡ JSAC: ¡Networking ¡Challenges ¡in ¡Cloud ¡Compu*ng ¡Systems ¡and ¡Applica*ons, ¡
- vol. ¡13, ¡no. ¡12, ¡2013 ¡(in ¡press). ¡
¡ ¡ ¡ ¡ ¡ ¡hsp://anrg.usc.edu/~amitabhg/papers/JSAC-‑CloudCompu*ng-‑2013.pdf ¡