and Devavrat Shah Flowtune Flowlet Control for Datacenter Networks Response Time Productivity Revenue Reputation microservices develop network is central deploy ID: 676987
Download Presentation The PPT/PDF document "Jonathan Perry, Hari Balakrishnan" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Jonathan Perry, Hari Balakrishnan and Devavrat Shah
Flowtune
Flowlet Control forDatacenter NetworksSlide2
Response Time: Productivity, Revenue, Reputationmicroservices develop network is central deploy
scaleSoftware in the DatacenterSlide3
Traditional approach is packet-centric
Switch Mechanisms
Server Mechanisms
Implicit Allocation
Several RTT
to converge
Changes many
componentsSlide4
Switch Mechanisms
Server Mechanisms
Implicit AllocationSeveral RTTto converge
Changes manycomponentsTraditional approach is packet-centric
Allocate network resources
Explicitly (maximize utility)
Quickly,
Consitently
Flexibly (in software)Slide5
Flowtune’s approach1. Flowlet control send()
flowlet2. Logically centralizedReduce RTT dependenceSlide6
Example
A Allocator“Hadoop on A has data for B”
AllocatorAssign ratesAllocator A“Send at 40Gbps”
A
B
Allocator
R2
R1
C
Hadoop
on Server A has data for B:Slide7
ExampleNow say ad_server on Server C has data for B:
C Allocator“ad_server on C has data for B”
AllocatorAssign ratesAllocator A“Send at 5Gbps”Allocator C“Send at 35Gbps”
A
B
Allocator
R2
R1
CSlide8
Hadoop flowlet rate 2x $0.05Ads flowlet rate 2x
$0.20Network Utility Maximization (NUM)Ads flowlet:Hadoop flowlet:Kelly et al., Journal of the Operational Research Society, 1998Slide9
NUM Iterative Optimizer
-=2. Each flow chooses rate 1. Each link chooses price
using ×3. Goto 1Supply
Demand
Slide10
Adjusting pricesSlide11
Adjusting prices
NewtonExactDiagonal(NED)Slide12
Increasing responsiveness
Solution 1:Solution 2:
Solution 3:UpdateinputsRun 100iterationsOutputratesBut: too slow!But: queueing, packet drops!
UpdateinputsRun 1iterationOutputrates
Update
inputs
Run 1
iteration
Normalize
rates
Output
rates
$0.01
$0.05
$0.09Slide13
Flowtune normalizes rates110%
93%
102%
87%
99.7% of
optimal
throughput
Slide14
Architecture
EndpointsOptimizerNormalizer
ratesflowletstart/end
normalizedratesAllocatorSlide15
MulticoreFor each flow compute
For each link compute
Core 1: Core 2:
1
2
3
4
8
7
6
5Slide16
Source
Block 1core0core1core2core3Block 2core
4core5core6core7Block 3core8core9core10core11Block 4core12core13core14core15Block 1
Block 2Block 3Block 4Destination
Block 1
Block 2
Block 3
Block 4
MulticoreSlide17
Source
Block 1core0core1core2core3Block 2core
4core5core6core7Block 3core8core9core10core11Block 4core12core13core14core15Block 1
Block 2Block 3Block 4DestinationBlock 1
Block 2
Block 3
Block 4
MulticoreSlide18
Source
Block 1core0core1core2core3Block 2
core4core5core6core7Block 3core8core9core10core11Block 4core12core13core
14core15Block 1Block 2Block 3Block 4Destination
Block 1
Block 2
Block 3
Block 4
MulticoreSlide19
Source
Block 1core0core1core2core3Block 2core
4core5core6core7Block 3core8core9core10core11Block 4core12core13core14core15Block 1
Block 2Block 3Block 4DestinationBlock 1
Block 2
Block 3
Block 4
MulticoreSlide20
Source
Block 1core0core1core2core3Block 2
core4core5core6core7Block 3core8core9core10core11Block 4core12core13core14
core15Block 1Block 2Block 3Block 4Destination
Block 1
Block 2
Block 3
Block 4
MulticoreSlide21
Source
Block 1core0core1core2core3Block
2core4core5core6core7Block 3core8core9core10core11Block 4
core12core13core14core15Block 1Block 2Block 3Block 4Destination
Block 1
Block 2
Block 3
Block 4
MulticoreSlide22
In the paper…
core0
core1core2core3core4core5core6core7core8core9core
10core11core12core13core14core15
core
0
core
1
core
2
core
3
core
4
core
5
core
6
core
7
core
8
core
9
core
10
core
11
core
12
core
13
core
14
core
15
core
0
core
1
core
2
core
3
core
4
core
5
core
6
core
7
core
8
core
9
core
10
core
11
core
12
core
13
core
14
core
15
Flow view
Link viewSlide23
4608 servers in < 31
Communication of time Slide24
EC2: Resource Allocation
senders
receiver
8 senders, every 50 millisecondsSlide25
Ns-2: Flowtune converges quickly to a fair allocation
Every 10 milliseconds:
sendersreceiverSlide26
Overhead is lowFraction of network capacity
Inside the Social Network’s (Datacenter) Network, Roy et al., SIGCOMM’15
99% of links
< 10% utilizedSlide27
Open QuestionsHandling miceBypass the allocator? Fastpass?External trafficMeasure & react?Deadlines, Co-flowMarket?Multicore: 3-tier Clos, WANSlide28
FlowtuneGive application developers control over network transport
Explicit Policy
ApplicationDevelopers
NetworkEngineersSlide29Slide30
Over-allocationSlide31
Setup
……
………
16 servers/rack
10
Gbits
/s
9 racks
40
Gbits
/s
4 spines
pFabric
,
Alizade
et
al., SIGCOMM’13
Inside the Social Network’s (Datacenter) Network, Roy et al., SIGCOMM’15Slide32
Flowtune reduces p99 FCTSlide33
EC2: Response Time is Reduced
senders
receiver
1.61x p95Slide34
Flowtune, 0.6 load, webSlide35
Overhead is constant with scaleSlide36
Flowtune achieves low drop rateSlide37
Flowtune is more fair to flowsSlide38
Flowtune has low (p99) queuing delaySlide39
“Off-line” modeSlide40
“On-line” – overallocation problem