OpenFlow: Enabling Innovation in Campus Networks

advertisement
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
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 :
• NOX handles 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.
3
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 malloc implementation
• 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
Cbench (Cont.)
Cbench (Cont.)
• http://www.openflow.org/wk/index.php/Controller_Performa
nce_Comparisons
Cbench (Cont.)
responses/s
min
max
avg
stdev
NOX
42620.00
232301.74
203830.60
57337.18
POX
7764.75
7939.25
7875.25
54.54
Download