smore: semi-oblivious traffic engineering · smore: semi-oblivious routing oblivious routing...

52
SMORE: Semi-Oblivious Trac Engineering Praveen Kumar * Yang Yuan* Chris Yu Nate Foster* Robert Kleinberg* Petr Lapukhov # Chiun Lin Lim # Robert Soulé § * Cornell CMU # Facebook § USI Lugano

Upload: others

Post on 28-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

SMORE: Semi-Oblivious Traffic Engineering

Praveen Kumar* Yang Yuan* Chris Yu‡ Nate Foster* Robert Kleinberg* Petr Lapukhov# Chiun Lin Lim# Robert Soulé §

* Cornell ‡ CMU # Facebook § USI Lugano

Page 2: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

WAN Traffic Engineering

Page 3: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

WAN Traffic EngineeringObjectives Challenges

Gbps

Performance Robustness

Latency Operational simplicity

Page 4: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

WAN Traffic EngineeringObjectives Challenges

Gbps

Performance Robustness

Latency Operational simplicity

Unstructured topology

Unexpected failures

Misprediction & Traffic Bursts

Heterogeneous capacity

Update overheads

Device limitations

Page 5: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

TE ApproachesTraditional Distributed

SDN-Based Centralized

1

1

100

1

1

1

1

1

1

1

Page 6: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

TE ApproachesTraditional Distributed

SDN-Based Centralized

1

1

100

1

1

1

1

1

1

1

Page 7: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

TE ApproachesTraditional Distributed

SDN-Based Centralized

1

1

100

1

1

1

1

1

1

1100

Page 8: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

TE ApproachesTraditional Distributed

SDN-Based Centralized

1

1

100

1

1

1

1

1

1

1100

Page 9: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

TE ApproachesTraditional Distributed

SDN-Based Centralized

Optimal TE?(MCF)

1

1

100

1

1

1

1

1

1

1100

Page 10: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Operational Cost of OptimalitySolver Time

Tim

e (s

econ

ds)

Traffic Matrix

Page 11: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Operational Cost of OptimalityPath Churn

Chur

n (#

pat

hs)

Traffic Matrix

Page 12: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Towards a Practical ModelTopology

(+ demands)

Path Selection

Rate Adaptation

Paths

Splitting Ratio

Demands

1

2

Page 13: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Towards a Practical ModelTopology

(+ demands)

Path Selection

Rate Adaptation

Paths

Splitting Ratio

Demands

Computing and updating

paths is typically expensive and

slow.

But updating splitting ratios is cheap and fast!

1

2

Page 14: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Towards a Practical ModelTopology

(+ demands)

Path Selection

Rate Adaptation

Paths

Splitting Ratio

Demands

Computing and updating

paths is typically expensive and

slow.

But updating splitting ratios is cheap and fast!

Static

Dynamic

1

2

Page 15: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection Challenges

• Selecting a good set of paths is tricky!

• Route the demands (ideally, with competitive latency)

• React to changes in demands (diurnal changes, traffic bursts, etc.)

• Be robust under mis-prediction of demands

• Have sufficient extra capacity to route demands in presence of failures

• and more …

Page 16: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

ApproachA static set of cleverly-constructed paths can

provide near-optimal performance and robustness!

Desired path properties:

• Low stretch for minimizing latency

• High diversity for ensuring robustness

• Good load balancing for performance • Capacity aware

• Globally optimized{

Page 17: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Capacity Aware

• Traditional approaches to routing based on shortest paths (e.g., ECMP, KSP) are generally not capacity aware

C

B

A

G E

F

D

100 Gbps10 Gbps

Page 18: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Capacity Aware

• Traditional approaches to routing based on shortest paths (e.g., ECMP, KSP) are generally not capacity aware

C

B

A

G E

F

DA

C

B

100 Gbps10 Gbps

Page 19: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Capacity Aware

• Traditional approaches to routing based on shortest paths (e.g., ECMP, KSP) are generally not capacity aware

C

B

A

G E

F

DA

C

B

100 Gbps10 Gbps

Page 20: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Globally OptimalOther approaches based on greedy algorithms are

capacity aware, but are still not globally optimal

C

B

A

G E

F

D

Globally optimalCSPF

Page 21: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Globally OptimalOther approaches based on greedy algorithms are

capacity aware, but are still not globally optimal

C

B

A

G E

F

DA

Globally optimalCSPF

Page 22: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Globally OptimalOther approaches based on greedy algorithms are

capacity aware, but are still not globally optimal

C

B

A

G E

F

DA

B

Globally optimalCSPF

Page 23: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Globally OptimalOther approaches based on greedy algorithms are

capacity aware, but are still not globally optimal

C

B

A

G E

F

DA

C

B

Globally optimalCSPF

Page 24: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Properties: Globally OptimalOther approaches based on greedy algorithms are

capacity aware, but are still not globally optimal

C

B

A

G E

F

DA

C

B

C

B

A

G E

F

DA

C

B

Globally optimalCSPF

Page 25: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection

AlgorithmLoad balanced

Diverse Low-stretchCapacity aware

Globally Optimized

SPF / ECMP ❌ ❌ ❌ ✔

CSPF ✔ ❌ ❌ ✔

k-shortest paths ❌ ❌ ? ✔

Edge-disjoint KSP ❌ ❌ ✔ ✔

MCF ✔ ✔ ❌ ❌

VLB ❌ ❌ ✔ ❌

B4 ✔ ✔ ❌ ?

? - Difficult to generalize

Page 26: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection

AlgorithmLoad balanced

Diverse Low-stretchCapacity aware

Globally Optimized

SPF / ECMP ❌ ❌ ❌ ✔

CSPF ✔ ❌ ❌ ✔

k-shortest paths ❌ ❌ ? ✔

Edge-disjoint KSP ❌ ❌ ✔ ✔

MCF ✔ ✔ ❌ ❌

VLB ❌ ❌ ✔ ❌

B4 ✔ ✔ ❌ ?

? - Difficult to generalize

Page 27: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection

AlgorithmLoad balanced

Diverse Low-stretchCapacity aware

Globally Optimized

SPF / ECMP ❌ ❌ ❌ ✔

CSPF ✔ ❌ ❌ ✔

k-shortest paths ❌ ❌ ? ✔

Edge-disjoint KSP ❌ ❌ ✔ ✔

MCF ✔ ✔ ❌ ❌

VLB ❌ ❌ ✔ ❌

B4 ✔ ✔ ❌ ?

? - Difficult to generalize

Page 28: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection

AlgorithmLoad balanced

Diverse Low-stretchCapacity aware

Globally Optimized

SPF / ECMP ❌ ❌ ❌ ✔

CSPF ✔ ❌ ❌ ✔

k-shortest paths ❌ ❌ ? ✔

Edge-disjoint KSP ❌ ❌ ✔ ✔

MCF ✔ ✔ ❌ ❌

VLB ❌ ❌ ✔ ❌

B4 ✔ ✔ ❌ ?

? - Difficult to generalize

Page 29: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection

AlgorithmLoad balanced

Diverse Low-stretchCapacity aware

Globally Optimized

SPF / ECMP ❌ ❌ ❌ ✔

CSPF ✔ ❌ ❌ ✔

k-shortest paths ❌ ❌ ? ✔

Edge-disjoint KSP ❌ ❌ ✔ ✔

MCF ✔ ✔ ❌ ❌

VLB ❌ ❌ ✔ ❌

B4 ✔ ✔ ❌ ?

? - Difficult to generalize

Page 30: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection

AlgorithmLoad balanced

Diverse Low-stretchCapacity aware

Globally Optimized

SPF / ECMP ❌ ❌ ❌ ✔

CSPF ✔ ❌ ❌ ✔

k-shortest paths ❌ ❌ ? ✔

Edge-disjoint KSP ❌ ❌ ✔ ✔

MCF ✔ ✔ ❌ ❌

VLB ❌ ❌ ✔ ❌

B4 ✔ ✔ ❌ ?

? - Difficult to generalize

Page 31: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Oblivious Routing

Page 32: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

VLB

• Route through random intermediate node

• Works well for mesh topologies

• WANs are not mesh-like

• Good resilience

• Poor performance & latency

Mesh

3

21

N

4

Page 33: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

VLB

• Route through random intermediate node

• Works well for mesh topologies

• WANs are not mesh-like

• Good resilience

• Poor performance & latency

Mesh

3

21

N

4

Page 34: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Not MeshVLB

• Route through random intermediate node

• Works well for mesh topologies

• WANs are not mesh-like

• Good resilience

• Poor performance & latency

Page 35: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Not MeshVLB

• Route through random intermediate node

• Works well for mesh topologies

• WANs are not mesh-like

• Good resilience

• Poor performance & latency

Page 36: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Oblivious [Räcke ‘08]

• Generalizes VLB to non-mesh

• Distribution over routing trees

• Approximation algorithm for low-stretch trees [FRT ’04]

• Penalize links based on usage

• O(log n) competitive

Not Mesh

Low-stretch routing trees

Prob

abili

ty

Page 37: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Oblivious [Räcke ‘08]

• Generalizes VLB to non-mesh

• Distribution over routing trees

• Approximation algorithm for low-stretch trees [FRT ’04]

• Penalize links based on usage

• O(log n) competitive

Not Mesh

Low-stretch routing trees

Prob

abili

ty

Page 38: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Oblivious [Räcke ‘08]

• Generalizes VLB to non-mesh

• Distribution over routing trees

• Approximation algorithm for low-stretch trees [FRT ’04]

• Penalize links based on usage

• O(log n) competitive

Not Mesh

Low-stretch routing trees

Prob

abili

ty

Page 39: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Path Selection

AlgorithmLoad balanced

Diverse Low-stretchCapacity aware

Globally Optimized

SPF / ECMP ❌ ❌ ❌ ✔

CSPF ✔ ❌ ❌ ✔

k-shortest paths ❌ ❌ ? ✔

Edge-disjoint KSP ❌ ❌ ✔ ✔

MCF ✔ ✔ ❌ ❌

VLB ❌ ❌ ✔ ❌

B4 ✔ ✔ ❌ ?

SMORE / Oblivious ✔ ✔ ✔ ✔

Page 40: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

SMORE: Semi-Oblivious Routing

Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

LP Optimizer balances load by dynamically adjusting splitting ratios used to map incoming traffic flows to paths

Path Selection

Rate Adaptation

Semi-Oblivious Traffic Engineering: The Road Not Taken [NSDI ’18]

Page 41: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Semi-Oblivious Routing in Practice?

• ▼ Previous work [Hajiaghayi et al.] established a worst-case competitive ratio that is not much better than oblivious routing: Ω(log(n)/log (log(n)))

• But the real-world does not typically exhibit worst-case scenarios

• Implicit correlation between demands and link capacities Question: How well does semi-oblivious routing perform in practice?

Page 42: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Evaluation

Page 43: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

YATES

Facebook’s Backbone Network

Source: https://research.fb.com/robust-and-efficient-traffic-engineering-with-oblivious-routing/

YATES: Rapid Prototyping for Traffic Engineering Systems [SOSR ’18]

Page 44: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

PerformanceM

etric

Time

Throughput Congestion Drop Max. Link Utilization

Page 45: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

PerformanceM

etric

Time

Throughput Congestion Drop Max. Link Utilization

Page 46: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

RobustnessM

etric

Time

Throughput Congestion Drop Max. Link Utilization Failure Drop

Page 47: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Robustness

Path budget = 4

Met

ric

Time

Throughput Congestion Drop Max. Link Utilization Failure Drop

Page 48: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Operational Constraints - Path Budget

4-8xOptimal

SMOREMCF KSP+MCFR-MCF

Path Budget

Max

. Lin

k U

tiliza

tion

Page 49: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Large Scale Simulations

• Conducted larger set of simulations on Internet Topology Zoo

• 30 topologies from ISPs and content providers

• Multiple traffic matrices (gravity model), failure models and operational conditions

Page 50: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Do these results generalize?Yes*

Throughput SLA

SMORE

Prob

abili

ty o

f ach

ievi

ng S

LANormalized Capacity

KSP+MCFSMORE

R-MCFFFC

Oblivious

ECMP

Page 51: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Takeaways• Path selection plays an outsized role in the performance of TE systems

• Semi-oblivious TE meets the competing objectives of performance and robustness in modern networks

• Oblivious routing for path selection + Dynamic load-balancing

• Ongoing and future-work:

• Apply to other networks (e.g. non-Clos DC topologies)

• SR-based implementations and deployments

Page 52: SMORE: Semi-Oblivious Traffic Engineering · SMORE: Semi-Oblivious Routing Oblivious Routing computes a set of paths which are low-stretch, robust and have good load balancing properties

Thank You!

Bobby Kleinberg Cornell

Robert Soule Lugano

Nate Foster Cornell

Petr Lapukhov Facebook

Chiun Lin Lim Facebook

Chris Yu CMU

Yang Yuan Cornell

Code: github.com/cornell-netlab/yates

SMORE: Oblivious routing + Dynamic rate adaptation

Learn more: www.cs.cornell.edu/~praveenk/smore/NSDI ’18