The limited performance of a centralized controller can become the bottleneck in a large software defined network. One approach to reduce the flow setup time is to deploy multiple controllers in a network. This increases the number of packets that can be handled per time, but also comes with a communication overhead. The optimization problem in this context is to select the best number of controllers such that the flow setup time can be minimized. In this paper, we set up a queueing model for the response time of a controller. We use the model to evaluate the flow setup time and optimize the optimal number of controllers. We implement a prototype of multiple controllers, measure the response time of the prototype processing different jobs and fit a hyper-Erlang distribution to the response time. We use the fitted distribution in the queueing model to determine the optimal number of the controllers. The queueing analysis shows that the optimal number of controllers decreases with the rate of communication messages among the controllers and increases with the rate of requests from the switches. Our analysis allows us to find best points of operation.
[1]
Riccardo Poli,et al.
Particle swarm optimization
,
1995,
Swarm Intelligence.
[2]
Zhihao Shang,et al.
An OpenFlow Controller Performance Evaluation Tool
,
2018,
EPEW.
[3]
Xirong Que,et al.
Reliability-aware controller placement for Software-Defined Networks
,
2013,
2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).
[4]
Rob Sherwood,et al.
The controller placement problem
,
2012,
HotSDN@SIGCOMM.
[5]
Jun Bi,et al.
On the Capacitated Controller Placement Problem in Software Defined Networks
,
2014,
IEEE Communications Letters.
[6]
A. Mahanti.
Internet Traffic Measurement
,
2005
.