SDN Controller Allocation and Assignment Based on Multicriterion Chaotic Salp Swarm Algorithm

Increase in demand for multimedia and quality services requires 5G networks to resolve issues such as slicing, allocation, forwarding, and control using techniques such as software-defined networking (SDN) and network function virtualization. In this study, the optimum number of SDN multi-controllers are implemented based on a multi-criterion advanced genetic algorithm that takes into consideration three key parameters: Switch controller latency, hopcount, and link utilization. Preprocessing is the first step, in which delay, delay paths, hopcount, and hoppaths are computed as an information matrix (Infomat). Randomization is the second step, and consists of initially placing controllers randomly, followed by an analytical hierarchical process evaluation that considers switch controller latency as the primary objective in the assignment process. In the third and last step, crossover and mutation genetic functions are implemented for a local search process until the best placement is found (when the primary objective threshold is reached). A novel chaos theory is applied to the salp swarm algorithm (SSA) for enhancing the optimizer’s performance in assigning the switch controllers. The SSA is a dynamic optimal algorithm for switch controller connections. To enhance convergence rate and precision, chaotic maps extract random parameters based on Gaussian distribution for better control in reducing local optima. A logistic chaotic map is selected after analyzing its performance based on unimodal and multimodal optimization. Evaluations are carried out on this proposed algorithm for 12 sets of topologies with two categories: Fewer and more switches. Simulation results show the highest efficiency in a computation time of 25 ms with varying thresholds and 12 ms with varying upper boundary utilization when compared with the particle swarm optimization (PSO) meta-heuristic algorithm. The effects of varying latency thresholds and upper boundary utilization on two set of topologies inferred more requests serviced with fewer controllers deployed.


Introduction
Software-defined networking (SDN) provides cost-effective dynamic communications between the control plane and the data plane. The data plane is responsible for all traffic forwarding operations while the control plane handles all traffic decisions in the network. This separation provides flexibility and control over changing network conditions. As shown in Fig. 1, SDN forms a virtualized control plane for intelligent decision-making related to network management, reducing the difference between network management and service provisioning. In large-scale networks, because using a single controller to manage all network switches is not possible, multiple controllers are needed. However, the number of controllers needed depends on network size and traffic. The number of deployed controllers should be optimized, and the allocation of controllers to switches should satisfy objectives for both static and dynamic networks. With changing network traffic, controller placement and allocation is easier in static networks than dynamic networks. This is because in dynamic networks, a new controller would need to be activated for increasing traffic and deactivated for decreasing traffic. Although SDN acts as the interconnection between the control plane and the data plane, having controllers deployed in the control plane and assigned to switches to manage a network is a difficult problem [1]. Previous studies show that switches are assigned to the nearest controller based only on propagation delay. Path load and link utilization were not considered for assignment in any of the past articles. If the load on any link is too great, the probability of link failure and delay will increase correspondingly [2]. However, the optimum number of controllers was not selected in order to meet the requirements of dynamically changing networks. In these recent articles, factors such as controller placement and the number of controllers deployed were shown to have great impact on elements in deployment cost such as CAPEX and OPEX. Nor did these articles consider minimizing network latency as a main objective. The current work deals with two algorithms that take into account all the objectives listed above to increase performance in terms of computation time and number of requests serviced. The advanced genetic algorithm is analyzed for different weights in order to show the importance of switch controller assignment. Load indicator and maximum utilization on every link are two important parameters considered in the proposed algorithm for link load balancing. By lowering the value of these metrics, better link efficiency and load balancing are achieved [3]. This is the first work to consider three different metrics for controller location and assignment. In order to handle dynamic change in traffic demand, this study deals with the optimum distribution and location of multi-controllers and the best assignment of switches to controllers based on metrics such as hopcount, assignment latency, and link utilization [4]. In this study, the two proposed dynamic algorithms are 1. Advanced genetic algorithm. 2. Novel chaos theory on meta-heuristic algorithm.
The proposed advanced genetic algorithm is multi-criterion algorithm based on an analytic hierarchy process for optimum selection and placement of SDN controllers, in order to increase flexibility of network management decision-making. The novel chaotic salp swarm algorithm (NCSSA) is proposed for switch controller allocation in large-scale distributed SDN controllers. This algorithm applies novel chaotic maps to the salp swarm optimization algorithm (SSA) enhancing its performance in latency reduction between switches and controllers. To find the fitness function for the SSA, modeling of distributed multicontrollers is employed with C controllers (i = 1, 2, 3 … C) and S switches (j = 1, 2, 3 … S). Controllers receive service requests from switches and respond according to switching-forwarding rules. Each controller has a maximum limit of service up to N switches, as its resource usage is limited [5]. Let us consider the mathematical model shown in (1) with controllers C = 7 and switches S = 10, with N matrix that defines the number of switches connected to controllers. Row matrix represents controllers and column matrix represents switches. The total number of ones in a row represents how many switches are connected to each controller. If the number of ones in each row exceeds the threshold value given by N matrix, the probability of failure increases. (1) The average response time (RT i ) of controller (i = 1,2,3…. C) is calculated based on arrival rate (λ i ) and service rate (µ i ) where P s is usage probability of system servers. The controller arrival rate (λ i ) is defined as summation of the arrival rate of all switches connected with their respective controllers.
The average controller load (Load i ) can be calculated based on the number of requests received and serviced.
where, u represents server utilization and s represents switches set.
The rest of study is organized as follows. Section 2 consists of a previous literature review. Section 3 describes the different criteria considered for analysis. Section 4 discusses the proposed controller placement algorithm. Sections 5 and 6 describe how chaotic maps are applied to the SSA for optimum switch controller allocation. Performance evaluation results are presented in Section 8. In Section 9, the authors offer their conclusions.

Related Works
In this section, the important literature on software-defined mobile network allocation is listed. A chaotic gray wolf optimizer controller framework is designed and evaluations are conducted on hierarchical switching topologies examining different quality of service (QoS) [6]. An analytic hierarchy process technique is developed based on different criteria related to QoS. The efficiency with respect to link load balancing problem is analyzed [7]. A review of 5G software and slicing techniques for service quality is undertaken, combining network slices and management in a single domain, and radio access network (RAN) virtualization and security challenges for 5G heterogenous systems are discussed [8]. The study and development of capacity of controllers and link delays are discussed [9]. A mathematical model for SDN controllers was designed that incurs low cost. This model determined the number and location of controllers, and the assignment of switches to controllers based on propagation delay. Rath [10] proposed a non-zero-sum algorithm for the selection and optimal placement of controllers in order to minimize deployment cost. This algorithm enhances optimization on each controller for dynamic network changes in real time. Gao [11] designed a framework for a controller placement algorithm. The PSO algorithm was developed based on swarm positions for controller placement. To enhance the optimizer's performance, swarm with the best fitness function based on distance and latency was selected. Simulation results showed that the proposed algorithm performed better in terms of computation time and delay. However, this algorithm considers only a fixed number of deployed controllers and is not suitable for dynamic traffic load change. Bari [12] determined the requirement for the number of controllers and used integer linear programming to determine their positions. This study took into account criteria, such as a controller's installation cost, the link cost between switches and controllers, and the linking of multi-controllers with each other. The inferences made from the above works and to what extent they were incorporated in the proposed algorithm are listed below.
The analytic hierarchy process is implemented in the advanced genetic algorithm for finding the best position of the controller. The SDN multiple controller architecture is understood. How the data plane and control plane can be integrated in a single domain and the security challenges in a 5G heterogeneous system are discussed. How controllers are deployed and assigned to switches based on propagation delay. This propagation delay is a metric considered for the proposed algorithm. Also considered are how to minimize latency due to propagation and processing, energy consumption, cost elements such as CAPEX and OPEX, and maximizing resilience and reliability. Optimization of controllers based on a non-zero sum algorithm and integer linear programming is explained. The design of the framework for optimizing the placement of a fixed number of controllers using the particle swarm optimization (PSO) algorithm.
Unlike previous articles, this article considers three different metrics for the optimum deployment of controllers and the optimal establishment of switch controller connections, based on the NCSSA.

Multicriterion Analysis
In this section, different criterion to be analyzed for controller placement and switch allocation to controller are discussed in detail [13,14].

Switch Controller Latency
Switch controller latency is most important parameter for controller placement. Increase in delay for switch servicing by controller will affect performance to the network activity.
In Fig. 2 there are two controllers C 1 and C 2 load imbalance can be viewed, where majority nodes are connected to C 2 and minimum nodes are connected to C 1, for example, let us consider node 6 is assigned to C 2 through two nodes 10 and 11 rather assigned to C 1 through nodes 2 and 3. switches 10 and 11 are used by nodes 9, 8 and 12,13, respectively, to connect with C 2. Hence the usage of links through switch 10 and 11 will be considerably busy increasing delays and probability of failure [15].

Hop Count
Hop count is defined as no of nodes present as intermediate between source and destination. For every hop it incurs latency which is important criterion to be considered for allocating switches to controllers. It is not possible to allocate only based on hopcount, since other parameters like delay, utilization should also be considered. For example node 6 can be allocated to either C 1 or C 2 since both are having same hop count. On considering latency through nodes 10 and 11 the efficiency decreases when connected to C 2 rather when connected to C 1.

Link Utilization Criterion
Link utilization criterion is defined as no of users currently using particular link indicates bandwidth utilization by traffic flow. Let us consider node 6 is connected to C 1 through the path 3 → 2 having transversal value (T) = 2 on particular link. In other case, if node 6 is connected to C 2 through the path 10 → 11 having T = 5 on particular link. Having more utilization bandwidth will definitely affect efficiency of the system and considering only one of above discussed parameters will not produce good result. Hence correct decision should be taken by administrators based on different preferences.

Controller Placement Algorithm
In order to find vicinity of controllers in network, advanced genetic algorithm is proposed to solve controller placement problem based on multicriterion analysis. Advanced genetic algorithm decides controller location and number of controllers based on network requirements [16]. Among three criterion, switch controller latency is considered foremost in order to analyse the optimal placement. A graph is considered as network () with S → set of 'n' nodes which are connected by links or edges, C → No of controllers needed and p → controller placement [17,18]. The main objective is to solve the following problem Minimum function of p ð Þ¼max s2S delay s; cs ð Þ; placement j j¼ C; p 2 2 s where delay (s,c s ) denotes propagation delay between switch s and controller c s on placement p. Inputs are I = (S,E), C, Iteration max (IT max), permutation counter (PC), delay matrix (DM), hopcount matrix(HCM), predefined value for p is initialized based on solutions till now and will be available as output [19].

Salp Swarm Algorithm
The SSA is a meta-heuristic algorithm that mathematically models the salp chain. The front salp of the chain is the leader and the rest of the salps behind the leader are followers. The leader leads the swarm for finding the food source, followed by the followers. Each salp position is an s-dimensional search space, where s is the number of variables. The salp position is stored in a 2D matrix called m, with food source F in the search space as the salp's destination [20].
The update of the leader salp occurs based on the following equation.
where m i k is the leader salp position in k th dimension, and F k is the food source position in k th dimension. u k ,l k are the upper and lower boundaries of k-th dimension. c 1 , c 2 , c 3 are random numbers used as model coefficients. The coefficient c 1 is given by i = current iteration, I = maximum no of iteration. c 2 and c 3 are random numbers uniformly distributed in interval [0,1].
Follower's position is updated based on newton's law of motion which indicates of position of i th follower salp in k th dimension (m i k Þ and n is the total number of salps

Novel Chaotic Salp Swarm Algorithm
Meta-heuristic algorithms [21] use random parameters employing Gaussian or uniform distribution with recession in convergence. This chaos theory can be overcome by replacing random numbers with chaotic variables. The salp position is updated using c 1 and c 2 coefficients. c 3 represents movement toward +ve or -ve infinity. c 2 can be adjusted with chaotic map value at current iteration as follows [22,23]: Logistic chaotic map optimizer is used for updating coefficient c 2 x(t) = chaotic map value at t-th iteration and initial value x(0) is 0.7

Novel Chaotic Salp Swarm Algorithm (NCSSA) for Switch Controller Allocation
In this algorithm, the salp at the food source is the required optimized solution. The optimum number of controllers is assigned based on the multiple criteria advanced genetic algorithm. Now the optimum allocation of switches to controllers, based on NCSSA, is initialized based on the following algorithm [24]:

Performance Evaluation
The performance of the NCSSA was evaluated through a simulation environment running on MATLAB. We selected 12 topologies from the Internet Topology Zoo and divided them into two categories, one with fewer switches and one with more switches. Tab. 1 shows the selected topologies. Tab. 2 shows the selected topologies in the two categories. The simulation parameters are listed in Tab. 3.
The proposed algorithm was implemented for maximum iterations for each selected topology. Two different scenarios were considered based on the different values of latency threshold and upper boundary utilization. Tab. 4 shows the parameters used in two scenarios in four cases.   . 3 shows the impact of the latency threshold on the two sets of selected topologies. An increase in the latency threshold allows the controller to provide response for more switches without affecting the required QoS. Therefore, with a higher latency threshold value, fewer controllers are needed to meet network requirements. Fig. 4 shows the impact of the utilization index on the two sets of selected topologies. The higher upper boundary utilization index (commonly used u k = 0.9 indicates 90% utilization) allows the controller to service more requests, so that fewer controllers need to be deployed.   Upperbound utilization (u k ) = 0.9

Conclusion
In this article, two algorithms are considered in a simulation environment: A multi-criterion advanced genetic algorithm for solving the problem of controller placement, based on criteria such as switch controller latency, hopcount, and link utilization, and a novel meta-heuristic chaotic salp swarm algorithm for switch controller allocation. The performance of the proposed algorithms are evaluated for 12 topologies, based on different metrics. The results confirmed that the algorithms optimized controller allocation and had faster computation times when compared with other algorithms.
Funding Statement: The author(s) received no specific funding for this study.
Conflicts of Interest: The authors declare that they have no conflicts of interest to report regarding the present study.