an architectural evaluation of sdn controllers syed abdullah shah, jannet faiz, maham farooq, aamir...
TRANSCRIPT
1
An Architectural Evaluation of SDN Controllers
Syed Abdullah Shah, Jannet Faiz, Maham Farooq, Aamir Shafi, Syed Akbar Mehdi
National University of Sciences and Technology (NUST), Pakistan
Introduction Several free and commercial SDN controllers are available
in the market today: – Free and open source:
• Floodlight, Beacon, Maestro, NOX, POX etc.– Commercial:
• Big Switch, NEC, Cisco etc.
Contributions of this paper: – Study software architectures of existing SDN controllers with
the aim to identify best practices– Conduct vendor-independent performance study through
several micro-benchmarks
2
3
SDN Controllers Free and open source SDN controllers used in this
study:– NOX– Beacon– Maestro– Floodlight
4
Key Design Features in Controllers Multicore Support:
– The controller uses parallelism to exploit all available cores/processors in the system
Switch Partitioning: – Distribution mechanism of connecting OF switches to controller
threads Packet Batching:
– Input: Amount of data read from the network (OF switch)– Output: Amount of data written to the network (OF switch)
Task Batching: – Distribution mechanism of incoming packets to controller threads
Our study reveals two design options for SDN controllers …
Design Option # 1 (Push Design)
5
Used by:o NOXo Beacono Floodlight
6
Design Option # 2 (Pull Design)
Used by:o Maestro
7
Design Features in SDN ControllersDesign Option
Multicore Support
Switch Partitioning
Static I/O Batching
Task Batching
NOXOpt # 1 (push design)
Yes Static (round robin)
Static (fixed # of bytes)
No
FloodlightOpt # 1 (push design)
Yes (over-subscription)
Static Static No
BeaconOpt # 1 (push design)
Yes (over-subscription)
Static Static (also supports immediate mode)
No
MaestroOpt # 2 (pull design)
Yes Adaptive (shared queue)
Workload adaptive
Yes
Performance Evaluation Testbed Throughput performance:
– How many OF requests a controller can handle per seconds?
– Metric for studying performance under heavy load
– Thread scalability– Switch scalability
Latency performance– How fast can a controller process a
single OF request?– Metric for studying performance of
single OF request
8
Afrit Cluster
OS GNU/Linux
# of Nodes 32
Brand HP DL 160 SE
Cores per Node
16
# of Cores 512
Memory 768 GB
# of GPUs 128 (Nvidia Tesla S1070)
Interconnect 10 GigE
9
cbench – a tool to simulate OF switchesLearning Switch Application
packet-in packet-out or flow-mod
10
Throughput Performance – Thread Scalability
11
Throughput Performance – Switches Scalability
12
Latency Performance
13
Key Findings Controllers designed for high throughput (i.e. large
volumes of control traffic and heavy load) perform best with static switch partitioning and packet batching
Controllers designed for delay-sensitive control plane applications should use workload adaptive packet batching and task batching to reduce per-packet latencies: – Immediate mode (sending outgoing packets individually) helps
with the latency performance
14
Proposed SDN Controller
To verify our key findings, we implemented these best-practices in a custom SDN controller called JAM
JAM has the following features: – Multi-threaded and scalable– Performance focused– Embedded (Developed for Cavium intelligent NICs)– OpenFlow v1.0 Compliant Controller– Developed in system independent C
15
1 2 40
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
NOX-MT
Beacon
Maestro
Floodlight
JAM
App : Learning Switch32 switches , MACs= 100k
Flow
s (m
illio
n/se
c)
Number of threads
Throughput Mode – Thread Scalability
16
JAM won Cavium’s 2012 Global Multicore Challenge …
17
Summary This paper conducted a performance study of existing
SDN controller on the basis of: – Multicore Support– Switch Partitioning – Packet Batching– Task Batching
Findings: – Controllers designed for high throughput perform best with
static switch partitioning and packet batching– Controllers sensitive to latency should use workload adaptive
packet batching and task batching Thanks for your time and patience!