topic 6: sdn in practice: microsoft's swan · • solution: traffic profiling • truthful...
TRANSCRIPT
![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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040611/5ed5b0890a1a7f290d5f7269/html5/thumbnails/25.jpg)
25
Questions, Comments, Suggestions