Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful...

25
Topic 6: SDN in practice: Microsoft's SWAN Student: Miladinovic Djordje Date: 17.04.2015 1

Transcript of Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful...

Page 1: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

Topic 6: SDN in practice: Microsoft's SWAN

Student: Miladinovic Djordje Date: 17.04.2015

1

Page 2: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

2

SWAN at a glance Goal:

• Boost the utilization of inter-DC networks

• Overcome the problems of current traffic engineering practice

Why improve inter-DC?:

• Has a significant fraction and is rapidly growing

• An expensive dedicated WANs

• Current WANs have poor efficiency

Idea:

• Use SDN centralization logic to improve efficiency of inter-DC WANs

Page 3: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

3

Background: MPLS TE

Goal: • Efficient usage of network capacity

Principles:

• Load balancing of the traffic (typically ECMP)

• Network path calculation using CSPF

• Service differentiation for prioritizing

• Different services mapped to different tunnels

• DSCP bits

Page 4: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

4

Introduction to SWAN: MPLS issues

Key problems:

1. Lack of coordination among DC services

2. Distributed resource allocation

Page 5: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

5

Introduction to SWAN: MPLS issues

Key problems:

1. Lack of coordination among DC services

• Services on the network send packets whenever they want

and however much traffic they want

• Capacity defined by the traffic peaks

• Leads to under-subscription

• Waste of bandwidth

Page 6: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

6

Introduction to SWAN: MPLS issues

Key problems:

1. Lack of coordination among DC services

Page 7: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

7

Introduction to SWAN: MPLS issues

Key problems:

1. Lack of coordination among DC services

SWAN Solution:

• Exploit delay-tolerant services

• Global coordination of the sending rate of services

Page 8: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

8

Introduction to SWAN: MPLS issues

Key problems:

2. Distributed resource allocation

• No entity has a global view

• Greedy resource allocation

• We are stuck in local optimum

Page 9: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

9

Introduction to SWAN: MPLS issues

Key problems:

2. Distributed resource allocation

Page 10: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

10

Introduction to SWAN: MPLS issues

Key problems:

2. Distributed resource allocation

SWAN Solution:

• Leverage the centralized view of the network to find

global optimum

Page 11: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

11

Introduction to SWAN: Overview

Key features:

• Priority classes of services

• Background

• Elastic

• Interactive

• Within a class of services: max-min fair allocation

Page 12: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

12

Introduction to SWAN: Overview

Key features:

• How it works:

1. All services except interactive ones “talk” to the

controller

2. Controller computes service rates and network paths

3. Controller updates the switches

• Forwarding is label-switched (VLAN IDs used)

Page 13: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

13

SWAN Design: Architecture

Page 14: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

14

SWAN Design: Implementation

Key challenges:

1. Efficient scalable global allocation algorithm needed

2. Limited number of forwarding rules on the switches

3. Atomic reconfiguration of the system is hard to engineer

Page 15: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

15

SWAN Design: Implementation

Key challenges:

1. Efficient scalable global allocation algorithm needed

• Maximize network utilization subject to:

1. Service priorities

2. Max-min fairness principle

• The algorithm features:

1. Uses Linear Programming

2. Approximation for max-min fairness principle

Page 16: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

16

SWAN Design: Implementation

Key challenges:

1. Efficient scalable

global allocation algorithm

needed

Page 17: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

17

SWAN Design: Implementation

Key challenges:

1. Efficient scalable global allocation algorithm needed

Problem:

2. Limited number of forwarding rules on the switches

Solution:

Cut down the number of usable paths and re-run the

algorithm

Page 18: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

18

SWAN Design: Implementation

Key challenges:

3. Atomic reconfiguration of the system is hard to engineer

• Enable forwarding state updates:

• Add new rules before deleting the old ones

• Avoid causing congestion

• The updates have to be quick

• Continue carrying significant traffic during updates

Page 19: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

19

SWAN Design: Implementation

Key challenges:

3. Atomic reconfiguration of the system is hard to engineer

Page 20: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

20

SWAN Design: Implementation

Key challenges:

3. Atomic reconfiguration of the system is hard to engineer

• SWAN approach:

• Step by step reconfiguration (find intermediate configurations using LP)

• Scratch capacity

• Tradeoff between bandwidth utilization and number of steps

• SWAN also allows the possibility of having a bounded-congestion in

order to exploit full bandwidth

Page 21: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

21

SWAN Evaluation: Testbed-based Setup:

• Modest size

• Varying the demands (not synchronized among DCs)

Goal: • Examine congestion-

controlled updates

Results: • Close to optimal throughput

• Updates are quick and do not cause overhead

Page 22: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

22

SWAN Evaluation: Data-Driven Setup:

• IDN: more than 40 DCs

• G-Scale: 12 DCs

Network

Utilization:

Page 23: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

23

SWAN Evaluation: Data-Driven Fairness:

• Even when the demands cannot be fully met SWAN well

approximates max-min fair sharing

Network Updates: • Scratch capacity based tradeoff

• Congestion-control benefits

Page 24: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

24

SWAN Discussion • Non-conforming traffic

• Services can send more than allocated

• Solution: traffic profiling

• Truthful declaration • Services ask more bandwidth than they can consume

• Solution: pricing

• Richer service-network interface • Future work: more sophisticated interface between

services and the network

Page 25: Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful declaration • Services ask more bandwidth than they can consume • Solution: pricing

25

Questions, Comments, Suggestions