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

flowtune
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Jonathan Perry Joint work with Hari Balakrishnan and Devavrat Shah.

Flowtune

slide-2
SLIDE 2

Flowtune is..

Allocate network resources

  • Quickly
  • Explicitly (maximize utility)
  • Flexibly (in software)
slide-3
SLIDE 3

Traditional approach is packet-centric

Switch Algorithms Server Algorithms

Implicit Allocation Several RTT to converge Changes many components

slide-4
SLIDE 4

Flowtune’s approach

  • 1. Flowlet control

Allocation changes only when:

  • Flowlets arrive
  • Flowlets terminate
  • 2. Logically centralized
  • Reduce RTT dependence
slide-5
SLIDE 5

Example

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

slide-6
SLIDE 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” A B Allocator R2 R1 C

slide-7
SLIDE 7

Why is this hard?

Need to choose rates given active flowlets

  • 1. Updates cascade!
  • 2. What is the goal? To act like TCP?
slide-8
SLIDE 8

NUM Iterative Optimizer

  • =
  • 2. Each flow 𝑡 chooses rate 𝑦𝑡

1. Each link ℓ chooses price 𝑞ℓ

×

3. Goto 1

Supply Demand

Kelly et al., Journal of the Operational Research Society, 1998

slide-9
SLIDE 9

How to reduce latency?

Solution 1: Solution 2: Solution 3:

Update inputs Run 100 iterations Output rates

But: too slow! But: links are over-allocated!

Update inputs Run 1 iteration Output rates Update inputs Run 1 iteration Normalize rates Output rates

slide-10
SLIDE 10

Flowtune normalizes rates between iterations

  • For each flow:
  • Find link ℓ on path with largest rℓ =

𝑔𝑚𝑝𝑥 𝑠𝑏𝑢𝑓𝑡 𝑚𝑗𝑜𝑙 𝑑𝑏𝑞𝑏𝑑𝑗𝑢𝑧

  • Normalize: 𝑦𝑡 ←

𝑦𝑡 𝑠ℓ

slide-11
SLIDE 11

Architecture

Endpoints Optimizer Normalizer rates

flowlet start/end normalized rates

Allocator

slide-12
SLIDE 12

Flowtune converges quickly to fair allocation

  • 1. Every 10 milliseconds add sender, up to 5 senders
  • 2. Every 10 milliseconds remove sender
slide-13
SLIDE 13

Flowtune scales to 49K flows on 64 cores

slide-14
SLIDE 14

Flowtune

Allocate network resources

  • Quickly (centralized)
  • Explicitly (maximize utility)
  • Flexibly (in software)