Softwaredefined networking Change is hard Ratul Mahajan with

  • Slides: 39
Download presentation
Software-defined networking: Change is hard Ratul Mahajan with Chi-Yao Hong, Rohan Gandhi, Xin Jin,

Software-defined networking: Change is hard Ratul Mahajan with Chi-Yao Hong, Rohan Gandhi, Xin Jin, Harry Liu, Vijay Gill, Srikanth Kandula, Mohan Nanduri, Roger Wattenhofer, Ming Zhang

Inter-DC WAN: A critical, expensive resource Seattle Seoul Dublin New York Barcelona Hong Kong

Inter-DC WAN: A critical, expensive resource Seattle Seoul Dublin New York Barcelona Hong Kong Los Angeles Miami

But it is highly inefficient

But it is highly inefficient

One cause of inefficiency: Lack of coordination

One cause of inefficiency: Lack of coordination

Another cause of inefficiency: Local, greedy resource allocation B C D A B E

Another cause of inefficiency: Local, greedy resource allocation B C D A B E H G Local, greedy allocation D A E H F C G F Globally optimal allocation [Latency inflation with MPLS-based traffic engineering, IMC 2011]

SWAN: Software-driven WAN Goals Key design elements Highly efficient WAN Flexible sharing policies Coordinate

SWAN: Software-driven WAN Goals Key design elements Highly efficient WAN Flexible sharing policies Coordinate across services Centralize resource allocation [Achieving high utilization with software-driven WAN, SIGCOMM 2013]

SWAN overview SWAN controller Traffic demand BW allocation Service broker Rate limiting Service hosts

SWAN overview SWAN controller Traffic demand BW allocation Service broker Rate limiting Service hosts Topology, traffic Network config. Network agent WAN

Key design challenges Scalably computing BW allocations Working with limited switch memory Avoiding congestion

Key design challenges Scalably computing BW allocations Working with limited switch memory Avoiding congestion during network updates

Congestion during network updates

Congestion during network updates

Congestion-free network updates

Congestion-free network updates

Computing congestion-free update plan •

Computing congestion-free update plan •

Complementary CDF SWAN provides congestion-free updates Oversubscription ratio Extra traffic (MB)

Complementary CDF SWAN provides congestion-free updates Oversubscription ratio Extra traffic (MB)

Throughput (relative to optimal) SWAN comes close to optimal SWAN w/o rate control MPLS

Throughput (relative to optimal) SWAN comes close to optimal SWAN w/o rate control MPLS TE

Deploying SWAN Data center Partial deployment WAN Data center Full deployment

Deploying SWAN Data center Partial deployment WAN Data center Full deployment

The challenge of data plane updates in SDN Not just about congestion § Blackholes,

The challenge of data plane updates in SDN Not just about congestion § Blackholes, loops, packet coherence, …

The challenge of data plane updates in SDN Not just about congestion § Blackholes,

The challenge of data plane updates in SDN Not just about congestion § Blackholes, loops, packet coherence, … Real-world is even messier Our controlled experiments CDF Google’s B 4 Latency (seconds)

Many resulting questions of interest Fundamental § What consistency properties can be maintained and

Many resulting questions of interest Fundamental § What consistency properties can be maintained and how? § Is property strength and ease of maintenance related? Practical § How to quickly and safely update the data plane? § Impacts failure recovery time, network utilization, flow response time

Minimal dependencies for a consistency property None Eventual consistency Always guaranteed Blackhole freedom Impossible

Minimal dependencies for a consistency property None Eventual consistency Always guaranteed Blackhole freedom Impossible Loop freedom Packet coherence Congestion freedom Downstream subset Self Downstream all Global Add before remove Rule dependency forest tree Impossible Flow version numbers Impossible Global version numbers Staged partial moves [On consistent updates in software-defined networks, Hot. Nets 2013]

Fast, consistent network updates Consistency property Routing policy Current network state Desired state generator

Fast, consistent network updates Consistency property Routing policy Current network state Desired state generator Forward fault correction Computes states that are robust to common faults Target network state Update planner Dionysus Dynamically schedules network updates Update plan

Overview of forward fault correction Control and data plane faults cause congestion § Today,

Overview of forward fault correction Control and data plane faults cause congestion § Today, reactive data plane updates are needed to remove congestion FFC handles faults proactively § Guarantees absence of congestion for up to k faults Main challenge: Too many possible faults § Constraint reduction technique based on sorting networks [Traffic engineering with forward fault correction, SIGCOMM 2014 (to appear)]

Congestion due to control plane faults Current State Target state

Congestion due to control plane faults Current State Target state

FFC for control plane faults Robust target state (k=1) Current State Vulnerable target state

FFC for control plane faults Robust target state (k=1) Current State Vulnerable target state Robust target state (k=2)

Congestion due to data plane faults Pre-failure traffic distribution Post-failure traffic distribution

Congestion due to data plane faults Pre-failure traffic distribution Post-failure traffic distribution

FFC for data plane faults Vulnerable traffic distribution Robust traffic distribution (k=1)

FFC for data plane faults Vulnerable traffic distribution Robust traffic distribution (k=1)

FFC guarantee needs too many constraints •

FFC guarantee needs too many constraints •

Efficient solution using sorting networks • Use bubble sort network to compute linear expressions

Efficient solution using sorting networks • Use bubble sort network to compute linear expressions for k largest variables § O(nk) constraints

FFC performance in practice

FFC performance in practice

Fast, consistent network updates Consistency property Routing policy Current network state Desired state generator

Fast, consistent network updates Consistency property Routing policy Current network state Desired state generator Forward fault correction Computes states that are robust to common faults Target network state Update planner Dionysus Dynamically schedules network updates Update plan

Overview of dynamic update scheduling Current schedulers pre-compute a static update schedule § Can

Overview of dynamic update scheduling Current schedulers pre-compute a static update schedule § Can get unlucky with switch delays Dynamic scheduling adapts to actual conditions Main challenge: Tractably exploring “safe” schedules [Dionysus: Dynamic scheduling of network updates, SIGCOMM 2014 (to appear)]

Downside of static schedules Current State S 1 S 2 F 2: 5 F

Downside of static schedules Current State S 1 S 2 F 2: 5 F 1: 5 F 4: 5 S 4 F 3: 10 F 1: 5 S 4 F 4: 5 Plan B F 4 F 3 F 2 F 3 S 1 S 2 S 3 F 3 S 4 F 4 S 5 S 2 F 2: 5 F 1 S 3 F 2 2 F 3: 10 S 5 S 3 4 time 3 F 2 F 4 1 2 3 F 1 F 2 1 2 3 4 5 time F 1 S 1 F 2 S 3 F 4 S 4 F 1 S 2 S 3 F 3 S 4 F 2 S 1 S 2 S 3 F 3 S 4 F 1 1 Target State S 1 Plan A F 4 4 time 1 2 3 time

Downside of static schedules Current State S 1 S 2 F 2: 5 F

Downside of static schedules Current State S 1 S 2 F 2: 5 F 1: 5 F 4: 5 S 4 F 3: 10 S 3 Static F 4 plan A F 3 S 5 Dynamic plan Target State S 1 F 1: 5 S 4 F 4: 5 S 2 F 2: 5 F 3: 10 S 5 S 3 F 1 F 2 Static F 4 plan B F 3 F 1 F 4 F 3 F 2 Low update time regardless of latency variability F 1

Challenge in dynamic scheduling Current State S 1 Tractably explore valid orderings F 5:

Challenge in dynamic scheduling Current State S 1 Tractably explore valid orderings F 5: 10 S 3 S 2 F 2: 5 F 1: 5 § Exponential number of orderings § Cannot completely avoid planning F 4: 5 S 4 S 5 Target State S 1 F 1: 5 S 4 F 4: 5 S 2 F 2: 5 F 3: 5 F 5: 10 F 3: 10 S 5 S 3 F 3: 5

Dionysus pipeline Consistency property Current network state Target network state Dependency graph generator Dependency

Dionysus pipeline Consistency property Current network state Target network state Dependency graph generator Dependency graph Update scheduler

Dionysus dependency graph Current State Nodes: updates and resources Edges: dependencies among nodes S

Dionysus dependency graph Current State Nodes: updates and resources Edges: dependencies among nodes S 1 F 5: 10 S 3 S 2 F 2: 5 F 1: 5 S 4 F 4: 5 Target State S 1 F 1: 5 S 4 F 4: 5 S 2 F 2: 5 S 5 F 3: 5 F 5: 10 F 3: 10 S 5 S 3 F 3: 5

Dionysus scheduling NP-complete problem with capacity and memory constraints Approach § Critical path scheduling

Dionysus scheduling NP-complete problem with capacity and memory constraints Approach § Critical path scheduling § Treat strongly connected components as virtual nodes and favor them § Rate limit flows to resolve deadlocks

Dionysus leads to faster updates Median improvement over static scheduling (SWAN): 60 -80%

Dionysus leads to faster updates Median improvement over static scheduling (SWAN): 60 -80%

Dionysus reduces congestion due to failures 99 th percentile improvement over static scheduling (SWAN):

Dionysus reduces congestion due to failures 99 th percentile improvement over static scheduling (SWAN): 40%

Fast, consistent network updates Consistency property Routing policy Current network state Desired state generator

Fast, consistent network updates Consistency property Routing policy Current network state Desired state generator Forward fault correction Computes states that are robust to common faults Target network state Update planner Dionysus Dynamically schedules network updates Update plan

Summary SDN enables new network operating points such as high utilization But also pose

Summary SDN enables new network operating points such as high utilization But also pose a new challenge: fast, consistent data plane updates