1 / 17

An Architectural Evaluation of SDN Controllers

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.

dunne
Download Presentation

An Architectural Evaluation of SDN Controllers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Architectural Evaluation of SDN Controllers Syed Abdullah Shah, JannetFaiz, MahamFarooq, AamirShafi, Syed Akbar Mehdi National University of Sciences and Technology (NUST), Pakistan

  2. 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

  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 …

  5. Design Option # 1 (Push Design) • Used by: • NOX • Beacon • Floodlight

  6. Design Option # 2 (Pull Design) • Used by: • Maestro

  7. Design Features in SDN Controllers

  8. 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

  9. cbench – a tool to simulate OF switches Learning 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-threadedand scalable • Performance focused • Embedded (Developed for Cavium intelligent NICs) • OpenFlow v1.0 Compliant Controller • Developed in system independent C

  15. Throughput Mode – Thread Scalability Flows (million/sec) App : Learning Switch32 switches , MACs= 100k Number of threads

  16. JAM won Cavium’s2012 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!

More Related