Top Banner
SWAN: Software-driven wide area network Ratul Mahajan
42
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SWAN: Software-driven wide area network Ratul Mahajan.

SWAN: Software-driven wide area network

Ratul Mahajan

Page 2: SWAN: Software-driven wide area network Ratul Mahajan.

Partners in crime

Ratul Mahajan

Chi-Yao Hong

Vijay Gill Srikanth Kandula Ming Zhang Roger Wattenhofer

Harry LiuXin JinRohan Gandhi

Mohan Nanduri

Page 3: SWAN: Software-driven wide area network Ratul Mahajan.

Inter-DC WAN: A critical, expensive resource

Hong Kong

Seoul

Seattle

Los Angeles

New York

Miami

Dublin

Barcelona

Page 4: SWAN: Software-driven wide area network Ratul Mahajan.

But it is highly inefficient

Page 5: SWAN: Software-driven wide area network Ratul Mahajan.

One cause of inefficiency: Lack of coordination

Page 6: SWAN: Software-driven wide area network Ratul Mahajan.

Another cause of inefficiency: Local, greedy resource allocation

Local, greedy allocation

A

B C D

E

FGH

B C D

FGH

A E

Globally optimal allocation[Latency inflation with MPLS-based traffic engineering, IMC 2011]

Page 7: SWAN: Software-driven wide area network Ratul Mahajan.

SWAN: Software-driven WAN

Highly efficient WANFlexible sharing policies

Coordinate across servicesCentralize resource allocation

Goals Key design elements

[Achieving high utilization with software-driven WAN, SIGCOMM 2013]

Page 8: SWAN: Software-driven wide area network Ratul Mahajan.

Software-defined networking: Primer

Networks today• Beefy routers• Control plane: distributed, on-board• Data plane: indirect configuration

SDNsStreamlined switchesControl plane: centralized, off-boardData plane: direct configuration

Page 9: SWAN: Software-driven wide area network Ratul Mahajan.

SWAN controller

SWAN overview

WAN

Service hosts

Network agentService broker

Traffic demand

BW allocation

Networkconfig.

Topology, traffic

Rate limiting

Page 10: SWAN: Software-driven wide area network Ratul Mahajan.

Key design challenges

Scalably computing BW allocations

Avoiding congestion during network updates

Working with limited switch memory

Page 11: SWAN: Software-driven wide area network Ratul Mahajan.

Scalably computing allocation

Goal: Prefer higher-priority traffic and max-min fair within a class

Challenge: Network-wide fairness requires many MCFs

Approach: Bounded max-min fairness (fixed number of MCFs)

Page 12: SWAN: Software-driven wide area network Ratul Mahajan.

Bounded max-min fairness

demand demand

demand

demand

demand

α𝑈

Geometrically partition the demand space with parameters

α 2𝑈

α 3𝑈

Page 13: SWAN: Software-driven wide area network Ratul Mahajan.

Bounded max-min fairness

demand demand

demand

demand

demand

α𝑈

Maximize throughput while limiting all allocations below

α 2𝑈

α 3𝑈

Page 14: SWAN: Software-driven wide area network Ratul Mahajan.

Bounded max-min fairness

α𝑈demand

demand

demand

demand

demand

Maximize throughput while limiting all allocations below

α 2𝑈

α 3𝑈

Page 15: SWAN: Software-driven wide area network Ratul Mahajan.

Bounded max-min fairness

α𝑈demand

demand

demand

demand

demand

Fix the allocation for smaller flows

α 2𝑈

α 3𝑈

Page 16: SWAN: Software-driven wide area network Ratul Mahajan.

Bounded max-min fairness

demand demand

demand

demand

demand

Continue until all flows fixed

α𝑈

α 2𝑈

α 3𝑈

Page 17: SWAN: Software-driven wide area network Ratul Mahajan.

Bounded max-min fairness

demand demand

demand

demand

demand

Fairness bound: Each flow is within of its fair rateNumber of MCFs:

α𝑈

α 2𝑈

α 3𝑈

Page 18: SWAN: Software-driven wide area network Ratul Mahajan.

SWAN computes fair allocations

In practice, only 4% of the flows deviate more than 5%

Rela

tive

devi

ation

SWAN ()

Flows sorted by demand

MPLS TE

Rela

tive

devi

ation

Page 19: SWAN: Software-driven wide area network Ratul Mahajan.

Key design challenges

Scalably computing BW allocations

Avoiding congestion during network updates

Working with limited switch memory

Page 20: SWAN: Software-driven wide area network Ratul Mahajan.

Congestion during network updates

Page 21: SWAN: Software-driven wide area network Ratul Mahajan.

Congestion-free network updates

Page 22: SWAN: Software-driven wide area network Ratul Mahajan.

Computing congestion-free update plan

Leave scratch capacity on each link• Ensures a plan with at most steps

Find a plan with minimal number of steps using an LP• Search for a feasible plan with 1, 2, …. max steps

Use scratch capacity for background traffic

Page 23: SWAN: Software-driven wide area network Ratul Mahajan.

SWAN provides congestion-free updatesCo

mpl

emen

tary

CD

F

Oversubscription ratio Extra traffic (MB)

Page 24: SWAN: Software-driven wide area network Ratul Mahajan.

Key design challenges

Scalably computing BW allocations

Avoiding congestion during network updates

Working with limited switch memory

Page 25: SWAN: Software-driven wide area network Ratul Mahajan.

Working with limited switch memory

Page 26: SWAN: Software-driven wide area network Ratul Mahajan.

Working with limited switch memory

Install only the “working set” of pathsUse scratch capacity to enable disruption-free updates to the set

Page 27: SWAN: Software-driven wide area network Ratul Mahajan.

SWAN comes close to optimal

SWAN

Thro

ughp

ut(r

elati

ve to

opti

mal

)

SWANw/o rate control

MPLS TE

Page 28: SWAN: Software-driven wide area network Ratul Mahajan.

Deploying SWAN in production

WAN

Data center

WAN

Data center

Lab prototype Partial deployment Full deployment

Page 29: SWAN: Software-driven wide area network Ratul Mahajan.

Key lesson from using SDNs

Page 30: SWAN: Software-driven wide area network Ratul Mahajan.

Loops in SDNs

Page 31: SWAN: Software-driven wide area network Ratul Mahajan.

Dependencies are worse than you might think

Page 32: SWAN: Software-driven wide area network Ratul Mahajan.

Ongoing work: Robust, fast network updates

Understand fundamental limits

Develop practical solutions

Page 33: SWAN: Software-driven wide area network Ratul Mahajan.

What are the minimal dependencies for a desired consistency property?

[On consistent updates in software-defined networks, HotNets 2013]

Page 34: SWAN: Software-driven wide area network Ratul Mahajan.

Network update pipeline

Robust rule generation

Dependency graph generation

Updateexecution

Routing policy

Consistency property

Network characteristics

Page 35: SWAN: Software-driven wide area network Ratul Mahajan.

Robust rule generation: Example

S1 S3

(a) Initial TES2

S45

5

55

S1 S3

S2

10

10

S4

10S1 S3

S2

S410

55

10

(b) Unreliable new TE (TE-1) (c) Congestion when S2 fails to update to TE-1

Demands:S4->S3:10S2->S3:10S1->S3:0

Demands:S4->S3:10S2->S3:10S1->S3:10

Demands:S4->S3:10S2->S3:10S1->S3:10

Capacity of Links: 10

S1 S3

(a) Initial TES2

S45

5

55

S1 S3

S2

10

10

S4

10S1 S3

S2

S410

55

10

(b) Unreliable new TE (TE-1) (c) Congestion when S2 fails to update to TE-1

Demands:S4->S3:10S2->S3:10S1->S3:0

Demands:S4->S3:10S2->S3:10S1->S3:10

Demands:S4->S3:10S2->S3:10S1->S3:10

Capacity of Links: 10

S1 S3

(a) Initial TES2

S45

5

55

S1 S3

S2

10

10

S4

10S1 S3

S2

S410

55

10

(b) Unreliable new TE (TE-1) (c) Congestion when S2 fails to update to TE-1

Demands:S4->S3:10S2->S3:10S1->S3:0

Demands:S4->S3:10S2->S3:10S1->S3:10

Demands:S4->S3:10S2->S3:10S1->S3:10

Capacity of Links: 10

S1 S3

S2

10

10

S4

5S1 S3

S2

S410

55

5

(d) Reliable new TE (TE-2) (c) No congestion when S2 fails to update to TE-2

Demands:S4->S3:10S2->S3:10S1->S3:10

Demands:S4->S3:10S2->S3:10S1->S3:10

Capacity of Links: 10

Page 36: SWAN: Software-driven wide area network Ratul Mahajan.

Robust rule generation

Goal: No congestion if any k or fewer switches fail to update

Challenge: Too many failure combinations

Approach: Use a sorting network to identify worst k failures – O(kn) constraints

Page 37: SWAN: Software-driven wide area network Ratul Mahajan.

Robust rule generation: Preliminary results

max

k/n=10%

k/n=20%

k/n=30%

worst-ca

se0

0.2

0.4

0.6

0.8

1

Nor

mal

ized

th

roug

hput

Page 38: SWAN: Software-driven wide area network Ratul Mahajan.

Network update pipeline

Robust rule generation

Dependency graph generation

Updateexecution

Routing policy

Consistency property

Network characteristics

Page 39: SWAN: Software-driven wide area network Ratul Mahajan.

Dependency graph generation

A Del @ A

Add @ Del @Del @

Page 40: SWAN: Software-driven wide area network Ratul Mahajan.

Update execution

Updates without parents can be applied right awayBreak any cycles and shorten long chains

A D A

A DD

Add @

Page 41: SWAN: Software-driven wide area network Ratul Mahajan.

Update execution: Preliminary results

Page 42: SWAN: Software-driven wide area network Ratul Mahajan.

Summary

SWAN yields a highly efficient and flexible WAN– Coordinated service transmissions and centralized resource allocation– Bounded fairness for scalable computation– Scratch capacities for “safe” transitions

Change is hard for SDNs– Need to understand fundamental limits, develop practical solutions