Presentation is loading. Please wait.

Presentation is loading. Please wait.

Flowlet Switching Srikanth Kandula Shan Sinha & Dina Katabi.

Similar presentations


Presentation on theme: "Flowlet Switching Srikanth Kandula Shan Sinha & Dina Katabi."— Presentation transcript:

1 Flowlet Switching Srikanth Kandula Shan Sinha & Dina Katabi

2 ISPs Want to Split Traffic Across Multiple Paths

3 30% 70% Load balancing to remove hot spots Rebalance traffic when unpredictable events occur (Outages, DoS, BGP reroutes, Flash Crowds, …) ISPs Want to Split Traffic Across Multiple Paths

4 Load balancing to remove hot spots Rebalance traffic when unpredictable events occur (Outages, DoS, BGP reroutes, Flash Crowds, …) Unpredictable Traffic Rebalance Traffic 30% 70% ISPs Want to Split Traffic Across Multiple Paths

5 Load balancing to remove hot spots Rebalance traffic when unpredictable events occur (Outages, DoS, BGP reroutes, Flash Crowds, …) Unpredictable Traffic 70% 30% ISPs Want to Split Traffic Across Multiple Paths

6 Much research on balancing and rebalancing load, But implementation is hard particularly with dynamic ratios o Either sacrifice accuracy or reorder TCP packets

7 Much research on balancing and rebalancing load, But implementation is hard particularly with dynamic ratios o Either sacrifice accuracy or reorder TCP packets 1.Given the desired split ratios – possibly dynamic 2.Split traffic accurately, at the edge router, without reordering TCP’s packets Problem

8 Existing Scheme 1: Packet-Based Splitting Assign packets to paths proportional to the desired ratios  Reorders TCP packets causing bad throughput

9 Assign TCP flows to each path proportional to the desired ratio 1. Flows are not all equal: Elephants & Mice 2. So, estimate the rate of each TCP flow 3. But rates change with time 4. Too complex 5. Very inaccurate if desired ratios change Existing Scheme 2: Flow-Based Splitting

10 How to Split Traffic? Packet-Based Accurate Reorders TCP packets Easily tracks dynamic ratios Flow-Based Inaccurate No packet reordering Hard to track if ratios change Can we combine the best of the two approaches?

11 This Talk Show how to send a single TCP flow down multiple paths without reordering Accurately split traffic even when desired ratios are dynamic Easy to implement

12 Flowlet Switching If the previous packet from the flow has left the merging point  Can reassign the flow to a different path TCP flow 2 1

13 Flowlet Switching Delay = D1 Delay = D2 Given  > |D2-D1|

14 Flowlet Switching Delay = D1 Delay = D2 Flowlets are bursts from same flow separated by at least  ; they can be switched independently! Given  > |D2-D1| Idle ≥ 

15 Implementing Flowlet Switching is Simple Router at the split point hashes packet header If (Now - Last_Seen) > , flow can change path Reassign path proportionally to the desired split ratios SRCip DSTip SRCPort DSTPort hash Last_Seen (s)Path 9920.2659 3

16 Does it Really Work? Traces collected on a peering link, an edge link and two core links Split Vectors (3 paths) o Static (.3,.3,.4) o Dynamic – sinusoidal with amplitude 60%, period 20min [Akella04,Chuah02]

17 Is Flowlet Switching Accurate? Error

18 Is Flowlet Switching Accurate? Flowlet switching is much more accurate than flow-based switching Error

19 Can do Flowlet Switching without Per-Flow State #Active Flows ~ 50,000; But… Router maintains a hash table < 1000 entries (5KB). #Active Flows ~ 50,000; But… Router maintains a hash table < 1000 entries (5KB). 4 16 64 256 1024 2048 4096 8192 Hash Table Entries Errors stabilize for small table Fig. shows Avg. and Max. of many traces

20 Understanding Flowlets

21 But Where do Flowlets come from? Can’t be just timeouts or short flows; most of the bytes are in the elephants Why can a large flow be broken into many small flowlets?

22 Well-known that TCP usually sends a window in one or a few bursts and waits for acks [Zhang91,Zhang03, Jiang04] Some Reasons o Slow-start o Ack compression o Window is much smaller than delay-BW product Flowlets exist because TCP is bursty at RTT and sub-RTT scales

23 Most flowlets have inter-arrivals less than an RTT  most flowlets are sub-windows Flowlets exist because TCP is Bursty

24 Why Flowlet Switching is Accurate? 80% of bytes are in flowlets smaller than 10KB Assigning a flowlet to a path isn’t a long commitment

25 Why Flowlets can Track Dynamics? An order of magnitude more opportunities to rebalance! 143.16 611.95 3784.10 111.33 1454.98 8661.43 35287.04 2848.76 Edge Peering Core1 Core2 Arrival Rate of both flows and flowlets (/sec)

26 Why flowlet switching doesn’t need per-flow state?

27 Flow 1 Flow 2 Flow 3 Time # Active Flowlets 0 1 2 3 Why flowlet switching doesn’t need per-flow state?

28 Flow 1 Flow 2 Flow 3 Time # Active Flowlets 0 1 2 3 Why flowlet switching doesn’t need per-flow state?

29 Flow 1 Flow 2 Flow 3 # Active Flowlets Time 0 1 2 3 Why flowlet switching doesn’t need per-flow state?

30 Edge Peering Core1 Core2 Trace 18.41 28.08 240.12 50.66 #Active Flowlets Why flowlet switching doesn’t need per-flow state?

31 #Active flowlets is 2 orders of magnitude smaller than flows  Very small hash table Edge Peering Core1 Core2 1450.42 8477.33 47883.33 1559.33 #Active Flows Trace 18.41 28.08 240.12 50.66 #Active Flowlets Why flowlet switching doesn’t need per-flow state?

32 Why Flowlet Switching is Possible? Why can a large flow be broken into many small flowlets? Why is flowlet switching accurate? Why flowlet switching does not need per- flow state? TCP burstiness at small time scales Small commitment; many more chances to rebalance Few simultaneously active flowlets

33 Configuring Flowlet Switching For our traces which are a diverse collection of traffic within continental US o ~50ms is a good and safe choice! o Our procedure is a constructive way to find  Flowlet separation > delay difference But, how to find delay difference?

34 Flowlet Separation of 50ms is Good Any flowlet timeout in [50, 100] ms yields highly accurate splits ~50ms results in accurate splitting

35 Even if delay difference >> 50ms, prob. of reordering is negligible compared to drop. rate in the Internet (about 1%) Flowlet Separation of 50ms is Safe 1 %.8 %.6 %.4 %.2 % 0 %

36 Conclusion Harness TCP burstiness to split traffic at a finer resolution than a flow without reordering Flowlet Switching: o Splitting errors are a few percents o Reordering probability is negligible compared to drop prob. in the Internet o Easy to implement Enable ISPs to do dynamic load balancing

37 More Information at: http://nms.lcs.mit.edu/~dina/texcp.html Questions?

38 For 50ms, very few retransmissions triggered even when delay difference is severely under- estimated Actual Delay Diff – Flowlet Timeout Flowlet Timeout

39 Error Flowlet Switching has Negligible Overhead Very, Very Cheap. Edge routers maintain a hash table of 2 10 entries (<10KB). 4 16 64 256 1024 2048 4096 8192 Hash Table Size

40 Any flowlet timeout in [50, 100] ms yields highly accurate splits Error Flowlet Separation (msec)

41 Flowlet Switching Tracks Dynamic Splits For clarity, we show only one path!


Download ppt "Flowlet Switching Srikanth Kandula Shan Sinha & Dina Katabi."

Similar presentations


Ads by Google