170 likes | 351 Views
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.
E N D
An Architectural Evaluation of SDN Controllers Syed Abdullah Shah, JannetFaiz, MahamFarooq, AamirShafi, 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
SDN Controllers • Free and open source SDN controllers used in this study: • NOX • Beacon • Maestro • Floodlight
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) • Used by: • NOX • Beacon • Floodlight
Design Option # 2 (Pull Design) • Used by: • Maestro
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
cbench – a tool to simulate OF switches Learning Switch Application packet-in packet-out or flow-mod
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
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-threadedand scalable • Performance focused • Embedded (Developed for Cavium intelligent NICs) • OpenFlow v1.0 Compliant Controller • Developed in system independent C
Throughput Mode – Thread Scalability Flows (million/sec) App : Learning Switch32 switches , MACs= 100k Number of threads
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!