flowtune
play

Flowtune Jonathan Perry Joint work with Hari Balakrishnan and - PowerPoint PPT Presentation

Flowtune Jonathan Perry Joint work with Hari Balakrishnan and Devavrat Shah. Flowtune is.. Allocate network resources Quickly Explicitly (maximize utility) Flexibly (in software) Traditional approach is packet-centric Switch


  1. Flowtune Jonathan Perry Joint work with Hari Balakrishnan and Devavrat Shah.

  2. Flowtune is.. Allocate network resources • Quickly • Explicitly (maximize utility) • Flexibly (in software)

  3. Traditional approach is packet-centric Switch Algorithms Server Algorithms Implicit Several RTT Changes many Allocation to converge components

  4. Flowtune’s approach 1. Flowlet control Allocation changes only when: • Flowlets arrive • Flowlets terminate 2. Logically centralized • Reduce RTT dependence

  5. Example A  Allocator “ Hadoop on A has data for B” Allocator Assign rates Allocator  A “Send at 10Gbps” R1 R2 Allocator B C A

  6. Example C  Allocator “ ads_update on C has data for B” Allocator Assign rates Allocator  A “Send at 1Gbps” Allocator  C “Send at 9Gbps” R1 R2 Allocator B C A

  7. Why is this hard? Need to choose rates given active flowlets 1. Updates cascade! 2. What is the goal? To act like TCP?

  8. NUM Iterative Optimizer Each link ℓ chooses price 𝑞 ℓ 1. Supply Demand 2. Each flow 𝑡 chooses rate 𝑦 𝑡 - = × 3. Goto 1 Kelly et al., Journal of the Operational Research Society, 1998

  9. How to reduce latency? Update Run 100 Output Solution 1: But: too slow! inputs iterations rates But: links are over-allocated! Update Run 1 Output Solution 2: inputs iteration rates Update Run 1 Normalize Output Solution 3: inputs iteration rates rates

  10. Flowtune normalizes rates between iterations • For each flow: 𝑔𝑚𝑝𝑥 𝑠𝑏𝑢𝑓𝑡 • Find link ℓ on path with largest r ℓ = 𝑚𝑗𝑜𝑙 𝑑𝑏𝑞𝑏𝑑𝑗𝑢𝑧 𝑦 𝑡 𝑠 ℓ • Normalize: 𝑦 𝑡 ←

  11. Architecture Optimizer flowlet start/end rates Endpoints normalized rates Normalizer Allocator

  12. Flowtune converges quickly to fair allocation 1. Every 10 milliseconds add sender, up to 5 senders 2. Every 10 milliseconds remove sender

  13. Flowtune scales to 49K flows on 64 cores

  14. Flowtune Allocate network resources • Quickly (centralized) • Explicitly (maximize utility) • Flexibly (in software)

Recommend


More recommend