Multi-Controllers Placement Optimization in SDN by the Hybrid HSA-PSO Algorithm
Abstract
:1. Introduction
- To improve the network scalability by constructing the network as a graph structure;
- To enhance the network performance by selecting the high fault-tolerant optimal controller using an optimization algorithm;
- To minimize the propagation delay between inter-controllers and switches by using hybrid metaheuristics algorithms.
- First, the optimal controller is selected from multiple controllers using the Firefly optimization algorithm (FA), which improves network performance by selecting the optimal controller to manage the network;
- Secondly, the multi-controller placement is performed by using hybrid harmony search algorithm and particle swarm optimization algorithm (HSA-PSO), which reduces the communication latency between the switch to the controller by selecting an optimal location to place the controller.
2. Preliminaries
2.1. Harmony Search Algorithm (HSA)
- Dynamic adaption of HSA parameters to enhance the convergence rate;
- Improved operations in terms of accuracy by combining with other optimization algorithms (i.e., hybrid solutions);
- Set of pre-defined rules for new harmony (i.e., Hybrid harmony).
2.2. Particle Swarm Algorithm (PSO)
3. Literature Survey
4. Problem Statement
- The existing works are considering only the delay between controllers and switches. However, the controller-to-controller communication after placement needs to be considered for achieving a precise solution for the CPP, which increases the communication latency between controllers, and affects the SDN network performance;
- The selection of constraints during controller placement are latency between switches and controllers, propagation delay, and link failure. However, the controller fault tolerance rate was not considered, which also leads to degradation during controller placement;
- The existing works utilized heuristics algorithms for controller placement problems. However, they achieve less performance in terms of latency and propagation delay, as the parameters of the existing algorithms was not tuned effectively. In addition, the consideration of single optimization algorithms limits them with imprecise controller placement.
5. The Proposed Work
5.1. Network Construction
5.2. Optimal Controller Selection
Algorithm 1Pseudocode of the FA for Optimal Controller Selection |
Initialize |
Formulate objective function using (13) |
Formulate controller absorption coefficient using (14) |
Initialize absorption coefficient using (15) |
While all do |
Compute controller feature distance using (12) |
For to n (all n controllers) |
For to n (all n controllers) |
If (), select over |
End if |
Update the |
End for |
End for |
Rank the controller and find the current best controller |
End while |
5.3. Multi-Controller Placement
6. Experimental Results
6.1. Simulation Setup
6.2. Use Case: VANET
6.3. Comparative Analysis
6.3.1. Impact of Propagation Delay
6.3.2. Impact of Average Round-Trip Time (RTT)
6.3.3. Impact of Matrix of Time Session (TS)
6.3.4. Impact of Average Delay
6.3.5. Impact of Reliability
6.3.6. Impact of Throughput
6.3.7. Impact of Cost
6.3.8. Impact of Fitness Value
6.4. Research Summary
7. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Qi, Y.; Wang, D.; Yao, W.; Li, H.; Cao, Y. Towards multi-controller placement for SDN based on density peaks clustering. In Proceedings of the 2019 IEEE International Conference on Communications (ICC), Shanghai, China, 20–24 May 2019; pp. 1–6. [Google Scholar]
- Mohanty, S.; Priyadarshini, P.; Sahoo, B.; Sethi, S. A Reliable Capacitated Controller Placement in Software Defined Networks. In Proceedings of the 3rd International Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 27–29 March 2019; pp. 822–827. [Google Scholar]
- Ashrafi, M.; Faroq, A.-T.; Correia, N. Placement of Controllers in Software Defined Networking under Multiple Controller Mapping. KnE Eng. 2020, 5, 394–404. [Google Scholar] [CrossRef]
- Moradi, A.; Abdi Seyedkolaei, A.; Hosseini, S.A. Controller placement in software defined network using iterated local search. J. Artif. Intell. Data Min. 2020, 8, 55–65. [Google Scholar]
- Zhang, X.; Li, L.; Yan, C.-B. Robust controller placement based on load balancing in software defined networks. In Proceedings of the IEEE International Conference on Networking, Sensing and Control (ICNSC), Nanjing, China, 30 October 2020; pp. 1–6. [Google Scholar]
- Fan, Y.; Wang, L.; Yuan, X. Controller placements for latency minimization of both primary and backup paths in SDNs. Comput. Commun. 2020, 163, 35–50. [Google Scholar] [CrossRef]
- Lin, N.; Zhao, Q.; Zhao, L.; Hawbani, A.; Liu, L.; Min, G. A novel cost-effective controller placement scheme for software-defined vehicular networks. IEEE Internet Things J. 2021, 8, 14080–14093. [Google Scholar] [CrossRef]
- Balakiruthiga, B.; Deepalakshmi, P. A Distributed Energy Aware Controller Placement Model for Software-Defined Data Centre Network. Iran. J. Sci. Technol. Trans. Electr. Eng. 2021, 45, 1083–1101. [Google Scholar] [CrossRef]
- Killi, B.R.; Rao, S.V. Poly-stable matching based scalable controller placement with balancing constraints in SDN. Comput. Commun. 2020, 154, 82–91. [Google Scholar] [CrossRef]
- Santos, D.; Gomes, T.; Tipper, D. SDN controller placement with availability upgrade under delay and geodiversity constraints. IEEE Trans. Netw. Serv. Manag. 2021, 18, 301–314. [Google Scholar] [CrossRef]
- Alowa, A.; Fevens, T. Towards minimum inter-controller delay time in software defined networking. Procedia Comput. Sci. 2020, 175, 395–402. [Google Scholar] [CrossRef]
- Amiri, E.; Alizadeh, E.; Rezvani, M.H. Controller selection in software defined networks using best-worst multi-criteria decision-making. Bull. Electr. Eng. Inform. 2020, 9, 1506–1517. [Google Scholar] [CrossRef]
- Dvir, A.; Haddad, Y.; Zilberman, A. The controller placement problem for wireless SDN. Wirel. Netw. 2019, 25, 4963–4978. [Google Scholar] [CrossRef]
- Calle, E.; Martínez, D.; Mycek, M.; Pióro, M. Resilient backup controller placement in distributed SDN under critical targeted attacks. Int. J. Crit. Infrastruct. Prot. 2021, 33, 100422. [Google Scholar] [CrossRef]
- Santos, D.; Gomes, T. Joint optimization of primary and backup controller placement and availability link upgrade in SDN networks. Opt. Switch. Netw. 2021, 42, 100634. [Google Scholar] [CrossRef]
- Rosle, M.S.; Mohamad, M.S.; Choon, Y.W.; Ibrahim, Z.; González-Briones, A.; Chamoso, P.; Corchado, J.M. A Hybrid of Particle Swarm Optimization and Harmony Search to Estimate Kinetic Parameters in Arabidopsis thaliana. Processes 2020, 8, 921. [Google Scholar] [CrossRef]
- Bala, N.M.; bin Safei, S. A Hybrid Harmony Search and Particle Swarm Optimization Algorithm (HSPSO) for Testing Non-functional Properties in Software System. Stat. Optim. Inf. Comput. (SOIC) 2021, 10, 3. [Google Scholar]
- Firouz, N.; Masdari, M.; Sangar, A.B.; Majidzadeh, K. A novel controller placement algorithm based on network portioning concept and a hybrid discrete optimization algorithm for multi-controller software-defined networks. Clust. Comput. 2021, 24, 2511–2544. [Google Scholar] [CrossRef]
- Li, Y.; Guan, S.; Zhang, C.; Sun, W. Parameter Optimization Model of Heuristic Algorithms for Controller Placement Problem in Large-Scale SDN. IEEE Access 2020, 8, 151668–151680. [Google Scholar] [CrossRef]
- Liao, L.; Leung, V.; Li, Z.; Chao, H.-C. Genetic Algorithms with Variant Particle Swarm Optimization Based Mutation for Generic Controller Placement in Software-Defined Networks. Symmetry 2021, 13, 1133. [Google Scholar] [CrossRef]
- Singh, A.K.; Maurya, S.; Kumar, N.; Srivastava, S. Heuristic approaches for the reliable SDN controller placement problem. Emerg. Telecommun. Technol. 2020, 31, e3761. [Google Scholar] [CrossRef]
- Dhar, M.; Bhattacharyya, B.K.; Kanti Debbarma, M.; Debbarma, S. A new optimization technique to solve the latency aware controller placement problem in software defined networks. Emerg. Telecommun. Technol. 2021, 32, e4316. [Google Scholar] [CrossRef]
- Jalili, A.; Keshtgari, M.; Akbari, R. A new framework for reliable control placement in software-defined networks based on multi-criteria clustering approach. Soft Comput. 2020, 24, 2897–2916. [Google Scholar] [CrossRef]
- Singh, A.K.; Maurya, S.; Srivastava, S. Varna-based optimization: A novel method for capacitated controller placement problem in SDN. Front. Comput. Sci. 2020, 14, 143402. [Google Scholar] [CrossRef]
- Hu, T.; Ren, Q.; Yi, P.; Li, Z.; Lan, J.; Hu, Y.; Li, Q. An efficient approach to robust controller placement for link failures in Software-Defined Networks. Future Gener. Comput. Syst. 2021, 124, 187–205. [Google Scholar] [CrossRef]
- Das, T.; Gurusamy, M. Controller placement for resilient network state synchronization in multi-controller SDN. IEEE Commun. Lett. 2020, 24, 1299–1303. [Google Scholar] [CrossRef]
- Ateya, A.A.; Muthanna, A.; Vybornova, A.; Algarni, A.D.; Abuarqoub, A.; Koucheryavy, Y.; Koucheryavy, A. Chaotic salp swarm algorithm for SDN multi-controller networks. Eng. Sci. Technol. Int. J. 2019, 22, 1001–1012. [Google Scholar] [CrossRef]
- Schütz, G.; Martins, J.A. A comprehensive approach for optimizing controller placement in Software-Defined Networks. Comput. Commun. 2020, 159, 198–205. [Google Scholar] [CrossRef]
- Sminesh, C.; Kanaga, E.G.M.; Sreejish, A. A multi-controller placement strategy in software defined networks using affinity propagation. Int. J. Internet Technol. Secur. Trans. 2020, 10, 229–253. [Google Scholar] [CrossRef]
- Ramya, G.; Manoharan, R. Enhanced optimal placements of multi-controllers in SDN. J. Ambient. Intell. Humaniz. Comput. 2021, 12, 8187–8204. [Google Scholar] [CrossRef]
- Aravind, P.; Varma, G.S.; Reddy, P.P. Simulated annealing based optimal controller placement in software defined networks with capacity constraint and failure awareness. J. King Saud Univ. Comput. Inf. Sci. 2021. [Google Scholar] [CrossRef]
- Li, G.; Wang, X.; Zhang, Z. SDN-Based Load Balancing Scheme for Multi-Controller Deployment. IEEE Access 2019, 7, 39612–39622. [Google Scholar] [CrossRef]
- Torkamani-Azar, S.; Jahanshahi, M. A new GSO based method for SDN controller placement. Comput. Commun. 2020, 163, 91–108. [Google Scholar] [CrossRef]
Single SDN Controller | Multi SDN Controller |
---|---|
Acquires the network’s global view | Lack of network global view |
Single point of failure | No single point of failure |
Poor scalability | Highly scalable |
Easy to deploy in legacy environments | Supports both legacy and SDN environments |
Subjected to high latency | Less latency |
Not suitable for mobile scenarios | Suitable for mobile scenarios |
Prone to a high link failure rate | No link failure |
High network congestion | No network congestion |
Study Ref/No | Advantages | Disadvantages |
---|---|---|
[18] | Solved CPP by hybrid manner method. Ensuring the latency in the network. | Limitations (e.g., switching requirements, fault tolerance) for optimal controller placement. |
[19] | Provides a delay-aware model by bat optimization, firefly algorithm, and VARNA. | Uses only utilized limited network indicators. |
[20] | Genetic and PSO algorithm were used to select the best controller based on fitness values by considering their delay constraints. | The genetic algorithm limits with high computation time consumption |
[21] | It uses a VARNA-based optimization VBO algorithm that reduces the total time consumption during console mode. Better than the teacher-learning-based optimization algorithm, and the Jaya algorithm in terms of time consumption. | This latency-only work is considered a limitation of CPP and other limitations of a better situation. |
[22] | A controller was set up for each group to reduce the latency between S2Cs by the “$” method. The proposed method achieved lower latency for various types of controller mode counts. The results show that the proposed work performed better in fault tolerance. | There is only one failure of the network controller number 5 in terms of path reliability. |
[23] | They used an uncontrolled type of flame-controlled locus optimizer for three metrics, hop count, propagation latency, and link utilization to assign S2C. They have the reliability of the path and the best positioning of the consoles. | This focused on the clustering method, and there are other limitations The “k” of a few controllers and did not specify the number of failures in the path to the proposed framework. |
[24] | They used the VBO algorithm in SDN environment to solve CPP and to reduce the average SDN latency so VBO provides the best dynamical performance. | It is based on clustering. |
[25] | An improved heuristic algorithm based on NSGA-II has been developed to improve CPP performance in SDN and reduce link failures for the number of controllers. Crowding distance and non-dominant group adaptive competition were determined to arrive at the optimal Pareto solutions for the CPP-MLF Multi-Link Failures solution. | This approach is not suitable for wide area networks, which leads to increased network load. |
[26] | Steiner tree was implemented to calculate the optimum internal controller in terms of the weight parameter to reach the failed links through the shortest path. The number and capacity of the controllers are considered and mapped into the switch. Quick failover in OpenFlow group tables. | There is a cost in case of network synchronization and network reconfiguration of the failure. |
[27] | SDN’s dynamic salp swarm optimization algorithm (SSOA) was used to get the best performance for optimal controller placement with chaotic mapping. The optimum number of controllers and the connection between controllers and switches have been evaluated in terms of making the optimum number of controller assignments in order to reduce cost during deployment and network latency. | It is based on extracting random parameters. |
[28] | Use a comprehensive mathematical approach to a CPP solution, which locates and minimizes controllers by selecting an optimal node based on the swap method and assigning the node to each controller by considering propagation latency, controllers’ capacity, and load balancing using a heuristic approach such as NP-hard. The shortest path was chosen by considering the diameter of the grid. | Propagation latency between nodes to controllers is within finite limits in case of distribution between controllers. |
[29] | A partitioning-based algorithm was used for the clustering feature, where it automatically counts the number of clusters and selects candidate placement of multi-controllers in SDN by considering the similarity of several parameters such as correlation bandwidth and Euclidean distance and thus calculating the latency between the controller and imbalance factors. | Not all controllers are specified for the purpose of partitioning and network capacity. |
Features | ||||||||
---|---|---|---|---|---|---|---|---|
Controllers | GUI | APIs | Platform | of Version | Modularity | Language | Category | Legacy Network |
ONOS | Excellent | NETCONF, OVSDB, OFREST | MAC Windows, Linux | Between 1.0 to 1.3 | Excellent | Java | Disseminated | Yes |
ODL | Excellent | OVSDB, OFREST, BGPSNMP | MAC windows, Linux | Between 1.0 to 1.3 | Excellent | Java | Disseminated | Yes |
Flood Light | Fair | OVSDB, OFREST | MAC windows, Linux | Between 1.0 to 1.3 | Fair | Java | Single | No |
Beacon | Bad | OVSDB, OFREST | MAC windows, Linux | 1 | Fair | Java | Single | No |
Ryu | Fair | OVSDB, OFREST, NETCONFG | MAC windows, Linux | Between 1.0 to 1.5 | Fair | Python | Single | No |
POX | Bad | OVSDB, OFREST | MAC windows, Linux | 1 | Bad | Python | Single | No |
NOX | Bad | OVSDB, OFREST | Linux | 1 | Bad | C++ | Single | No |
Parameter Names | Parameter Symbols | Value |
---|---|---|
Harmony Memory Consideration Rate | HMCR | 0.8 |
pitch Adjusting Rate | PAR | 0.2 |
Random | Rand | 0.1 |
HS iteration | H(I) | 100 |
Harmony Memory | HM | 5 |
Minimum bandwidth | BW | 0.1 mbps |
Maximum bandwidth | MBW | 0.4 mbps |
Software Specifications | Operating System | Windows 10 Pro (64 bits) |
---|---|---|
IDE | NetBeans 12.5 | |
Development Kit | JDK 1.8 | |
Network Simulator | CloudSimSDN | |
Language | Java | |
Topology Type | Undirected Graph | |
No. of Topology | 3 | |
Hardware Specifications | Hard Disk | 1 T |
CPU | Intel (R) Core (TM) i7-4590S @ 3.00 GHZ | |
RAM | 8 GB |
Cloud Server | Operating System | Windows 10 Pro (64 bits) |
---|---|---|
Bandwidth | 100,000 downlinks and uplinks | |
RAM | 64 GB | |
Delay | 900 ms | |
MIPS | 44,800 | |
Devices | Delay | 1 ms |
MIPS | 1500 | |
RAM | 4 GB | |
SDN | Number of controllers | 7 |
Number of switches | 28 | |
Switch Delay | 5 μs | |
Bandwidth | Variable |
Methods | Number of Iterations |
---|---|
GSOCCPP | 36.2 ± 0.5 |
SA-FFCCPP | 31.3 ± 0.3 |
MC-SDN | 15.5 ± 0.1 |
Methods | Number of Iterations |
---|---|
GSOCCPP | 14.7 ± 0.4 |
SA-FFCCPP | 10.95 ± 0.2 |
MC-SDN | 7.3 ± 0.1 |
Methods | Number of Iterations |
---|---|
GSOCCPP | 309.2 ± 0.5 |
SA-FFCCPP | 246.5 ± 0.4 |
MC-SDN | 203.5 ± 0.1 |
Methods | Number of Iterations |
---|---|
GSOCCPP | 108.3 ± 0.4 |
SA-FFCCPP | 95.3 ± 0.3 |
MC-SDN | 78.8 ± 0.1 |
Methods | Number of Iterations |
---|---|
GSOCCPP | 0.75 ± 0.5 |
SA-FFCCPP | 0.79 ± 0.4 |
MC-SDN | 0.88 ± 0.1 |
Methods | Number of Switches |
---|---|
GSOCCPP | 150.2 ± 0.3 |
SA-FFCCPP | 165.7 ± 0.2 |
MC-SDN | 197.1 ± 0.1 |
Methods | Number of Switches |
---|---|
GSOCCPP | 47.5 ± 0.4 |
SA-FFCCPP | 37.5 ± 0.2 |
MC-SDN | 26.8 ± 0.1 |
Methods | Number of Switches |
---|---|
GSOCCPP | 16.4 ± 0.5 |
SA-FFCCPP | 18.2 ± 0.4 |
MC-SDN | 22.5 ± 0.1 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Radam, N.S.; Al-Janabi, S.T.F.; Jasim, K.S. Multi-Controllers Placement Optimization in SDN by the Hybrid HSA-PSO Algorithm. Computers 2022, 11, 111. https://doi.org/10.3390/computers11070111
Radam NS, Al-Janabi STF, Jasim KS. Multi-Controllers Placement Optimization in SDN by the Hybrid HSA-PSO Algorithm. Computers. 2022; 11(7):111. https://doi.org/10.3390/computers11070111
Chicago/Turabian StyleRadam, Neamah S., Sufyan T. Faraj Al-Janabi, and Khalid Sh. Jasim. 2022. "Multi-Controllers Placement Optimization in SDN by the Hybrid HSA-PSO Algorithm" Computers 11, no. 7: 111. https://doi.org/10.3390/computers11070111
APA StyleRadam, N. S., Al-Janabi, S. T. F., & Jasim, K. S. (2022). Multi-Controllers Placement Optimization in SDN by the Hybrid HSA-PSO Algorithm. Computers, 11(7), 111. https://doi.org/10.3390/computers11070111