Elsevier

Computer Networks

Volume 195, 4 August 2021, 108151
Computer Networks

Software-defined networks for resource allocation in cloud computing: A survey

https://doi.org/10.1016/j.comnet.2021.108151Get rights and content

Highlights

  • A comprehensive literature review of pertinent studies on resource allocation in cloud computing based on software defined networks.

  • Thematic taxonomy for classifying current software-defined networks for resource allocation in cloud computing.

  • Lesson learned from in-depth critical review based on proposed taxonomy.

  • Major future trends are discussed based on SDN adaptation in the cloud environment.

Abstract

Cloud computing has a shared set of resources, including physical servers, networks, storage, and user applications. Resource allocation is a critical issue for cloud computing, especially in Infrastructure-as-a-Service (IaaS). The decision-making process in the cloud computing network is non-trivial as it is handled by switches and routers. Moreover, the network concept drifts resulting from changing user demands are among the problems affecting cloud computing. The cloud data center needs agile and elastic network control functions with control of computing resources to ensure proper virtual machine (VM) operations, traffic performance, and energy conservation. Software-Defined Network (SDN) proffers new opportunities to blueprint resource management to handle cloud services allocation while dynamically updating traffic requirements of running VMs. The inclusion of an SDN for managing the infrastructure in a cloud data center better empowers cloud computing, making it easier to allocate resources. In this survey, we discuss and survey resource allocation in cloud computing based on SDN. It is noted that various related studies did not contain all the required requirements. This study is intended to enhance resource allocation mechanisms that involve both cloud computing and SDN domains. Consequently, we analyze resource allocation mechanisms utilized by various researchers; we categorize and evaluate them based on the measured parameters and the problems presented. This survey also contributes to a better understanding of the core of current research that will allow researchers to obtain further information about the possible cloud computing strategies relevant to IaaS resource allocation.

Introduction

Cloud Computing (CC) has recently come out, and it has been viewed as allowing a common collection of configurable computing services to be made accessible and released as specified by the National Institute of Standards and Technology (NIST) [1]. It also allows easy and on-demand network access. Thus, networks, servers, storage, applications, and services resources are pooled in the cloud to serving several tenants. Services providers, e.g., Microsoft Azure, Amazon, and Google Cloud, provide access through the internet to CC resources based on a pay-per-use policy. Nowadays, in a few hours, anyone can pay for cloud services, deploy and sets up servers for an application. The physical infrastructure is leased out to CC clients based on leasing it from an external cloud service provider. Therefore, they only pay for the resources they use.

NIST classifies CC into three operation models and four deployment models. The CC operational models are divided into three specific categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS). In IaaS, the underlying cloud infrastructure can not be managed or control by clients. Other than that, clients can set up and run the software, control operating systems via administrative access to VMs and programs, and allocate processing, storage, networks, and other essential computing resources. On the other hand, PaaS allows developers to deploy web-based applications without purchasing and setting up physical servers. Meanwhile, SaaS provides host applications and makes them accessible to customers over the internet, e.g., Google, Salesforce, Microsoft, and Zoho. Development models define how customers and cloud providers communicate with each other through private, public, hybrid, and community clouds.

A public cloud is operated by a single corporation and is open to the public or a broad business group. A private cloud is own by a specific organization. Cost-effectiveness, reliability, flexibility, and high scalability are the main benefits of the public cloud. Still, it lacks security compared to a private cloud that guarantees high security but suffers from high cost and limited scalability. A community cloud shares a small number of relationships and builds specific groups with a common duty. An infrastructure that contains several clouds of any kind is called a hybrid cloud, which they communicate between them to allow the transfer of data and applications from one cloud to another through their interfaces.

CC built on data center infrastructure is designed with the ability to apply virtualization technology [2]. Virtualization technologies enable flexible resource allocation to virtual machines (VMs), enabling flexible resource provision on-demand. Moreover, virtualization allows multiple applications to be integrated on fewer physical servers, which promises to be significant cost-savings due to increased energy efficiency and lower system administration costs. Compared to sharing the main computational resources in cloud computing, sharing network resources is more difficult. Conventional routing schemes in Data Center Networks (DCNs), including the Open Shortest Path First (OSPF) [3] and Routing Information Protocol (RIP) [4], are based on static routing; and therefore loses flexibility in identifying flow paths for different network states. Likewise, VM scalability causes some bottlenecks to result from across-VM communication on a single host due to virtual bridges. Furthermore, the conventional routing process limits the efficient use of resource capacity. Hence, it cannot build an improved network knowing that the general cost of fixing and configuration these networks is very high.

Software-Defined Networks (SDN) [5] is an advanced network model that improves the shortcomings of the conventional network infrastructures by separating the control plane and the data plane from switches and routers. SDN technology enables network control through centralized software controllers and makes network management more efficient, fast, and flexible. The SDN central controller has a global network view to deal with the dynamic changes in the network topology. Simultaneously, the SDN controller communicates to the forwarding device through the OpenFlow protocol [6]. The flexibility of SDN-managed networks has opened up new opportunities for the research community to incorporate IaaS and Cloud Data Center (CDC) capabilities into the SDN [7]. SDN also provides resource management systems that allow cloud services provision while attaining dynamic traffic requirements when running VMs. Furthermore, SDN and Network Function Virtualization (NFV) [8] enable much greater network flexibility by splitting network architectures into virtual slices, a process is known as network slicing, which aids fifth generation (5G) wireless technology innovation [9].

CDC systems require agile and flexible network control functions with computing resource control to ensure characteristics of traffic performance for the VM operations are adequate and attainable by the SDN [10]. Also, SDN virtualizes on-demand network resources to utilize resources and satisfy user application restrictions efficiently. Resource allocation has become one of the obstacles of cloud computing arising from users sharing computing and network resources, and the network often adopts the best-effort transmission mechanism [11] and Shortest-Path-First (SPF) routing mechanism [12] for data transmission, leading to a link load imbalance and high possibility of link congestion. Indeed, the network topology and routing mechanism have a major effect on the Service Level Agreement (SLA), the Quality-of-Service (QoS), and the network latency [13] that negatively affect the energy usage of Cloud Computing Data Centers Networks (CCDCNs). In turn, the ineffective allocation of computing resources leads to an overprovisioning or an underprovisioning, negatively impacting the SLA. Consequently, it reduces the profit for the cloud provider and increases the user's cost [14]. Fig. 1 depicts the resource allocation process.

In CC, unpredictable and changing requests of resources among end-users depending on their application usage style are the key challenge of CC. Moreover, resource allocation aims to optimize applications, i.e., QoS, improved resource utilization, and power efficiency, no matter what type of Information and Communication Technologies (ICT) resources are allocated to end-users. Consequently, integrating SDNs into a cloud computing environment solves most of the previously present problems in resource allocation in cloud computing networks. Hence, SDN allows implementing policies, configuring, and managing network resources in a short time per periods one control protocol to perform a series of operations, including routing, traffic engineering, load balancing [15,16], and access control.

Recently, many methods, techniques, and algorithms have been implemented, emphasizing cloud computing based on SDN in resource management, resource scheduling, resource allocation, energy conservation, load balancing, and QoS. This article aims to provide a thorough overview and survey of current resource allocation techniques, frameworks, and models for cloud computing based on SDN. Our contributions can be summarized as follows:

  • We put forward the state-of-the-art resource allocation mechanisms for CC based on SDN.

  • We are presenting a taxonomy of recent trends in resource allocation mechanization while ensuring their advantages and disadvantages.

  • We set down the performance criteria utilized for assessing the current techniques.

  • We explain the potential research work that has already been stated, which helps to identify the path for current and future usage.

The following paragraphs shall be arranged as follows. The information on cloud computing and SDN and the history of resource allocation in Section 2. Section 3 sets out the motivation for researching and improving cloud computing-based SDN. Section 4 points out the resource allocation in CC based on SDN and the types of resources and parameters used throughout the allocation. Section 5 introduces our resource allocation taxonomy. Section 6 contains a list of works relevant to resource allocation in CC based on SDN. Open study issues and recommendations for future research in Section 7. The article is concluded in part 8.

Section snippets

Related Work

This section summarizes the relevant literature on the definition of resource allocation in the SDN, cloud computing, 5 G mobile communication, and edge cloud computing. Indeed, we have not found a thorough survey covering the two fields of CC and SDN, especially in terms of resource allocation. So, we are presenting the state-of-the-art in resource allocations in different fields separately. All related works with the term "Resource Allocation" in the name or acronym reported from January 2014

CC based on SDN

Cloud computing [39] is a successful and evolving model for delivering ICT resources as services for both governments, educational and industrial fields over the internet. Cloud service providers provide three forms of application services: SaaS, PaaS, and IaaS. Cloud users can conveniently rent these services as they pay by the size of usage.

CC has dozens of servers that are connected to thousands of switches. Virtualization technology has been included in CC to facilitate scalability and

Resource allocation in cc based on SDN

The difference between the three concepts of resource provision, resource allocation, and resource scheduling is explained in [54] as follows: the process of resource provisioning is when a service provider allocates resources to a consumer, while when dividing out resources between competing sets of programs or clients economically in this case called resource allocation. On the other hand, resource scheduling is a timeframe for allocating resources in which the resources are gathered and made

Taxonomy of resource allocation techniques in CC based on SDN

In various research areas, several methods for using CC based on SDN have been proposed. We conducted a thorough investigation into cloud computing using SDN and proposed a classification (shown in Fig. 5) to capture the various aspects of SDN use. Taxonomy is discussed concerning the optimization goal, scope method, evaluation techniques, and optimization methods.

Resource Allocation in cloud computing based on SDN: Current research

Following the classification proposed in Section 5, we present the related surveys published in cloud computing based on SDN in this section. Using the taxonomy outlined in the previous section, we categorize the most recent research based on the paper's main contribution. In this section, we use the survey's main goal as the basis for classification. The subgroups employed for more classification of the studies surveyed in this portion are shown in Fig. 6. The literature for each category is

Open research challenges and future directions

The difficulties of allocating cloud resources revolve around hardware heterogeneity, workload prediction, and requirements of cloud providers and consumers. In this sense, the availability of resources and the optimum use of usable resources for applications to meet the QoS performance objectives in compliance with the SLA is an important issue. In contrast, QoS describes the level of consistency, reliability, and availability provided by the services. Also, it is difficult to delegate due to

Conclusion

In recent years, the effective allocation of resources in the Cloud Data Center (CDC) has emerged as one of the main research issues. This study is aimed to explore and solve the resource allocation concept, which serves as a framework for further research on cloud computing based on SDN in the implementation of resource allocation strategies and to assist future researchers. We investigated resource allocation in Cloud Computing (CC) based on Software-defined Networks (SDN) analysis. We

CRediT authorship contribution statement

Arwa Mohamed: Conceptualization, Data curation, Writing-original draft, Resources.  Mosab Hamdan: Conceptualization, Data curation, Writing-original draft. Suleman Khan: Visualization, Investigation. Ahmed Abdelaziz: Supervision. Sharief F. Babikir: Supervision. MUHAMMAD IMRAN: Writing-review&editing.  M. N. Marsono: Writing-review&editing.

Declaration of Competing Interest

The authors declared that there is no conflict of interest among any authors.

Arwa Mohamed received the B.Sc. degree in computer and electronic systems engineering from the University of Science and Technology, Sudan, in 2008, and the M.Sc. degree in computer architecture and networking from the university of Khartoum, Sudan, in 2014. She is currently pursuing the Ph.D. degree with the Faculty of Electrical and Electronic Engineering, University of Khartoum. Her current research interests are in software defined networking (SDN), cloud computing, resources allocation,

References (176)

  • N.T. Sultan et al.

    Policy-based forwarding in open shortest path first (OSPF) networks.”

    Google Patents

    (Nov. 09, 2010)
  • C.L. Hedrick

    RFC1058: routing information protocol

    RFC Editor

    (1988)
  • O.N. Fundation

    Software-defined networking: the new norm for networks

    ONF White Pap

    (2012)
  • N. McKeown

    OpenFlow: enabling innovation in campus networks

    ACM SIGCOMM Comput. Commun. Rev.

    (2008)
  • L. Cui et al.

    When big data meets software-defined networking: SDN for big data and big data for SDN

    IEEE Netw

    (2016)
  • R. Mijumbi et al.

    Management and orchestration challenges in network functions virtualization

    IEEE Commun. Mag.

    (2016)
  • W. Ejaz

    Internet of Things (IoT) in 5G wireless communications

    IEEE Access

    (2016)
  • M. Hamdan

    Flow-aware elephant flow detection for software-defined networks

    IEEE Access

    (2020)
  • P. Gevros et al.

    Congestion control mechanisms and the best effort service model

    IEEE Netw

    (2001)
  • Z. Wang et al.

    Shortest path first with emergency exits

  • Y. Guo et al.

    Efficient Global Network Resource Pre-Allocation in SDN Based Cloud Centers

    IEEE Int. Symp. Ind. Electron.

    (2018)
  • J. Chase et al.

    Joint virtual machine and bandwidth allocation in software defined network (SDN) and cloud computing environments

    2014 IEEE Int. Conf. Commun. ICC 2014

    (2014)
  • A.A. Abdelaziz

    SDN-based load balancing service for cloud servers

    IEEE Commun. Mag.

    (2018)
  • M. Hamdan

    A comprehensive survey of load balancing techniques in software-defined network

    J. Netw. Comput. Appl.

    (2020)
  • S.H.H. Madni et al.

    Recent advancements in resource allocation techniques for cloud computing environment: a systematic review

    Cluster Comput

    (2017)
  • A. Banumathi and M. Prabakaran, “A SURVEY ON RESOURCE ALLOCATION POLICIES IN CLOUD COMPUTING...
  • N. Asha et al.

    A Review on Various Resource Allocation Strategies in Cloud Computing

    Int. J. Emerg. Technol. Adv. Eng.

    (2013)
  • V.P. Anuradha et al.

    A survey on resource allocation strategies in cloud computing

  • N. Hamdy et al.

    Resource Allocation Strategies in Cloud Computing: overview

    Int. J. Comput. Appl.

    (2017)
  • M.H. Mohamaddiah et al.

    A survey on resource allocation and monitoring in cloud computing

    Int. J. Mach. Learn. Comput.

    (2014)
  • B. Jennings et al.

    Resource management in clouds: survey and research challenges

    J. Netw. Syst. Manag.

    (2015)
  • A. Yousafzai

    Cloud resource allocation schemes: review, taxonomy, and opportunities

    Knowl. Inf. Syst.

    (2017)
  • K. Lakhwani et al.

    An Extensive Survey on Data Authentication Schemes in Cloud Computing

  • K. Saidi, O. Hioual, and A. Siam, “Resources Allocation in Cloud Computing: a Survey BT - Smart Energy Empowerment in...
  • S. Alnajdi et al.

    A Survey on Resource Allocation in Cloud Computing

    Int. J. Cloud Comput. Serv. Archit.

    (2016)
  • K. Wang et al.

    Cluster frameworks for efficient scheduling and resource allocation in data center networks: a survey

    IEEE Commun. Surv. Tutorials

    (2018)
  • N. Akhter et al.

    Energy aware resource allocation of cloud data center: review and open issues

    Cluster Comput

    (2016)
  • A. Hameed

    A survey and taxonomy on energy efficient resource allocation techniques for cloud computing systems

    Computing

    (2016)
  • K. Hamdi et al.

    Network-aware virtual machine placement in cloud data centers: an overview

  • W. Ejaz, S.K. Sharma, S. Saadat, M. Naeem, A. Anpalagan, and N.A. Chughtai, “A comprehensive survey on resource...
  • K.W. Hamaali and S.R.M. Zeebaree, “Resources Allocation for Distributed Systems : a Review,” pp. 76–88, 2021, doi:...
  • Y. Xu, G. Gui, S. Member, G. Li, and M. Liu, “A Survey on Resource Allocation for 5G Heterogeneous Networks : current...
  • T.Le Duc et al.

    Machine learning methods for reliable resource provisioning in edge-cloud computing: a survey

    ACM Comput. Surv.

    (2019)
  • R. Su

    Resource allocation for network slicing in 5G telecommunication networks: a survey of principles and models

    IEEE Netw

    (2019)
  • U. Zehra et al.

    A survey on resource allocation in software defined networks (SDN)

  • F.A. Nunes De Oliveira -Grr20112021, J. Victor, and T. Risso, “Dynamic Resource Allocation in Software Defined and...
  • I. Foster et al.

    Cloud computing and grid computing 360-degree compared

    2008 grid computing environments workshop

    (2008)
  • R. Sherwood

    Flowvisor: a network virtualization layer

    OpenFlow Switch Consortium, Tech. Rep

    (2009)
  • M. Casado et al.

    Abstractions for software-defined networks

    Commun. ACM

    (2014)
  • H. Tanaka and T. Koide, “Creating virtual local area network (VLAN).” Google Patents, Feb. 26,...
  • Cited by (44)

    • Hybrid approach for virtual machine allocation in cloud computing

      2024, Sustainable Computing: Informatics and Systems
    • Virtual cloud computing–based and 3D multi-physics simulation for local oxygen starvation in PEM fuel cell

      2022, International Journal of Hydrogen Energy
      Citation Excerpt :

      The governing equations include the two electric potentials of electrochemical reaction, mass conservation, momentum conservation, energy conservation, species transport, dissolved and liquid water transport, and cross-over current equation. The block diagram of the implementation of cloud computing to improve the efficiency of PEMFC dynamic simulation is shown in Fig. 3(a), including infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS) [43]. The geometric data and case files are uploaded through the SaaS layer.

    View all citing articles on Scopus

    Arwa Mohamed received the B.Sc. degree in computer and electronic systems engineering from the University of Science and Technology, Sudan, in 2008, and the M.Sc. degree in computer architecture and networking from the university of Khartoum, Sudan, in 2014. She is currently pursuing the Ph.D. degree with the Faculty of Electrical and Electronic Engineering, University of Khartoum. Her current research interests are in software defined networking (SDN), cloud computing, resources allocation, and future networks.

    Mosab Hamdan received the B.Sc. degree in computer and Electronic System Engineering from the University of Science and Technology (UST), Sudan, in 2010,  the M.Sc. degree in Computer Architecture and Networking from the University of Khartoum (UofK), Sudan, in 2014, and the Ph.D. degree in Electrical Engineering (Computer Networking) from the Faculty of Engineering, School of Electrical Engineering, Universiti Teknologi Malaysia (UTM), Malaysia, in 2021. From 2010 to 2015, he was a teaching assistant and lecturer with the Department of Computer and Electronics System Engineering,  Faculty of Engineering, University of Science and Technology (UST). He is currently a Researcher with the Universiti Teknologi Malaysia under the Post-Doctoral Fellowship Scheme.  His current research interests are software-defined networking (SDN), load balancing, network traffic classification, internet-of-things (IoT), cloud computing, network security, and future network.

    Suleman Khan received the Ph.D. degree (Distinction) in computer science and information technology from the Universiti Malaya, Malaysia, in 2017. He was a Faculty Member of the School of Information Technology, Monash University, Malaysia, from June 2017 to March 2019. He is currently a Faculty Member of the Department of Computer and Information Sciences, Northumbria University, Newcastle upon Tyne, U.K. He has published more than 60 high-impact research articles in reputed international journals and conferences. His research areas include, but are not limited to, network forensics, software-defined networks, the Internet-of-Things, cloud computing, and vehicular communications.

    Ahmed Abdelaziz received the M.Sc. degree in computer science and the Ph.D. degree in information technology from the Universiti Malaya (UM), Malaysia, in 2007 and 2017, respectively. He has been working on ONOS and Open Stack, since October 2015, during the Ph.D. degree research project. In the Ph.D. degree research, he proposed a novel service-based load balancing technique to use in the cloud using SDN and OpenStack. He is currently a full-time Assistant Professor with Future University (FU), Sudan. He published a number of ISI index articles in the areas of SDN, OpenFlow, and network virtualization. He has been involved in the centre for Mobile Cloud Computing Research (C4MCCR) Projects funded by the Malaysian Ministry of Higher Education. His areas of interest include SDN/NFV technology, OpenStack, and network virtualization.

    Sharief F. Babikir is a professor of Electronics. He studied Electrical Engineering at the University of Khartoum and obtained his PhD from the University of Glasgow. He worked in the United Kingdom in the academic and the industrial sectors. Currently he is the General Director of Africa City of Technology and he is a Technical consultant with Sudan Electricity Distribution Company. He is a Senior Member of the IEEE and is the Chairman of IEEE Sudan Subsection.

    Muhammad Imran is an Associate Professor in the College of Applied Computer Science at King Saud University, Saudi Arabia. He received a PhD in Information Technology from the University Teknologi PETRONAS, Malaysia in 2011. His research interest includes Internet of Things, Mobile and Wireless Networks, Big Data Analytics, Cloud computing, and Information Security. His research is financially supported by several grants. He has completed a number of international collaborative research projects with reputable universities. He has published more than 250 research articles in peer-reviewed, well-recognized international conferences and journals. Many of his research articles are among the highly cited and most downloaded. He served as an Editor in Chief for European Alliance for Innovation (EAI) Transactions on Pervasive Health and Technology. He is serving as an associate editor for top ranked international journals such as IEEE Communications Magazine, IEEE Network, Future Generation Computer Systems, and IEEE Access. He served/serving as a guest editor for about two dozen special issues in journals such as IEEE Communications Magazine, IEEE Wireless Communications Magazine, Future Generation Computer Systems, IEEE Access, and Computer Networks. He has been involved in about one hundred peer-reviewed international conferences and workshops in various capacities such as a chair, co-chair and technical program committee member. He has been consecutively awarded with Outstanding Associate Editor of IEEE Access in 2018 and 2019 besides many others.

    M. N. Marsono received the B.Eng. degree in computer engineering and the M.Eng. degree in electrical engineering from Universiti Teknologi Malaysia, in 1999 and 2001, respectively, and the Ph.D. degree in electrical and computer engineering from the University of Victoria, BC, Canada, in 2007. He is currently an Associate Professor in Electronic and Computer Engineering with the School of Electrical Engineering, Faculty of Engineering, Universiti Teknologi Malaysia. His research focuses on specialized hardware architecture and network algorithmics for high-throughput packet and flow processing. He works on dynamically reconfigurable platforms for middlebox, fog and edge computing, software-defined networking, and teletraffic engineering. He also works in domain-specific reconfigurable computing research, focusing on multicore/manycore system-on-chip, network-on-chip, design space exploration, mapping, and prototyping of the homogeneous and heterogeneous manycore SoC.

    1

    The first two authors contributed equally to this work.

    View full text