an architectural evaluation of sdn controllers
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/1.jpg)
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
![Page 2: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/2.jpg)
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
![Page 3: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/3.jpg)
3
SDN Controllers Free and open source SDN controllers used in this
study:– NOX– Beacon– Maestro– Floodlight
![Page 4: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/4.jpg)
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 …
![Page 5: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/5.jpg)
Design Option # 1 (Push Design)
5
Used by:o NOXo Beacono Floodlight
![Page 6: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/6.jpg)
6
Design Option # 2 (Pull Design)
Used by:o Maestro
![Page 7: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/7.jpg)
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
![Page 8: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/8.jpg)
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 request8
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
![Page 9: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/9.jpg)
9
cbench – a tool to simulate OF switchesLearning Switch Application
packet-in packet-out or flow-mod
![Page 10: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/10.jpg)
10
Throughput Performance – Thread Scalability
![Page 11: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/11.jpg)
11
Throughput Performance – Switches Scalability
![Page 12: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/12.jpg)
12
Latency Performance
![Page 13: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/13.jpg)
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
![Page 14: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/14.jpg)
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
![Page 15: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/15.jpg)
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
![Page 16: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/16.jpg)
16
JAM won Cavium’s 2012 Global Multicore Challenge …
![Page 17: An Architectural Evaluation of SDN Controllers](https://reader035.vdocuments.mx/reader035/viewer/2022062812/568163a5550346895dd4ac31/html5/thumbnails/17.jpg)
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!