160 likes | 367 Views
On Controller Performance in Software-Defined Networks. Author : Amin Tootoonchian , Sergey Gorbunov , Yashar Ganjali , Martin Casado and Rob Sherwood Publisher : Presenter: Yu Hao , Tseng Date: 2013/05/29. Outline. Introduction NOX-MT Experiment Setup Controller Throughput
E N D
On Controller Performance in Software-Defined Networks Author: Amin Tootoonchian, Sergey Gorbunov, YasharGanjali, Martin Casado and Rob Sherwood Publisher: Presenter: Yu Hao, Tseng Date: 2013/05/29
Outline • Introduction • NOX-MT • Experiment Setup • Controller Throughput • Controller Response Time • Cbench
Introduction • How fast can the controller respond to data path requests? • How many data path requests can it handle per second? • For example : • NOXhandles around 30k flow initiation events per second while maintaining a sub-10ms flow install time [14]. • Kandula et al. [9] found that a 1500-server cluster has a median flow arrival rate of 100k flows per second. • Benson et al. [2] show that a network with 100 switches can have spikes of 10M flows arrivals per second in the worst case. • We present NOX-MT a publicly-available multithreaded successor of NOX.
NOX-MT • NOX is not optimized for performance and is single-threaded. • The techniques to optimize NOX are including : • I/O batching to minimize the overhead of I/O • Port the I/O handling harness to Boost Asynchronous I/O (ASIO) library • Use a fast multiprocessor-aware mallocimplementation • NOX-MT is far from perfect. • Heavy use of dynamic memory allocation and redundant memory copies on a per-request basis • Using locking were robust wait-free alternatives exist
Experiment Setup • Cbench emulates a configurable number of OpenFlow switches that all communicate with a single OpenFlow controller. • Each emulated switch sends a configurable number of new flow messages to the OpenFlow controller, waits for the appropriate flow setup responses, and records the difference in time between request and response. • Cbench supports two modes of operation : • Latency • Throughput
Controller Throughput • Maximum throughput
Controller Throughput (Cont.) • Relation with the number of active switches
Controller Throughput (Cont.) • Relation with the load level
Controller Throughput (Cont.) • Effect of write-intensive workload
Controller Response Time • Minimum response time • Average response times of all controllers are between 100 and 150 microseconds. • Maximum response time
Controller Response Time (Cont.) • Relation with the load level
Controller Response Time (Cont.) • Relation with the number of active switches
Cbench (Cont.) • http://www.openflow.org/wk/index.php/Controller_Performance_Comparisons