Scalable ¡Mul*-‑Class ¡Traffic ¡Management ¡ in ¡Data ¡Center ¡Backbone ¡Networks ¡ Amitabha ¡Ghosh ¡(UtopiaCompression) ¡ Sangtae ¡Ha ¡(Princeton) ¡ Edward ¡Crabbe ¡(Google) ¡ Jennifer ¡Rexford ¡(Princeton) ¡
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 ¡ q Traffic ¡with ¡different ¡performance ¡ requirements ¡ q Different ¡business ¡importance ¡ Backbone ¡ Data ¡center ¡& ¡host ¡
Contribu*ons ¡ Controlling ¡the ¡three ¡“knobs” ¡ Joint ¡op*miza*on ¡of ¡rate ¡control, ¡ q Sending ¡rates ¡of ¡hosts ¡ rou*ng, ¡and ¡link ¡scheduling ¡ q Weights ¡on ¡link ¡schedulers ¡ q SpliYng ¡of ¡traffic ¡across ¡paths ¡ Data ¡center ¡ backbone ¡ Edge ¡ Source ¡DC ¡& ¡host ¡ ¡ Des*na*on ¡ router ¡ ¡ host ¡& ¡DC ¡ ¡
Contribu*ons ¡ TRUMP ¡(CoNEXT ¡‘07) ¡ DaVinci ¡(CoNEXT ¡‘08) ¡ Fully-‑centralized ¡ Fully-‑distributed ¡ Not ¡scalable ¡ Scaling ¡issues ¡due ¡to ¡ message ¡passing, ¡slow ¡ Semi-‑centralized: ¡Our ¡work ¡ convergence ¡ Modular, ¡scalable ¡with ¡low ¡message-‑ passing ¡and ¡fast ¡convergence ¡ ¡ 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) ¡
Model ¡and ¡Formula*on ¡ Traffic ¡Model ¡ q Performance ¡requirements ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Set ¡of ¡traffic ¡classes ¡ K = { k } q Mul*ple ¡flows ¡per ¡class ¡ • Flow: ¡traffic ¡between ¡a ¡source-‑des*na*on ¡pair ¡ s ∈ F k ¡ w k q Business ¡importance ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡flow ¡weight ¡ s ¡ U*lity ¡Func*on ¡of ¡a ¡Class ¡ q All ¡flows ¡in ¡the ¡same ¡class ¡have ¡the ¡same ¡u*lity ¡func*on ¡ U k ( · ) ¡ q For ¡simplicity, ¡assume ¡only ¡throughput ¡and ¡delay ¡sensi*ve ¡traffic ¡ f k ( · ) g k ( · )
Model ¡and ¡Formula*on ¡ Network ¡Model ¡ q Set ¡of ¡unidirec*onal ¡links ¡ L = { l } • Capacity ¡ c l • Propaga*on ¡delay ¡ p l ¡ q Set ¡of ¡paths ¡ P = { p } ¡ R k ⇥ ⇤ R = q Rou*ng ¡matrix ¡ A = [ A lp ] sp Path ¡rou*ng ¡matrix ¡ Topology ¡matrix ¡ larger ¡ smaller ¡ q One ¡queue ¡per ¡class ¡ ¡ q Mul*-‑path ¡rou*ng ¡ z k • Path ¡rate ¡of ¡flow ¡s ¡of ¡class ¡k ¡over ¡path ¡p ¡ sp
Model ¡and ¡Formula*on ¡ U*lity ¡of ¡Flow ¡s ¡of ¡Class ¡k ¡ Coefficients ¡to ¡model ¡different ¡degrees ¡ of ¡sensi*vity ¡to ¡throughput ¡and ¡delay ¡ � U k s = w k a k f k ( x k s ) − b k g k ( u k l ) s Weight ¡of ¡ Throughput ¡ Total ¡sending ¡ Delay ¡ U*liza*on ¡ flow ¡s ¡of ¡ sensi*vity ¡of ¡ rate ¡of ¡flow ¡s ¡ sensi*vity ¡ of ¡class ¡k ¡ class ¡k ¡ class ¡k, ¡e.g., ¡ of ¡class ¡k ¡ of ¡class ¡k ¡ over ¡link ¡l ¡ log(.) ¡ 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 ¡ ownership ¡ ¡ q Maximize ¡the ¡sum ¡of ¡u*li*es ¡of ¡all ¡flows ¡across ¡all ¡traffic ¡classes ¡ (global ¡“social ¡welfare”) ¡ X X U k maximize U = s k s ∈ F k Global ¡Problem ¡G: ¡ AR k z k � y k , subject to 8 k X y k l ≤ c l , ∀ l k z k ⌫ 0 , variables 8 k
Two-‑Tier ¡Design ¡ Each ¡controller ¡has ¡a ¡limited ¡view ¡about ¡the ¡network ¡and ¡inter-‑DC ¡traffic ¡ • A ¡centralized ¡en*ty ¡ Link ¡Coordinator ¡(LC) ¡ ¡ Network ¡ • Knows ¡network ¡topology ¡ Op*mizes ¡aggregate ¡ y k link ¡bandwidth ¡across ¡ classes ¡ Coordina*on ¡ . ¡. ¡. ¡ ¡ Class ¡Allocator ¡(CA) ¡ ¡ • One ¡for ¡each ¡class ¡ ¡ C1 ¡ CK ¡ Op*mizes ¡sending ¡ • Knows ¡the ¡u*lity ¡ Classes ¡ z k rates ¡across ¡flows ¡in ¡ func*on, ¡weights, ¡and ¡ its ¡own ¡class ¡ paths ¡of ¡individual ¡flows ¡ in ¡its ¡own ¡class ¡ F F F F F F F Flows ¡
Two-‑Tier ¡Design ¡ ������ ���������������� Network ¡ Message-‑passing ¡ � � ������ Coordina*on ¡ ��������������� ��������������� ��������������� ��� ��� ��� ��� ��� . ¡. ¡. ¡ ¡ C1 ¡ CK ¡ Message-‑passing ¡ � � � Classes ¡ ��� ��� ��� ������� ��� ��� ��� F F F F F F F Flows ¡
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 ¡ U k = X U k maximize s s ∈ F k AR k z k � y k subject to 8 k z k ⌫ 0 variables
Two-‑Tier ¡Decomposi*on ¡ Primal ¡Decomposi*on ¡ Link ¡Coordinator ¡ ������ ������������� Coordinates ¡all ¡the ¡subproblems ¡ ������ Class ¡Allocator ¡ ���������� ���������� ���������� Solves ¡independently ¡ ��� ��� �������� �������� �������� Subproblem ¡for ¡Class ¡k ¡ Master ¡Primal ¡ X U k ∗ ( y k ) U k = X maximize U = U k maximize s k s ∈ F k X y k AR k z k � y k subject to l ≤ c l ∀ l subject to 8 k k z k ⌫ 0 y k ⌫ 0 variables variables
Two-‑Tier ¡Decomposi*on ¡ Primal ¡Decomposi*on ¡ Link ¡Coordinator ¡ ������ ������������� Coordinates ¡all ¡the ¡subproblems ¡ ������ Class ¡Allocator ¡ ���������� ���������� ���������� Solves ¡independently ¡ ��� ��� �������� �������� �������� Message-‑Passing ¡ ��� � y k : Aggregate bandwidth assigned to class k ����� ���� ��������� λ k ∗ : Optimal subgradient of CLASS(k) ����������� � � ��� �� � � step size : β
Three-‑Tier ¡Design ¡ Why ¡another ¡*er? ¡(High ¡control ¡overhead) ¡ q Flow ¡of ¡a ¡given ¡class ¡may ¡originate ¡from ¡any ¡DC ¡ q Each ¡class ¡allocator ¡poten*ally ¡communicates ¡ Network ¡ with ¡all ¡DCs ¡ . ¡. ¡. ¡ ¡ C1 ¡ CK ¡ Classes ¡ F F F F F F F Flows ¡
Recommend
More recommend