Abstract
Software-defined networking (SDN) is a state-of-the-art architectural approach to network management that allows more flexible management of a complicated large-scale network. For providing services with high performance, availability, and scalability, server clustering is widely used. This study develops a server cluster based on OpenFlow, which is the most common SDN protocol. To utilize cluster resources effectively, this study focuses on the server-side load-balancing issue and increases the performance for a cluster of servers with different processing capabilities. We have proposed a novel load balancing algorithm, named dynamic weighted random selection (DWRS). DWRS considers the real-time server loads when dispatching requests to servers. Underutilized servers are assigned higher weights, so they have a higher possibility of being selected to process requests. To increase system performance, we modify the flow of packet handling in the Floodlight controller. A multi-threaded technique is used to effectively utilize the parallel processing capability of multiple cores, which speeds up the processing of packet-in messages when selecting the target server. This prevents the controller from becoming overloaded, especially when a large number of packet-in messages arrive. To demonstrate effectiveness and feasibility, we deploy our experimental environment using real hardware, instead of using Mininet to set up a virtual SDN testbed. Experimental results show that the proposed DWRS with multi-threaded implementation outperforms other policies, especially in a heterogeneous environment.
Similar content being viewed by others
References
Kreutz, D., Ramos, F.M.V., Veríssimo, P.E., Rothenberg, C.E., Azodolmolky, S., Uhlig, S.: Software-defined networking: a comprehensive survey. Proc. IEEE 103(1), 14–76 (2015)
Neghabi, A.A., Navimipour, N.J., Hosseinzadeh, M., Rezaee, A.: Load balancing mechanisms in the software defined networks: a systematic and comprehensive review of the literature. IEEE Access 6, 14159–14178 (2018)
Chen, W., Shang, Z., Tian, X., Li, H.: Dynamic server cluster load balancing in virtualization environment with openflow. Int. J. Distrib. Sens. Netw. 2015(8), 1–9 (2015)
Du, Q., Zhuang, H.: OpenFlow-based dynamic server cluster load balancing with measurement support. J. Commun. 10(8), 572–578 (2015)
Saifullah, M.A., Mohamed, M.A.M.: Open flow-based server load balancing using improved server health reports. In: Proceedings of 2016 IEEE 2nd International Conference on Advances in Electrical, Electronics, Information, Communication and Bio-Informatics, pp. 649–651 (2016)
Long, H., Shen, Y., Guo, M., Tang, F.: LABERIO: dynamic load-balanced routing in OpenFlow-enabled networks. In: Proceeding of the 27th International Conference on Advanced Information Networking and Applications, pp. 290–197 (2013)
Handigol, N., Seetharaman, S., McKeown, N., Johari, R.: Plug-n-Serve: load-balancing web traffic using OpenFlow. In: Proceedings of the ACM SIGCOMM Conference on Data Communication, Barcelona, Spain (2009)
Zhang, H., Guo, X.: SDN-based load balancing strategy for server cluster. In: Proceedings of 2014 IEEE 3rd International Conference on Cloud Computing and Intelligence Systems, pp. 662–667 (2014)
Al-Najjar, A., Teed, S., Indulska, J., Portmann, M.: Flow-based load balancing of web traffic using OpenFlow. In: 27th International Telecommunication Networks and Applications Conference, pp. 1–6 (2017)
Wang, R., Butnariu, D., Rexford, J.: OpenFlow-based server load balancing gone wild. In: Proceedings of the 11th USENIX Conference, Hot Topics in Management of Internet, Cloud, and Enterprise Networks and Services (2011)
Oktian, Y.E., Lee, S.G., Lee, H.J., Lam, J.H.: Distributed SDN controller system: a survey on design choice. Comput. Netw. 121, 100–111 (2017)
Bannour, F., Souihi, S., Mellouk, A.: Distributed SDN control: survey, taxonomy, and challenges. IEEE Commun. Surv. Tutorials 20(1), 333–354 (2018)
Zhou, Y., Zhu, M., Xiao, L., Ruan, L., Duan, W., Li, D.: A load balancing strategy for SDN controller based on distributed decision. In: Proceedings of 2014 IEEE 13th International Conference on Trust, Security and Privacy in Computing and Communications, Beijing, China, pp. 851–856 (2014)
Dixit, A. et al.: Towards an elastic distributed SDN controller. In: Proceedings of the 2nd ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (2013)
Hikichi, K., Soumiya, T., Yamada, A.: Dynamic application load balancing in distributed SDN controller. In: 2016 18th Asia-Pacific Network Operations and Management Symposium, Kanazawa, Japan (2016)
Chowdhury, S.R., Bari, M.F., Ahmed, R., Boutaba, R.: PayLess: a low cost network monitoring framework for Software Defined Networks. In: 2014 IEEE Network Operations and Management Symposium, Krakow, Poland, pp. 1–9 (2014).
McKeown, N., et al.: OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Comput. Commun. Rev. 38(2), 69–74 (2008)
Chen, P.J., Chen, Y.: Implementation of SDN based network intrusion detection and prevention system. In: 2015 International Carnahan Conference on Security Technology, pp. 141–146 (2015)
Belyaev, M., Gaivoronski, S.: Towards load balancing in SDN-networks during DDoS-Attacks. In: 2014 International Science and Technology Conference - Modern Networking Technologies (2014)
Floodlight OpenFlow Controller. https://www.projectfloodlight.org/floodlight/. Accessed 15 Aug 2019
Load Balancer - Floodlight Controller. https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller/pages/1343617/Load+Balancer. Accessed 15 Aug 2019
Floodlight source code for developers. https://www.projectfloodlight.org/download/. Accessed 15 Aug 2019
Mininet: An Instant Virtual Network on your Laptop (or other PC) – Mininet https://mininet.org/. Accessed 15 Aug 2019
Salman, O., Elhajj, I.H., Kayssi, A., Chehab, A.: SDN controllers: a comparative study. In: Proceedings of 18th Mediterranean Electrotechnical Conference: Intelligent and Efficient Technologies and Services for the Citizen, pp. 18–20 (2016)
Gude, N., Koponen, T., Pettit, J., Pfaff, B., Casado, M., McKeown, N., Shenker, S.: NOX: towards an operating system for networks. ACM SIGCOMM Comput. Commun. Rev. 38(3), 105–110 (2008)
noxrepo/pox: The POX network software platform. https://github.com/noxrepo/pox. Accessed 15 Aug 2019
Ryu SDN Framework. https://osrg.github.io/ryu/. Accessed 15 Aug 2019
OpenDaylight. https://www.opendaylight.org/. Accessed 29 March 2020
Berde, P., et al.: ONOS: towards an open, distributed SDN OS. In: Proceedings of the 3rd Workshop on Hot Topics in Software Defined Networking, pp. 1–6 (2014).
Rowshanrad, S., Abdi, V., Keshtgari, M.: Performance evaluation of SDN controllers: floodlight and OpenDaylight. IIUM Eng. J. 17(2), 47–57 (2016)
Pakzad, F., Portmann, M., Tan, W.L., Indulska, J.: Efficient topology discovery in software defined networks. In: Signal Processing and Communication Systems, pp. 1–8 (2014)
Khondoker, R., Zaalouk, A., Marx, R., Bayarou, K.: Feature-based Comparison and Selection of Software Defined Networking (SDN) Controllers. In: 2014 Computational Science and Its Applications (2014)
Crockford, D.: The application/json Media Type for JavaScript Object Notation (JSON), RFC 4627, IETF (2006)
Pautasso, C., Wilde, E., Alarcón, R.: REST: advanced research topics and practical applications. Springer, Berlin (2014)
Open vSwitch. https://openvswitch.org. Accessed 15 Aug 2019
The Linux Virtual Server Project - Linux Server Cluster for Load Balancing. https://www.linuxvirtualserver.org/. Accessed 15 Aug 2019
PowerEdge R730 Rack Server. https://www.dell.com/en-us/work/shop/povw/poweredge-r730. Accessed 15 Aug 2019
ESXi | Bare Metal Hypervisor | VMware. https://www.vmware.com/products/esxi-and-esx.html. Accessed 15 Aug 2019
Apache JMeter - Apache JMeterTM. https://jmeter.apache.org/. Accessed 15 Aug 2019
PowerEdge R720xd Rack Server Details | Dell. https://www.dell.com/ae/business/p/poweredge-r720xd/pdf. Accessed 15 Aug 2019
The PHP benchmark Script. https://www.php-benchmark-script.com/. Accessed 15 Aug 2019s
Acknowledgements
This research was supported in part by grant MOST 107-2221-E-260-005 and 108-2221-E-260-005 from the Ministry of Science and Technology, Taiwan, Republic of China. We also thank Y. Z. Yi for his assistance in performing experiments. Special thanks to the anonymous reviewers for their valuable comments in improving this research.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Chiang, ML., Cheng, HS., Liu, HY. et al. SDN-based server clusters with dynamic load balancing and performance improvement. Cluster Comput 24, 537–558 (2021). https://doi.org/10.1007/s10586-020-03135-w
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-020-03135-w