August 12-16, 2013, Hong Kong, China | Chi-Yao Hong (UIUC), Srikanth Kandula, Ratul Mahajan, Ming Zhang, Vijay Gill, Mohan Nanduri, Roger Wattenhofer (ETH)
SWAN is a system that improves the utilization of inter-datacenter (inter-DC) wide area networks (WANs) by centrally controlling traffic and dynamically reconfiguring the network's data plane. It addresses the challenge of transient congestion during network updates by using a small amount of "scratch" capacity on links to apply updates in a congestion-free manner, without assuming any order or timing of updates at individual switches. Additionally, SWAN scales to large networks by greedily selecting a small set of forwarding table entries that best satisfy current demand, updating them without disrupting traffic by leveraging scratch capacity in forwarding tables.
Experiments using a testbed prototype and data-driven simulations of two production networks show that SWAN carries 60% more traffic than the current practice. SWAN supports two types of sharing policies: strict precedence across priority classes (Interactive > Elastic > Background) and max-min fair allocation within classes. It coordinates service sending rates and centrally allocates network paths based on current service demands and network topology.
SWAN's key challenges include implementing congestion-free updates and managing limited forwarding table capacity. It uses scratch capacity on links to enable congestion-free updates and dynamically changes the set of available paths in the network to fully utilize capacity with fewer rules. It also addresses the issue of limited forwarding rules by dynamically identifying and installing tunnels based on traffic demand.
SWAN's architecture includes a logically centralized controller that orchestrates all activity, with service brokers aggregating demands from hosts and network agents tracking topology and traffic. The controller computes service allocations and forwarding plane configurations, signaling new allocations to services and updating the forwarding state.
SWAN uses label-based forwarding and unequal splitting to improve traffic allocation efficiency. It computes service allocations using a linear programming (LP) approach that maximizes network utilization while respecting service priorities and approximate max-min fairness. The LP-based algorithm ensures that allocations are fair and efficient, with SWAN achieving nearly optimal utilization.
SWAN's updates are designed to be congestion-free and quick, with a minimal number of steps. It handles failures by detecting and communicating them to the controller, which recomputes allocations. The system is tested on a modest-sized testbed, showing that SWAN closely approximates the throughput of an optimal method and achieves near-optimal performance.SWAN is a system that improves the utilization of inter-datacenter (inter-DC) wide area networks (WANs) by centrally controlling traffic and dynamically reconfiguring the network's data plane. It addresses the challenge of transient congestion during network updates by using a small amount of "scratch" capacity on links to apply updates in a congestion-free manner, without assuming any order or timing of updates at individual switches. Additionally, SWAN scales to large networks by greedily selecting a small set of forwarding table entries that best satisfy current demand, updating them without disrupting traffic by leveraging scratch capacity in forwarding tables.
Experiments using a testbed prototype and data-driven simulations of two production networks show that SWAN carries 60% more traffic than the current practice. SWAN supports two types of sharing policies: strict precedence across priority classes (Interactive > Elastic > Background) and max-min fair allocation within classes. It coordinates service sending rates and centrally allocates network paths based on current service demands and network topology.
SWAN's key challenges include implementing congestion-free updates and managing limited forwarding table capacity. It uses scratch capacity on links to enable congestion-free updates and dynamically changes the set of available paths in the network to fully utilize capacity with fewer rules. It also addresses the issue of limited forwarding rules by dynamically identifying and installing tunnels based on traffic demand.
SWAN's architecture includes a logically centralized controller that orchestrates all activity, with service brokers aggregating demands from hosts and network agents tracking topology and traffic. The controller computes service allocations and forwarding plane configurations, signaling new allocations to services and updating the forwarding state.
SWAN uses label-based forwarding and unequal splitting to improve traffic allocation efficiency. It computes service allocations using a linear programming (LP) approach that maximizes network utilization while respecting service priorities and approximate max-min fairness. The LP-based algorithm ensures that allocations are fair and efficient, with SWAN achieving nearly optimal utilization.
SWAN's updates are designed to be congestion-free and quick, with a minimal number of steps. It handles failures by detecting and communicating them to the controller, which recomputes allocations. The system is tested on a modest-sized testbed, showing that SWAN closely approximates the throughput of an optimal method and achieves near-optimal performance.