Confluent vs. Splittable Flows Niranjan Mysore, Radhika Woo, Dong Hyuk
Problem Definition and Motivation Todays Internet – Confluent Flow Model - routing protocols are responsible for constructing paths to the destination Static Routing – Manually configure next hop. Dynamic Routing – Optimal path - metrics : Hop Count Bandwidth of link Communication cost So although multiple paths may exist – current Internet utilises only the optimal path to the destination Some sophisticated routing protocols support multiple paths to the same destination. Unlike single-path algorithms, these multipath algorithms permit traffic multiplexing over multiple lines. The advantages of multipath algorithms are obvious: They can provide substantially better throughput and reliability. This is generally called load sharing. ECE4605 - Advanced Internetworking
Problem Definition and Motivation Load balancing – Different flows are routed through different paths to the destination – so as to utilize network capacity. If congestion aware load balancing is done, better bandwidth availability for the flows is ensured – by avoiding the congested paths. ECE4605 - Advanced Internetworking
Problem Definition and Motivation Flow Splittability - Each flow takes more than one path to reach the destination. If sequencing and other factors are managed for the flow, and decisions are taken based on bandwidth available along each path, it is possible to make good use of the network capacity. ECE4605 - Advanced Internetworking
Need for Flow Splittability / Load Balancing Fault tolerance Bandwidth aggregation (FS only) Utilizing multiple low bandwidth links in an under provisioned network to the best of its capacity Increasing Internet Capacity utilization, and thus indirectly improving underlying service ECE4605 - Advanced Internetworking
Problem Definition and Motivation We want to compare an approach to Load Balancing to Flow Splittability and try to find which is better ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Background Reading Enabling the lowest-cost multiservice networks - Marconi White Paper Flow Splitting Approach for Path Provisioning and Path Protection Problems - Rauf Izmailov et al. A Transport Layer Approach for Achieving Aggregate Bandwidths on Multi-homed Mobile Hosts - R. Sivakumar et al pTCP: An End-to-End Transport Layer Protocol for Striped Connections - R. Sivakumar et al On Achieving Weighted Service Differentiation: An End-to-End Perspective -R. Sivakumar et al ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Work done Custom Simulator – to model graph theoretic problem Chose set of nodes and define bandwidth of links between them Introduce flows into the network between any pairs of nodes In load balancing – find the widest path between source and destination for flow. Subtract the flow bw requirement from the path (to account for flow) In flow splittability – split the flow in the ratio of the bandwidths along all paths to the destination. Subtract the bw along each path by flow requirement ECE4605 - Advanced Internetworking
Simulation on custom simulator Random load generation Random source / destination selection Inter-arrival time between each flow Uniformly distributed between [0, 4] Lifetime Uniformly distributed between [150, 249] Required bandwidth Uniformly distributed between [0, bw] Used admission control ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Planet Lab An overlay network supported by a consortium of educational and corporate institutions for research Chose from available nodes. Built a client server application which could send and receive TCP flows between source and destination – employing tunneling in intermediate nodes. Use same Load balancing and Flow Splittability policies as before. Measurements are real time – involve real delays (queuing and transmission), drops ECE4605 - Advanced Internetworking
2.93 0.50 3.25 4.75 1.01 3.77 2.87 4.12
Simulation on PlanetLab Simulation architecture Scenario generation Scheduling based on policy Execution by ordering Agent Agent Client Server Tunnel Main controller Agent Client Server Tunnel Agent Client Server Tunnel Agent Client Server Tunnel Measure throughput using Tcpdump and ethereal ECE4605 - Advanced Internetworking
Simulation on custom simulator (cont’d) ECE4605 - Advanced Internetworking
Simulation on custom simulator (cont’d) ECE4605 - Advanced Internetworking
Simulation on PlanetLab (cont’d) Problem with the Internet simulation Need to measure in-flight available bandwidth We cannot know the congestion size of TCP on Planetlab Just used simple policy in the following results LB: alternating link FS: splitting traffic evenly Demo ECE4605 - Advanced Internetworking
Simulation on PlanetLab (cont’d) ECE4605 - Advanced Internetworking
Simulation on PlanetLab (cont’d) LB (UT) ECE4605 - Advanced Internetworking
Simulation on PlanetLab (cont’d) FS1 (UT) ECE4605 - Advanced Internetworking
Simulation on PlanetLab (cont’d) FS2 (UT) ECE4605 - Advanced Internetworking
ECE4605 - Advanced Internetworking Summary FS performed better than LB when we used large loads and admission control – and assumed no underlying rate control LB performed equal or better than FS in certain situations when we used different light load and underlying rate control – with simple policies FS performs better as the number of reflection points increases. ECE4605 - Advanced Internetworking