Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful...
Transcript of Topic 6: SDN in practice: Microsoft's SWAN · • Solution: traffic profiling • Truthful...
Topic 6: SDN in practice: Microsoft's SWAN
Student: Miladinovic Djordje Date: 17.04.2015
1
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
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
4
Introduction to SWAN: MPLS issues
Key problems:
1. Lack of coordination among DC services
2. Distributed resource allocation
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
6
Introduction to SWAN: MPLS issues
Key problems:
1. Lack of coordination among DC services
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
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
9
Introduction to SWAN: MPLS issues
Key problems:
2. Distributed resource allocation
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
11
Introduction to SWAN: Overview
Key features:
• Priority classes of services
• Background
• Elastic
• Interactive
• Within a class of services: max-min fair allocation
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)
13
SWAN Design: Architecture
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
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
16
SWAN Design: Implementation
Key challenges:
1. Efficient scalable
global allocation algorithm
needed
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
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
19
SWAN Design: Implementation
Key challenges:
3. Atomic reconfiguration of the system is hard to engineer
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
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
22
SWAN Evaluation: Data-Driven Setup:
• IDN: more than 40 DCs
• G-Scale: 12 DCs
Network
Utilization:
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
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
25
Questions, Comments, Suggestions