0% found this document useful (0 votes)
16 views

Dynamic resource allocation in cloud computing analysis and taxonomies

This paper analyzes dynamic resource allocation (DRA) in cloud computing, addressing the challenges of efficient resource management as demand fluctuates. It provides taxonomies of DRA approaches, scheduling types, and optimization metrics, contributing to a better understanding of cloud resource allocation dynamics. The study highlights the importance of DRA for improving cloud performance and outlines future research opportunities in this area.

Uploaded by

Anand Gautam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Dynamic resource allocation in cloud computing analysis and taxonomies

This paper analyzes dynamic resource allocation (DRA) in cloud computing, addressing the challenges of efficient resource management as demand fluctuates. It provides taxonomies of DRA approaches, scheduling types, and optimization metrics, contributing to a better understanding of cloud resource allocation dynamics. The study highlights the importance of DRA for improving cloud performance and outlines future research opportunities in this area.

Uploaded by

Anand Gautam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Computing (2022) 104:681–710

https://doi.org/10.1007/s00607-021-01045-2

REGULAR PAPER

Dynamic resource allocation in cloud computing: analysis


and taxonomies

Ali Belgacem1

Received: 18 September 2020 / Accepted: 9 December 2021 / Published online: 28 January 2022
© The Author(s), under exclusive licence to Springer-Verlag GmbH Austria, part of Springer Nature 2021

Abstract
In recent years, companies have used the cloud computing paradigm to run various
computing and storage workloads. The cloud offers faster and more profitable ser-
vices. However, the issue of resource allocation is a significant challenge for cloud
providers. The excessive consumption of resources has raised the need for better man-
agement of them. In addition, the resources required may exceed those available in the
cloud as demand and capacity vary over time. Therefore, dynamic resource allocation
techniques allow using the available capacity more efficiently. This paper provides a
practical Dynamic Resource Allocation (DRA) study in a cloud computing environ-
ment. It illustrates the dynamic aspect of the cloud computing environment and how
addressed in the literature. Also, it gives the taxonomies of approaches, scheduling
types, and optimization metrics. This study helps scientists understand the dynamic
aspect of resource allocation in the cloud, thereby improving its performance.

Keywords Cloud computing · Dynamic resource allocation · Optimization


approaches · Scheduling

Mathematics Subject Classification 68-68

1 Introduction

Information technology (IT), including cloud computing skills, has been in higher
demand in recent years. Many companies are poised to increase their cloud spend-
ing in the coming months as the adoption of cloud technologies has become vital.
The Cloud paradigm is a distributed system that manages resources through remote
servers and makes those resources accessible to users over the Internet. It has been

B Ali Belgacem
[email protected]

1 M’hamed Bougara University, Boumerdes, Algeria

123
682 A. Belgacem

revolutionizing the IT industry by adding flexibility to the way IT is consumed, which


enabling organizations to pay only for the resources they use [1].
Cloud infrastructure helps to reduce business investment expenses (money, energy,
time, personnel, etc.). It gives businesses the ability to store, back up data, and launch
a private cloud network at a lower cost. There is no need to buy physical components
to manage and store data, and it is only enough to buy a suitable package to administer
a large amount of data. Therefore, the move to cloud computing is an excellent idea
to increase business revenue. According to [2], cloud computing allowed exponential
growth in the industry’s profits. Profits were estimated at just 24.65$ billion in 2010;
it has already passed 100$ billion and aims to reach 150$ billion by the end of 2020.
Cloud computing is a paradigm characterized by its virtualization, which facilitates
the reservation and use of resources flexibly and dynamically. It is designed to scale
out by providing additional computing resources to support data or compute-intensive
applications. At the same time, the resources are provided as a service due to the
ability to share them between several users, which represents the point of profitability
for cloud providers.
The demands on Cloud resources are likely to intensify in private or professional
life. However, the strong demand for cloud services might create several issues related
to resource management, which requires efficient management of resources to assume
many users. In this trend, one of the significant advantages of the cloud is the possibility
of dynamically reallocating resources. Its dynamic attribute, mainly scalability, and
elasticity, makes this new paradigm interesting for researchers.
This issue is a challenge in cloud computing systems. Computing services need
to be highly reliable, scalable, and autonomic to support ubiquitous access, dynamic
discovery, and composability [3,4]. In addition, the resources get rented at a reasonable
cost and in the shortest possible time according to the requirements of the cloud
computing user. In contrast, cloud providers seek to save energy consumption and
ensure continuity of service. Moreover, virtual machine quotas are rarely changed
after initialization in most cloud computing platforms, even if the currently allocated
resources have not been used efficiently. However, the average usage of cloud servers
in most data centers can be improved by optimizing the behaviour of virtual machines.
Therefore, better dynamic resource management is the first thing to consider in the
cloud. Our significant contribution in this study is to analyze and provide taxonomies of
the DRA aspect, including approaches, scheduling types, and optimization problems.
Many searches in the scientific literature surveyed Cloud, more precisely, their
main characteristics, features, and open issues. Also, they addressed the various
approaches were employed to optimize the allocation of resources in this environ-
ment. In [5] authors proposed a classification of cost optimization approaches for
scientific workflow scheduling in cloud and grid computing. On the other hand, Chal-
lita et al. presented different techniques applied for VMs placement. They indicated
the motivation behind this type of scheduling as energy management, resource usage
optimization, and traffic engineering [6]. In reference [7], the authors discussed the
techniques used for task scheduling founded on Particle Swarm Optimization (PSO),
Ant Colony Optimization (ACO), Genetic Algorithm (GA), and two novels League
Championship Algorithm (LCA) and BAT algorithm

123
Dynamic resource allocation in cloud computing... 683

The works [8,9] gave a detailed study of several aspects of resource allocation and
scheduling. Moreover, they mentioned the future challenge and the opportunity for
research in this direction. Whereas, in work Masdar et al. [10], illustrated an analysis
about the workflow scheduling approaches in Cloud computing. In addition, to the
previous strategies, they pointed to works based on Simulated Annealing (SA) and Cat
Swarm Optimization (CSO). Besides, they examined both the Heuristic-based methods
and Hybrid Algorithms. Other work analyzed job scheduling approaches based on the
first-come, first-served (FCFS), Round Robin (RR), MinMin, and Max-Min algorithms
[11]. In [12], researchers have investigated cost-aware workflow management in the
Cloud. They presented taxonomy and opportunities in this area. Likewise, article [13]
discusses resource allocation strategies based on QoS efficiency with user-friendly
task execution.
However, these works don’t address the dynamic aspect of resource allocation in
the cloud. Crucially, none provides a purely systematic review based on the literature
on dynamic resource allocation in the cloud environment, and they focused on one
type of scheduling and approach. Our work highlighted the dynamic aspect of resource
allocation in the cloud. The analysis has not been limited to one type of scheduling;
we have studied different scheduling tasks under resource allocation in the cloud
computing environment.
This paper is organized as follows: a research methodology is presented in Sect. 2.
Section 3 gives an analysis of the cloud environment and discusses resource allocation.
Whereas Sect. 4 talks about the dynamic aspect of resource allocation. The classifica-
tion of resource allocation approaches is presented in Sect. 5. Section 6 illustrates the
task scheduling issue in the cloud. We also addressed the existing optimization metrics
in Sect. 7. In Sect. 8, we propose some future research directions and opportunities
for DRA in cloud computing. The obtained findings are discussed in Sect. 9. Finally,
Sect. 10 provides a conclusion.

2 Research methodology

This paper aims to analyze the dynamic resource allocation issue by extensively sur-
veying the state-of-the-art approaches in cloud computing. This section has been
carried out according to the guideline for systematic literature review (SLR) pro-
posed by Kitchenham (2004) with a specific focus on Dynamic Resource Allocation
(DRA1 ) research in the cloud to advance our understanding of this area. Therefore,
we have developed two research questions to address the main concerns of DRA in
Cloud Computing.

2.1 Question formalization

This research intends to name the most relevant issues and challenges in cloud-based
DRA, including optimization metrics, techniques, etc. This research effort will there-
fore present the following questions:
1 In the rest of the survey, we use the acronym DRA to denote "dynamic resource allocation".

123
684 A. Belgacem

– R Q 1 How are the current circumstances of the cloud computing environment


regarding resource allocation?
– R Q 2 How does each search deal with the DRA aspect (approaches, dynamic
aspect, scheduling, and optimization metrics)?

2.2 Selection of sources

As recommended by [14], we have searched various library sources to collect a large


pool of relevant potential papers. Google Scholar, Scopus, and Web of Science were
considered our data sources; thus, we covered the papers available in the most reliable
databases: ACM Digital Library, IEEE Xplore, Springer Link, Science Direct, and
Elsevier, among others.

2.3 Selection criteria

In this subsection, we discuss the inclusion/exclusion criteria used to choose the most
relevant papers. Based on the objectives of this survey, we determined the following
inclusion criteria:
– Inclusion1 A study clearly describing how dynamic resource allocation techniques
could be applied and supported in a cloud computing environment was selected.
– Inclusion2 An article developed by academics or practitioners.
– Inclusion3 A study published in the field of cloud computing.
– Inclusion4 A study that is written in English and peer-reviewed.
– Exclusion1 A study that includes only journal articles.
– Exclusion2 A study that does not focus on resource allocation in the cloud.

2.4 Quality evaluation and data extraction

In this phase, we extracted the data from the selected papers for further analysis. We
identified a total of 734 studies. For each, we review the abstracts, search keywords,
and terms that reflect the article’s contribution. Therefore, inappropriate abstracts have
been excluded. Those that were not relevant to the area of our specific research were
also eliminated. Then, for the remains, the entire body of each manuscript was read.
After filtering these studies according to inclusion/exclusion criteria, we identified
some of them as the primary study to review. Precisely, 61 publications were identi-
fied as a preliminary study for review. Figure 1 shows the distribution of the selected
primary papers over time. As can be seen, there is a significant rise in the number
of papers on the scope of cloud resources allocation from 2010 to 2021. Our first
formalization question (RQ1) distinctly outlines the circumstances and situation of
the resource allocation topic in the cloud computing environment. For the sake of the
growing interest in DRA, we included conference papers to acquire information and
disseminate new findings. To answer (RQ2), we took a detailed look at the selected
studies and identified the most frequently discussed DRAs in cloud computing. How-
ever, we have excluded older and non-English papers.

123
Dynamic resource allocation in cloud computing... 685

Fig. 1 An overview of the used papers identification process

3 Cloud computing environment and resource allocation

Due to our first formalization question (RQ1), this section provides the background
for resource management in cloud computing. The cloud is used in businesses and
industries for various purposes, such as data backup, disaster recovery, email, virtual
offices, software development, testing Big data analytics, and customer-oriented web
applications. Also, healthcare companies are using the cloud to develop more person-
alized treatments for their patients. Thus more and more, Cloud Computing is used
by companies in all sectors. However, it is not always easy to manage resources in the
way that suits best for users.

3.1 The leaders of the cloud computing environment

The cloud giants that determine the basic standards of this environment are:
– Azure cloud computing: Microsoft created the Azure cloud computing
system to deploy, store data, manage applications and services. The Azure platform
consists of three parts: development runtime, azure runtime, and applications.
– AWS cloud computing: It is a digital catalog containing thousands of soft-
ware listings created by independent vendors to make it easy to find, test, purchase,
and deploy software running on AWS, with its language, standards, and rules.
– Google cloud computing: The main IaaS offered by Google cloud is
’Compute Engine’. It provides virtual machines (VMs) that run in Google data
centers. This service allows users to use and create instances in the Google infras-

123
686 A. Belgacem

tructure. Also, Compute Engine can leverage thousands of virtual processors in a


system designed for consistent speed and performance.
– IBM cloud computing: It is a set of services provided by the information
technology company IBM. It allows building a scalable infrastructure at a lower
cost, deploys new applications instantly, and scale-up workload based on demand.
– Global Cloud Platform (GCP): It launched in 2011, starting with five
countries (Australia, Singapore, the united kingdom, the united states, Germany).
The plan is to install a uniformly configured SOP island in the cloud data center
of each country. In this manner, the services that provide the same function are
accessed from anywhere[15].
– Oracle cloud computing: It offers oracle services to enterprises such as
running Oracle autonomous database, storage, network, or applications.

3.2 The main missions of cloud specialist

In the practice of fundamental cloud computing, the cloud specialist missions fall
under the following areas:
– Cloud Computing architecture: It refers to the design of various com-
ponents and subcomponents that make up the structure of the system. In the
European Cloud Computing Project named RESERVOIR, researchers proposed a
cloud architecture that allows providers of cloud infrastructure to create an infinite
pool of IT resources [16].
– Develop Cloud automation tooling construction: One of the
most important advantages of the cloud is the ability to automate its infrastructure
[16]. It permits to automate the provisioning, configuration, and management of
resources which can free up time and resources. An example of tools for cloud
infrastructure automation: AWS cloud formation, puppet, chef, kubernetes, cisco
intelligent automation for cloud, etc.
– The implementation of new platforms: Cloud computing is a new
emerging paradigm widely studied in recent years due to many cloud platforms
both in industry and in academia [17]. Indeed, implementing and use these plat-
forms is a big issue. Its implementation includes several aspects such as the
architectures, characteristics, application, and so on. Therefore, each cloud com-
puting platform has its own strength and problems.
– Cloud computing security: It consists of cryptographic policies, con-
trols, procedures, and technologies to secure data and infrastructure.

3.3 Cloud environment and internet

The cloud environment is just a reorganization of the existing internet structure and an
improvement in how the service is delivered. That is why we compare them in terms
of structure and services (Table 1).

123
Dynamic resource allocation in cloud computing... 687

Table 1 Comparison between internet and cloud computing

Internet Cloud computing

Structure It is an interconnection of several Based on the relation between clouds


networks (Multi-Clouds)
Internet infrastructure is formed from Consisting of data centers connected
a set of geographical sites equipped to the common broker
by network devices and servers, etc
The Internet connections: dial-up or We distinguish three levels of
analog DSL (digital subscriber connection: inside the data center
line), cable broadband, fibre optic (using cable broadband or
broadband, wireless, or Wi-Fi wireless), between data centers
broadband satellite and mobile (using satellite and mobile
broadband dedicated leased line broadband, optical fiber
broadband), between clouds (using
satellite and mobile broadband,
optical fiber broadband).
Furthermore, these three levels can
communicate between them using
the Internet
It allows efficient use of the
equipment
The investment in cloud
infrastructure is economical
It allows better monitoring and
management of the environment
and intervention easy in case of
failure because the cloud system is
based on a centralized architecture
Services The most offered services to Provides IT as a service
customers are: Internet access (A
service that allows the customer to
join the World Wide Web), email
services (send, receive and review
email), domain name registration,
web hosting
Leasing the service involves a
contract named SLA (Service
Level Agreement) document, and it
is an agreement between the
customer and the provider
Rapid response to customer requests
through a system with
virtualization, which makes the
cloud environment more dynamic
Generally, the Internet is the primary
network for cloud services

123
688 A. Belgacem

3.4 Getting started in resource management

This part explains the resource allocation issue in the cloud computing environment.
More precisely, we talk about how the researchers deal with resource allocation prob-
lems in the literature. Based on our observations of how the environment operates and
the ability to get into its applications from anywhere with ensuring the best use of
resources, we deduce two significant terms to define the cloud paradigm:
– Resource sharing: The cloud computing system provides a large number
of users with a limited set of resources.
– Dematerialization: The resources used do not exist on the user’s device
but are accessible remotely via telecommunication technology.
It is essential to know the components, the objectives, and the best way to implement
resources to achieve sound management. Moreover, this operation allows allocating
the resources dynamically to permit the use of available capacity more efficiently.
Therefore, each resource management takes into consideration the following aspects:
– Resource types: Resources include CPU, memory, power, storage, and net-
work.
– Resource providers:The resources are arranged on the hosts, clusters, and
datastore clusters to prepare them for provisioning. For hosts, the resources avail-
able are the hardware specifications of the host, minus the resources used by the
virtualization software. A cluster is a group of hosts, while a datastore cluster is a
group of datastores.
– Resource consumers: Virtual machines are the consumers of resources. The
virtual machine parameters can be changed by assigning a percentage based on the
processor share of resources, memory, and storage I/O resources, or a guaranteed
reservation of CPU and memory. This process is called admission control. A
resource pool is a logical abstraction for flexible resource management. Resource
pools can be viewed as both suppliers and consumers. Hosts allocate a portion
of the underlying hardware resources to each virtual machine, based on several
factors such as user-defined resource limits, total available resources for the host
(or cluster), number of virtual machines powered on, resource usage by these
virtual machines, and load capacity to manage virtualization [18].
– Resource management goals: Before managing resources, it is essen-
tial to know the objectives that you are trying to achieve. In addition to resolving
excess resource commitments, resource management can help accomplish the per-
formance isolation, prevent virtual machines from monopolizing resources and
guarantee a predictable service level, efficient use, and simple administration.
The main actors and terms used in the allocation of cloud resources:
– Resources: It is the basic compute entity of tasks and scheduling applications.
Each resource has its characteristics, such as computing power (CPU), memory
capacity, etc. However, during execution, the properties of resources can change
over time (load capacity, processing speed, etc.), which requires defining specific
parameters to determine their state.

123
Dynamic resource allocation in cloud computing... 689

– Mapping: This is the assignment of different tasks to computing resources


according to certain constraints.
– Scheduling: It is the process of allocating the processor to different tasks.
– Dispatcher: It implements the scheduling.
– Broker: It is a small data center that receives the user’s requests. Users or brokers
acting on their behalf submit service requests from anywhere in the world to the
data center and cloud to be processed [3].
– Virtual machine (VM): It is an application or operating system (OS) envi-
ronment created by emulation software to mimic dedicated hardware. In other
words, a virtual machine is an abstract unit with storage and computing capacity
provided in a cloud [19].

Through our study of existing cloud resource allocation works, and after analyzing
the optimization methods adopted, we deduced the following standard methodology
to solve DRA problems:

– Formulate the problem: In this step, a clear and concise explanation of


the problem arises. Then the internal and external factors and objectives of the
problem are described. In addition, identify optimization metrics and define the
resources studied. Moreover, the function of the system is formally described. To
determine which DRA aspect is addressed, dynamic input data is defined.
– Model the problem: After the above step, a theoretical mathematical model
is structured for the problem. Usually, proposed models are simplifications of
the DRA reality. The problem modelling involves approximations and sometimes
complex processes to express its mathematical representation.
– Optimize the problem: Once the problem is modeled, a scheduling
approach is applied to solve it.
– Evaluate the global approach: The most credible techniques are sta-
tistical tests such as the Wilcoxon test.

4 Dynamic resource allocation in cloud computing

4.1 What is dynamic cloud computing?

Dynamic resource allocation (DRA) in the cloud means automatically adjusting


resources based on user needs. This management is subject to certain constraints from
cloud providers and cloud users, which can cause problems for the provision of cloud
services. The main concepts that reflect the DRA are scalability, flexibility(elasticity),
extensibility, adaptability, and dynamically changing workloads.
The problem of dynamic optimization is a significant challenge for researchers. It is
characterized by the fact that the input data changes over time. In dynamic optimization
problems, the objective function is deterministic at a given moment but varies over
time [20]. It is formulated as follow:

θ Dy (x) = θt (x)

123
690 A. Belgacem

Where t is the time at which the objective function (θ ) is evaluated. At this moment,
the optimal solution of the treated problem is different from other times. However,
the function θ is ’deterministic’ and not ’uncertain’. Indeed, this type of optimization
can be found in many routing problems, such as commercial traveller problems and
vehicle routing problems. The solution may be considered an optimal overall solution
at one point in time and may not be optimal at the next point in time [21]. The key to
solving dynamic problems is to discover and respond to changes in the environment.
Meanwhile, the optimal changing solution must be followed to determine what infor-
mation is to be stored and how to use that information. For example, when designing
a metaheuristic for dynamic optimization problems, an often debated question is what
information should be stored during the search and how this information will be used
to guide research and maintain adaptability to changes [22].

4.1.1 What is meant by computing resources?

It is a pool of shared and configurable resources. According to [23], they can be in the
form of networks, servers, storage, applications, and services.
reflect
Dynamic Cloud environment (resources adjustment)

reflect
Computing Computing resources (resources scheduling)
Indeed, the DRA problem is widely studied in the literature. Various studies have
been conducted in this area without finding an optimal solution [24]. However, most
existing works ignore the dynamic nature of the cloud environment, including the
dynamic incoming flow of requests that arrive continuously at the cloud provider’s
infrastructure. Whereas those who have approached this aspect of cloud computing
have treated it from different angles, as depicted in Fig. 2.

4.2 DRA based on system state information

Some researchers highlighted the DRA through proposed scheduling approaches that
employ the information on resources available and properties of scheduling tasks to
overcome the diverse issues of resource allocation. Authors in [25] proposed an effi-
cient Relative Priority and Distance Algorithm (EPRD) to minimize the total time of
workflow tasks while meeting its end-to-end delay constraints. EPRD allows assign-
ing tasks to the VMs under the information of their priorities and lengths. In [26],

Dynamic resource allocation

System state Predicting future Virtualization


information resource needs technique

Fig. 2 Dynamic resource allocation in cloud computing

123
Dynamic resource allocation in cloud computing... 691

resources are allocated based on the state of energy and bandwidth in the data cen-
ters. Work [27] analyses the reliability of the system to schedule different tasks in the
cloud environment. In research [28], authors schedule the tasks by controlling VMs
configurations, capacities, memory sizes, and communication links (bandwidths). In
[29] they designed a scheme valuation mechanism to explore the cloud environment
for task scheduling.

4.3 DRA based on virtualization technique

Another class of researchers uses the properties of virtualization technology, such


as migrating and consolidating virtual machines and modifying the state of virtual
machines (awake, asleep, listening, etc.) to cope with dynamic changes in the cloud
environment. The authors in [30] proposed a correlation aware of virtual machine
placement to minimize the energy cost of allocated network elements. In [31] addressed
the cost of moving the data between servers using virtual machine migration (VMM).
The proposed solution aimed to balance the system load. The authors in [32] used
independent virtual machine migration or container migration to improve the energy
efficiency of cloud data centers. In the same direction, the researchers of [33] used
dynamic VM consolidation and migration to save power in data centers. Another
technique aimed to reduce the power consumption of a data center is proposed in [34].
It applies the Virtual Machine consolidation over the physical servers.

4.4 DRA based on predicting future resource needs

On the other hand, some studies used predicting methods to monitor the alterations of
resources consumed and required, which change dynamically. The researchers in [35]
developed a new Swarm Intelligence Based Prediction Approach (SIBPA) to predict
the resource requirements. In the paper [36], they designed an iterative QoS prediction
model. It permits to predict a QoS value incredible way. The method introduced in
[37] predicts the tenants’ demand allocation system based on their historical records
and estimates the probability of distribution of prediction errors. Another dynamic
resource scheduling method is proposed in [38] to predict future host utilization in
real-time. This enables efficient scheduling resources in cloud computing.
In addition to the above, some researchers attempted to mix the three trends men-
tioned above to adapt to the dynamic changes in the cloud environment. Table 2 shows
the main differences between the DRA types.

5 Scheduling in cloud computing environment

The primary purpose of task scheduling is to find an optimal mapping of tasks to


resources that optimize one or more objectives. Therefore, scheduling is a good
research topic for optimal resource allocation. It aims at optimizing specific objec-
tives subject to certain constraints. Every cloud scheduling problem has these essential
characteristics:

123
692

123
Table 2 Comparison between different DRA types in the cloud

DRA based on system state information DRA based on virtualization technique DRA based on predicting future resource needs

It necessitates gathering information about the cloud Often used for VMs placement It needs strictly estimated resource usage due to the
environment in each allocation unpredictable change in cloud user workload
patterns
Low response and processing times Consider the VMs and servers states (switched off, VM availability should be updated and calculated
put to sleep, or in hibernation mode, etc.) for each new time series before the next forecast
The necessity of resource adaptation policy, Integrate VM migration and consolidation It used dataset, historical resource allocation trace,
objective function, and allocation method techniques machine learning methods, and stochastics
methods
Consider different factors including, task priority, High resource utilization Potentially consume a lot of time to decide on task
VMs availability, and users’ requirements scheduling
Provide high scalability Consider balancing system load and power In the case of several prediction rules for
consumption multi-objective optimization, it is difficult to
identify the best one
A. Belgacem
Dynamic resource allocation in cloud computing... 693

– Domain description problem: We specify the context of our issues like


mobile cloud computing, energy efficiency in data centers [39], load balancing,
resource provisioning [40], big data, IoT, etc.
– Used resources: In cloud computing, resources are assembled to be leased as
a service. It provides many computing services over the Internet (servers, storage,
databases, networking, software, and more) with an outstanding performance [41,
42].
– Machine configuration: It means the arrangement manner and parame-
ters of resources in the machine (single or multiple CPU, memory capacity, etc.)
[43].
– Optimization criterion: It is the metric that must be improved to achieve
the overall goal of objectives functions, e.g. reducing makespan and cost, mini-
mizing response time or resource consumption, etc [44–46].
Moreover, to allocate the computing power and resource capacity from a cloud
provider, there are three different modes of resources allocation:
– Best-effort: This is the most used mode, resources are provisioned as soon
as possible, and the requests are placed in a queue.
– Deadline Sensitive Leases (DSL): Some algorithms like [47,48]
take into account the deadlines, while others do not respect it (Best-effort leases
with a deadline). It is a limited time associated with each task that must finish its
execution before that time.
– Advance Reservation (AR): Resources are reserved in advance, and they
must be available at a specific time.
The particularity of Cloud scheduling compared to ordinary scheduling appears in
the following points:
– Cloud characteristics (virtualization) allow the possibility of achieving new objec-
tives such as efficient resource utilization and fulfilling the SLA requirement.
– In the Cloud Computing environment, there are different levels of scheduling; the
first level corresponds to the distribution of virtual machines to the hosts, while
the second level deals with the assignment of tasks to virtual machines.

5.1 Scheduling types in cloud computing

The diversity of services provided (application, storage, CPU, etc.), the need to make
them available to users, and the need for better data center management have led to a
diversity of scheduling types, as shown in Fig. 3.

5.1.1 Task scheduling

– Job: Usually, it is called on a set of independent tasks or a batch of tasks [5].


In the case of job scheduling, most approaches start by evaluating the weight of
tasks in their pool based on wait time, delay, arrival time, execution time, etc. To
determine the priority of each job and estimate the best mapping.

123
694 A. Belgacem

Scheduling types in cloud computing

Task VM Storage
scheduling scheduling scheduling

Job Workflow Bag of


tasks

Fig. 3 Scheduling types in cloud computing

– Workflow application: It is a set of dependent tasks, represented by the


DAG (Directed Acyclic Graph); each node indicates a task, and each edge rep-
resents the communication between the dependent tasks. Each directed edge ei j
states that Ti is the parent task of T j . The task can only be executed once all its
parent tasks have been completed [49].
– Bag-of-tasks application: Bag-of-tasks applications (BoTs) are sets of
numerous unconnected tasks (without precedence constraints), highly parallelized
given their unconnected nature [50].

5.1.2 VM scheduling

Cloud providers create groups of virtual machines in a resource pool, and each virtual
machine must be assigned to a host. This is one of the main challenges of implementing
IaaS. Many of the constraints defined in a Service Level Agreement (SLA) document
explain how to associate virtual machines with each client. This last problem can be
solved by using virtualization properties and techniques.

5.1.3 Storage scheduling

It is a set of data blocks, often of large capacity and heterogeneous types (image, text,
etc.), stored in clusters existing in different geographical locations. In addition, its
size increases continuously, as is the case in Big Data. Furthermore, we need a high
processing method to store and retrieve the data to achieve good optimization. There-
fore, scheduling is considered a valuable solution for dealing with such problems. For
this purpose, it is usually necessary to create a data partition based on the information
available on storage sites and resources.
Some works need to improve the resources allocation problem in many aspects,
leading to the simultaneous processing of different tasks. For example, in work [52],
the authors applied an iterative approach to planning dynamic workloads in big data.

123
Dynamic resource allocation in cloud computing... 695

It allows allocating virtual cluster resources based on demand. They scheduling both
types of tasks, such as the scientific workflow and the job. In addition, they managed
the placement of virtual machines over physical machines. The main properties of the
previous scheduling types are shown in the Table 3.
Figure 4 indicates the percentage of task scheduling types that are presented in the
literature. After the comprehensive review of the scheduling types in cloud computing,
it can be seen that the prospects of job scheduling are the most discussed in this area.
Scheduling jobs is the first thing researchers think of to improve infrastructure cloud
performance, followed by other types of scheduling with approximate percentages.
Each type reflects a category of user requests or applications deployed in the cloud
paradigm.

6 Resources allocation approaches classification

Many categories of scheduling methods are used to obtain the best resource allocation
solutions in the cloud (Table 4). As a result, different classification approaches existed
in the literature. Challita et al. [6] classified the dynamic VMs placement optimization
methods based on four main approaches: constraint programming, bin packaging,
stochastic integer programming, and genetic algorithm. However, Masdari et al. [10]
classified the workflow scheduling schemes into heuristic, meta-heuristic and hybrid.
Salot et al. [11] classified existing job scheduling algorithms in two modes: Batch
mode and online mode. These classifications concern a particular type of scheduling,
whereas, in our work, we consider all the kinds of scheduling listed above (Figs. 3, 5).

6.1 Heuristic methods

We distinguish different types of heuristics as follows:

6.1.1 Specifically heuristic-based approach

In [47] authors addressed the execution problem of a workflow in the Cloud before
deadline-constrained at a possible minor cost. They used the PCP algorithm to detect
the "partial critical paths" and the IC-PCP based method to examine the available
VMs. Also, applied EIPR algorithm to increase the performance of the system. Others
presented a new scheduling strategy based on the load balancing (LBE) approach for
an independent task in a Cloud environment which gave good results in execution time
makespan and resource utilization [53]. In Nan et al. [54] applied a Greedy Algorithm
to achieve the minimal running cost of tasks in resources.

123
696

123
Table 3 Comparison between different scheduling types in the cloud

Scheduling type Main scheduling phases Main parameters Example of request

Job -Resource allocation phase (allocated pool of Weight of tasks or size Web Applications
tasks to set of resources)
Workflow -Tasks sorting Phase, -Resource Allocation Data transmission, Bandwidth, Subdeadline Workflow applications
phase (allocated set of ready tasks to set of of tasks
resources)
Bag-of-task (BoT) -BoT requires no a- priori information about Deadline of each task, Bag of independent Data mining application, Image/video
task completion times, instead BoT learns tasks rendering, Scientific simulation
application throughput at runtime [51]
VM VMs Placement(allocated set of VMs to set VMs Consolidation,VMs Migration VM Requests
of physical resources)
Storage -Distribution (Location) of data (allocated Chunk2 -Big data application, -Storage requests,
blocs of data to Cluster resources) -Data mining application
2 It is a unit for measuring the load of data
A. Belgacem
Dynamic resource allocation in cloud computing... 697

Fig. 4 Percentage of the


scheduling task types

Table 4 A sample of scheduling approaches in the cloud

Work Approach Approach Classification Issue

[44] DSOS Meta-heuristic QoS


[67] DFS Linear programming Resource utilization
[68] Algorithm based on Linear programming Efficiency resource
time-cost-trust model scheduling
[69] Cost-based approach, Heuristic QoS and cost
Time-based approach,
Pareto selection approach
[47] IC-PCP EIPR Heuristic QoS
[70] HSGA Meta-heuristics Load balancing and Resource
utilization
[71] N-GA Meta-heuristics QoS
[72] MOGA Meta-heuristics Energy consumption and QoS
[40] Bin-Packing Numerical method based Energy consumption
scheduling
[73] ThaS Numerical method based Energy consumption
scheduling
[74] Adaptive K nearest neighbor Numerical approximate QoS
method
[75] BATS+ BAR Hybrid method QoS

6.1.2 Metaheuristic-based approach

We distinguish different sorts of scheduling based on metaheuristic methods, such as


GA, PSO, and ACO [55]. In [56] the proposed LBACO algorithm aimed to optimize
the tasks scheduling with load balancing. Further, integrating the basic ACO principle
allows picking out new task scheduling count on the result in the past task scheduling.
It aims to minimize resource wastage. In the work [57], the authors proposed a new
approach based on PSO for VM scheduling. They took the characteristics of virtual
machines such as CPU and memory capacity to place them on physical servers.

123
698 A. Belgacem

Optimization approaches

Multi-agent Linear
based DRA programming

Numerical Numerical method Hybrid


approximate method based Scheduling methods

Learning methods

Heuristic

Meta-heuristic Specifically heuristic Hyper-heuristic

Fig. 5 Classification of optimization approaches in the cloud

6.1.3 Hyper heuristic-based approach

Other work aimed to minimize the makespan by proposing a hyper-heuristic schedul-


ing algorithm (HHSA). HHSA sought to find a better scheduling solution for the cloud
computing system. It used a detection operator to automatically define the lowest level
heuristic algorithm and a perturbation operator to fine-tune the solutions obtained by
each low-level algorithm [58].

6.2 Numerical methods

It is a mathematical technique designed to solve numerical problems. For example, in


[40] authors employed the Exact VM Allocation algorithm (an extended Bin-Packing
approach) to address the power consumption problem. To reach a good consolidation
of VMs, they used the migration module to handle the state of the unused hosts
(sleep, shut down) and thereby determining the VMs placement. On the other hand, to
save and reduce energy consumption Mhedheb et al. interposed ThaS (Thermal-aware
scheduling) as a mediator between the VMM (hypervisor) and the virtual machines.

123
Dynamic resource allocation in cloud computing... 699

This aims to map virtual machines to physical machines taking into account the load
and temperature on the hosts.

6.3 Numerical approximate methods

Mathematical methods based on probability or operational search allow estimating an


excellent possible solution to the task scheduling problem. For example, Sandhu et al.
proposed a KNN algorithm to calculate the distance between data center locations. The
distribution of queries on the data center is done adaptively, according to the number
of available resources and resources that big data requests will consume [59].

6.4 Hybrid methods

It is a mixture of different mathematical, heuristic, metaheuristic, reinforcement learn-


ing, or others methods. For instance, Mirzayi et al. introduced a new hybrid heuristic
algorithm based on PSO and GSA to address the Workflow scheduling. The algorithm
takes place in two parts: the scheduling and the heuristic. So that, according to the
information taking about VMs and workflow, the scheduling algorithm determines the
ready tasks at each moment. Then, they applied a heuristic algorithm to assign VM
tasks to VMs, thereby minimising the cost.

6.5 Linear programming methods

It is a traditional analytical method based on mathematic formulation. In this trend,


Chaisiri et al. presented an optimal VMs placement algorithm (OVMP) to deploy the
VMs on hosts. They proposed an architectural system consisting of a user, a VM,
cloud providers and a cloud broker. The OVMP aimed to select an optimal solution by
solving stochastic integer programming with two main steps: the first step determines
the number of VMs provisioned. In contrast, the second step determines the number
of VMs assigned for utilization.

6.6 Learning methods

Another part of the researchers tried to solve some DRA issues using learning methods.
In [60], they proposed a learning strategy-based dynamic resource allocation for virtual
streaming media server cluster of multi-version VoD system. Moreover, in [61], the
authors used a machine learning algorithm to fit the optimal allocation. Likewise, in
[62], they gave a solution based on learning methods to optimize resource allocation.
In other words, Learning methods have become the dominant approach in several
research fields. They are promising methods for DRA to improve the performance of
the cloud environment. Therefore, there is a rise of interest in developing new learning
techniques on DRA [63,64].

123
700 A. Belgacem

6.7 Multi-agent based DRA methods

A set of researchers applied multi-agent-based resource allocation methods to effi-


ciently allocate the available resources to the requested tasks. In [65], the authors
presented a hierarchical multi-agent optimization algorithm (HMAO) to reduce the
cost of resource use and the efficient use of resources. Similarly, in work [66], they
have proposed a model based on agent technology for properly distributing comput-
ing resources throughout cloud computing to improve cloud performance in terms of
computing costs.
In addition to the above, other methods use the Pareto as a factor to decide the best
solution exist. As illustrated in the reference Bessai et al. [69], proposed three com-
plementary bi-criteria approaches (Cost-based approach, Time-based approach, and
Cost-time-based approach) for scheduling workflows on distributed Cloud resources.
The authors aimed to minimize the time to completion and the costs incurred by the
use of resources. The cost-time-based approach combined the two other approaches
to select only the Pareto solutions.
Other methods represented the distribution of the resources by a binary tree or
acyclic graph [24]. Each resource has different characteristics and is known by its iden-
tifier. To map the tasks, the graph is searched to find a required resource. For instance,
Achar et al. introduced a new scheduling algorithm for optimal use of resources by
creating a virtual machine tree structure (VMT). The mapping is prioritizing according
to task size and mi ps VMs. Moreover, the Modified scheduling algorithm (depth-first-
search (DFS) ) that is proposed in [67] allows selecting the suitable Virtual Machines
to run the tasks. Similarly, to enhance the reliability of resources, Zhong-wen et al. pre-
sented a scheduling method based on the model of time-cost-trust computing resources,
which is based on the subset tree algorithm. They use a boundaries function to cut the
subtree. Meanwhile, the optimal solution can be obtained after cutting the branches
that do not meet the requirements [68].

7 Optimization trends in DRA area

Through analyzing the existing works in the literature; we deduce that the significant
optimization trends in dynamic resource allocation that can affect the performance of
cloud computing environments are:

7.1 Quality of service trend

The main problem for cloud providers is maintaining the quality of service (QoS)
given to users. However, the main optimization criteria of QoS are:
Makespan It is an essential optimization criterion for the scheduling of tasks to faster
execution of user requests. Makespan indicates the finishing execution time of all tasks
(seeks to complete all tasks as soon as possible). For this, it is very often necessary to
use the following definitions:

123
Dynamic resource allocation in cloud computing... 701

– Execution time: The time spent on the task when running on the resource
presents the period required for its implementation.
– Completion time: It is an amount of time task need to be completed. To
achieve the real-time requirements of users, tasks should be completed in a mini-
mum time [76].
– Waiting time: It is the difference between the execution start time and the
task submission time.
– Turnaround time: It is the sum of the waiting time and the execution time
of the task.
– Arrival time: The time (point in time, a moment) that a task arrives at the
cloud environment.
– Expected execution time: It is the expectation of the execution time on
the resource.

Deadline constraint It represents the time at which the task or set of tasks should be
completed. If the task has no execution deadline limit, scheduling constraints have no
effect. This metric can be combined with the following:

– Tardiness: This shows the time elapsed between the deadline and the comple-
tion time of the task. It indicates the delay in the task execution. Tardiness should
be zero for an optimal scheduling.
– Priority constraint: It is a factor to determine the importance of the task
during the scheduling operation. This allows tasks to be performed according to
their urgency and completed as soon as possible. The task priority can be decided
based on its deadline, arrival time, or advance resource reservation, etc.
– Dependency constraint: It represents the sequence of tasks based on their
dependency. If there are precedence orders among tasks, then a task cannot be
scheduled until all its parent tasks are finished, unlike independent tasks, where
tasks are independent of each other and can be scheduled in any sequence [7].

Cost The cost refers to the total price spent by cloud users for cloud services. It
includes four parameters: the provider revenue, provider profit, user expenses, and
resource cost. The task execution price on the existing resource must be compatible
with the ideal worth in the SLA document.

7.2 Energy consumption trend

It refers to the use of energy, which is calculated based on performing tasks on the
resource. Decreasing energy consumption can increase the profits of cloud providers,
and this can be achieved by improving the following parameters:

– PowerMark: It is the average power consumption per unit of the resources used
at the cloud data center servers, as illustrated in [77].
– Thermal constants: This parameter is used to measure the impact of tem-
perature on the resource’s energy consumption (CPU temperature) to determine
which virtual machine requires a migration.

123
702 A. Belgacem

7.3 Fault tolerance trend

The system can continuously offer a service without downtime, which requires a
mechanism that can track ongoing operations. If a virtual machine fails, the task must
be immediately transferred to another running resource to maintain the required QoS
level. The main criteria to optimize fault tolerance are:

– Trustworthiness: This parameter reflects the strong capacity of a virtual


machine to execute the selected task (trust relationships to assign tasks to a
resource). It gives the probability of not assigning a specific task to the resource
(probability of the resource failure). This criterion makes the cloud environment
secure, available, and reliable.
– Recovery time: It is the maximum acceptable time during which a task can
be stopped after a failure. This depends on the workload and the disruption of other
resources.
– Fault rate: It is defined as the number of faults over a given period.
– Reliability: It determines the frequency rate at which a resource can com-
plete the task executed under the conditions specified for a given period. It is
heavily used to avoid the failure rate of cloud computing.

7.4 Resources utilization trend

Another essential optimization is maximizing the use of resources, keeping resources


as busy as possible. This criterion is gaining importance as service providers want
to maximize profit by hiring limited resources. The relevant factors of this type of
optimization:

– Fairness: Fairness is a desirable feature of the scheduling process, and it means


that each task must receive an equal share of the CPU time without missing them.
– Throughput: It indicates the number of tasks performed in a unit of time.
– Response time: It is the period taken by the resource to respond to a specific
task and start processing it. The response time can be calculated by the sum of the
wait and submit times, which directly affects the wait time for jobs.
– Availability: It is the number of resources available and ready to be used.
– Processing speed: It is the processing speed of a virtual machine, repre-
sented by the parameter multi instructions per second (MIPS).

7.5 Load balancing trend

Load balancing is a technique used in computing to distribute workload across multiple


resources. Its main criteria:

– Elasticity: It shows how well a system can adapt to workload changes with
standalone provisioning and deprovisioning of resources.

123
Dynamic resource allocation in cloud computing... 703

Fig. 6 Percentage of the DRA optimization trends

7.6 Network enhancement trend

In this case, most researchers seek to improve:


– The bandwidth resources: The bandwidth indicates the movement speed
or data quantity execution within a specified time. Bandwidth requirements should
be prioritized when users require higher communication bandwidth, such as
streaming media needs. It is usually calculated based on bytes per second.
– Data transfer: The amount of data exchanged between system resources.
In addition to the above, we note the existence of other parameters used in the
literature, such as:
– Covariance: We note the covariance of time in the case of resource hetero-
geneity, where tasks can be executed in varying time and cost [78].
– Profit gained: In [48], it was used to determine the effect of various meta-
scheduling policies on energy consumption to select those that work well.
Figure 6 shows the total percentage of optimized DRA trends processed by
researchers in the literature. The focus of the research is mainly based on QoS to
improve cloud performance. Improving QoS criteria can reduce the cost of user
expenses and increase vendor revenue or profit. Improvement can be achieved by
balancing the workload over resources. In addition, another category of researchers
focused on minimizing power consumption, optimal use of resources, and maximizing
bandwidth to enhance the network.

8 Suggested future DRA research directions and opportunities

In this segment, we summarize and analyze the expected research trends perceived
during the investigation progress of this research.
– DRA aware saving energy: The overall electricity consumption in the
cloud environment has been considerably increased due to the increase in Cloud
users. It is considered as part of the QoS, which is proposed in [79,80] for further
enhancement.

123
704 A. Belgacem

– DRA aware security: Considerable attention has been paid to incorporating


new security strategies into cloud scheduling to differentiate cloud user demands
from attackers and trusted cloud users, as stated in the articles [42,81].
– DRA aware failure recovering: Another primary concern in DRA is
fault tolerance, and it creates a significant problem for the design of an efficient
DRA algorithm and its implementation in a cloud computing environment. This
is achieved by using recovery techniques for different types of failures [82].
– Multi-objective optimization: Optimizing a set of possible contrast-
ing objectives is a future challenge of DRA. This direction of research has recently
attracted much attention and is the main focus of the works [48,49,83,84].

Currently, many companies have transformed to use the cloud computing paradigm
to keep pace with modern digital development. Cloud computing offers promising
opportunities for firms to process, save and share data, applications, files, and more.
In addition, cloud computing provides opportunities to create new services, for exam-
ple, robotic manufacturing and healthcare, that open up new frontiers for DRA. In
particularly, DRA can draw researchers’ attention to the following trends:

– DRA for control functionality as a service: The main objec-


tive of this type of research is to implement control functions as a service using
cloud infrastructure. In this trend, multiple instances of virtual machines can be
created and allocated to control the underlying physical subsystems using the
resource distribution policy [85].
– DRA for Cloud mobile: Cloud allows performing many complicated oper-
ations that can not be done by the mobile phone. It gives rich multimedia
applications instead of mobile devices with limited resources [86]. Therefore,
researchers can make many optimizations in this area.
– DRA for Internet of Things (IOT) requests in Cloud: This
type of research aims to assign a set of IoT requests to cloud resources. For exam-
ple, in the reference [87], the authors introduced an algorithm for scheduling IoT
applications in the cloud to improve throughput and drop rate metrics.
– DRA for Multi-Cloud systems: A multi-cloud is a combination of sev-
eral cloud models (more than one public or private cloud). This strategy has become
the concern of most companies. Using multiple public clouds is now a powerful
and undeniable way to increase flexibility, innovation, and regulatory compliance
to meet best the unique needs of businesses, applications, and workloads. Multi-
clouds offer several benefits for organizations as they can use the speed of one
cloud service for mission-critical tasks, thereby profiting from the low pricing of
resources [88].
– DRA for Cloud computing storage: Data backup and disaster recov-
ery are the number one concern of cloud computing storage. Data backup is the
act of storing a copy of files or data to a separate storage location so that in the
event those files are lost or damaged; they can be restored. However, due to the
open nature of cloud storage, trustworthiness to the storage providers remains a
critical issue amongst data owners. That’s why a considerable number of busi-
nesses worldwide remain using traditional storage methods over cloud storage

123
Dynamic resource allocation in cloud computing... 705

[89]. Therefore, there is a lot of research to be done on this trend to attract more
customers.

9 Discussion

Cloud computing is a dynamic environment. It cannot rely on static resources


allocation, because the environment state is constantly changing. Moreover, user
requirements vary at a run time, requiring an efficient resource allocation algorithm
that can easily handle workloads. The characteristics of the cloud make it possible to
achieve new objectives (efficient use of resources, SLA requirement, etc.). In addition,
this has led to the application of new heuristic, learning, and multi-agent approaches,
which gives an efficient yield compared to other paradigms due to the dramatic increase
in the agility of the cloud (dynamicity).
Given that the cloud results from the gradual evolution of technologies from main-
frame to grid, it is not strange that the taxonomies of scheduling and approach can be a
little similar. Because some researchers applied existing solutions in other paradigms
on the cloud environment, which explains a bit conform of our taxonomies to others.
Yet, to our knowledge, there is no work presenting the analytics and classification of
DRA in the cloud, as this article shows.
This paper has presented a full investigation into the problem of DRA. Our essen-
tial contribution is to give a detailed categorization of research work in resource
management, including those oriented towards dynamic allocation and scheduling
of resources. The existing works on resource allocation in a cloud computing environ-
ment did not precisely classify the approaches, scheduling, and dynamic aspects of
cloud computing. In contrast, our research englobes all existing types of scheduling
and approach optimization. This work gives general knowledge for each researcher
who wants to initiate the field of resource allocation in a cloud-computing environ-
ment.

10 Conclusion

Resource allocation in cloud computing is an important topic that is widely addressed


by the scientific community. We reviewed several state-of-the-art resource alloca-
tions in the cloud computing system. We explored and examined open issues through
in-depth analysis of over 61 primary searches among the 734 papers in our search
query. We analyzed and discussed existing approaches for resource allocation prob-
lems employed in cloud computing systems and extracted the main research challenges
appearing in this area. This paper gives taxonomies about DRA in terms of scheduling,
approaches, and optimization metrics.
Through answers provoked by two exploratory research questions, we found many
studies on scheduling tasks in cloud computing, which uses different optimization
methods to obtain approximate solutions. However, the dynamic aspect of cloud com-
puting did not highlight clearly in the literature. In the literature, DRA has been treated
in different ways. Some researchers employed information on resource availability and

123
706 A. Belgacem

properties to overcome the various issues of resource allocation. A number of them


used the virtualization characteristics, including virtual machine migration and con-
solidation, to modify the VMs states (awake, asleep, listening, etc.) or placement,
thereby enhancing the dynamic administration of resources. On the other hand, some
studies adopted predicting solutions to monitor the dynamic alterations of resources
consumed and required.
By treating DRA approaches, we deduced that metaheuristic methods are the effi-
cient solution used in this field. However, the existing approaches did not achieve an
optimal solution in this domain. They still necessitate more improvement to perform
the cloud environment. Dynamic resource allocation techniques should be as efficient
as possible to satisfy both the cloud provider and the user. This study is critical because
it addresses the dynamism of resource allocation, which is one of the leading cloud
issues. It is rich because it provides taxonomies on approaches and issues.

Acknowledgements This work is supported by “Direction Generale de la Recherche Scientifique et du


Développement Technologique (DGRSDT)” in Algeria.

References
1. Assunção MD, Calheiros RN, Bianchi S, Netto MAS, Buyya R (2015) Big data computing and clouds:
trends and future directions. J Parall Distrib Comput 79:3–15
2. On line. Cloud computing statistics 2019. https://techjury.net/stats-about/cloud-computing/. Accessed
on 12 July 2019
3. Buyya R, Yeo CS, Venugopal S (2008). Market-oriented cloud computing: vision, hype, and reality
for delivering it services as computing utilities. IEEE, pp 5–13
4. Belgacem A, Beghdad-Bey K, Nacer H (2018) Task scheduling optimization in cloud based on elec-
tromagnetism metaheuristic algorithm. In: 2018 3rd International conference on pattern analysis and
intelligent systems (PAIS). IEEE, pp 1–7
5. Alkhanak EN, Lee SP, Rezaei R, Parizi RM (2016) Cost optimization approaches for scientific workflow
scheduling in cloud and grid computing: a review, classifications, and open issues. J Syst Softw 113:1–
26
6. Challita S, Paraiso F, Merle P (2017) A study of virtual machine placement optimization in data centers.
April Porto, Portugal
7. Kalra M, Singh S (2015) A review of metaheuristic scheduling techniques in cloud computing. Egy
Inform J 16(3):275–295
8. Madni SHH, Latiff MSA, Coulibaly Y et al (2016) Resource scheduling for infrastructure as a service
(IAAS) in cloud computing: challenges and opportunities. J Netw Comput Appl 68:173–200
9. Zhan ZH, Liu XF, Gong YJ, Zhang J, Chung HSH, Li Y (2015) Cloud computing resource scheduling
and a survey of its evolutionary approaches. ACM Comput Surv (CSUR) 47(4):63
10. Masdari M, ValiKardan S, Shahi Z, Azar SI (2016) Towards workflow scheduling in cloud computing:
a comprehensive analysis. J Netw Comput Appl 66:64–82
11. Salot P (2013) A survey of various scheduling algorithm in cloud computing environment. Int J Res
Eng Technol 2(2):131–135
12. Alkhanak EN, Lee SP, Khan SUR (2015) Cost-aware challenges for workflow scheduling approaches
in cloud computing environments: taxonomy and opportunities. Fut Gen Comput Syst 50:3–21
13. Haji LM, Zeebaree SR, Ahmed OM, Sallow AB, Jacksi K, Zeabri RR (2020) Dynamic resource
allocation for distributed systems and cloud computing. TEST Eng Manag 83:22417–22426
14. Dieste O, Grimán A, Juristo N (2009) Developing search strategies for detecting relevant experiments.
Empir Softw Eng 14(5):513–539
15. Kino T (2011) Infrastructure technology for cloud services. Fujitsu Sci Tech J 47(4):434–442

123
Dynamic resource allocation in cloud computing... 707

16. Rochwerger B, Breitgand D, Levy E, Galis A, Nagin K, Llorente IM, Montero R, Wolfsthal Y, Elmroth
E, Caceres J et al (2009) The reservoir model and architecture for open federated cloud computing.
IBM J Res Develop 53(4):4–1
17. Peng J, Zhang X, Lei Z, Zhang B, Zhang W, Li Q (2009) Comparison of several cloud computing
platforms. In: Proceedings of the 2009 second international symposium on information science and
engineering, pp. 23–27. IEEE
18. Online. Gestion des ressources vsphere. http://www.vmware.com/fr/support/pubs. Accessed on 16
June 2020
19. Li J, Qiu M, Ming Z, Quan G, Qin X, Zonghua G (2012) Online optimization for scheduling preemptable
tasks on IAAS cloud systems. J Parall Distrib Comput 72(5):666–677
20. Jin Y, Branke J et al (2005) Evolutionary optimization in uncertain environments: a survey. IEEE Trans
Evol Comput 9(3):303–317
21. Talbi E-G (2009) Metaheuristics: from design to implementation, vol 74. Wiley, Hoboken
22. Branke J (2012) Evolutionary optimization in dynamic environments, vol 3. Springer, New York
23. Mell P, Grance T, et al (2011) The nist definition of cloud computing
24. Ali B, Kadda BB, Hassina N (2018) Task scheduling in cloud computing environment: a comprehensive
analysis. In: International conference on computer science and its applications, pp. 14–26, 24–25 April,
in Algiers, Algeria. Springer, New York
25. Zhang L, Zhou L, Salah A (2020) Efficient scientific workflow scheduling for deadline-constrained
parallel tasks in cloud computing environments. Inf Sci 531:31–46
26. Yuan H, Bi J, Zhou MC (2019) Profit-sensitive spatial scheduling of multi-application tasks in dis-
tributed green clouds. IEEE Trans Autom Sci Eng
27. Swain CK, Saini N, Sahu A (2020) Reliability aware scheduling of bag of real time tasks in cloud
environment. Computing 102(2):451–475
28. Alworafi MA, Mallappa S (2020) A collaboration of deadline and budget constraints for task scheduling
in cloud computing. Clust Comput 23(2):1073–1083
29. Chen Z, Junqin H, Chen X, Jia H, Zheng X, Min G (2020) Computation offloading and task scheduling
for dnn-based applications in cloud-edge computing. IEEE Access 8:115537–115547
30. Rashida SY, Sabaei M, Ebadzadeh MM, Rahmani AM (2019) A memetic grouping genetic algorithm
for cost efficient VM placement in multi-cloud environment. Cluster Comput 1–40
31. More NS, Ingle RB (2020) Optimizing the topology and energy-aware vm migration in cloud comput-
ing. Int J Ambient Comput Intell (IJACI) 11(3):42–65
32. Gholipour N, Arianyan E, Buyya R (2020) A novel energy-aware resource management technique
using joint vm and container consolidation approach for green computing in cloud data centers. Simul
Model Pract Theory, pp. 102127
33. Mandal R, Mondal MK, Banerjee S, Biswas U (2020) An approach toward design and development
of an energy-aware vm selection policy with improved sla violation in the domain of green cloud
computing. J Supercomput 1–20
34. Singh BP, Ananda KS, Gao XZ, Kohli M, Katiyar S (2020) A study on energy consumption of dvfs
and simple vm consolidation policies in cloud computing data centers using cloudsim toolkit. Wireless
Pers Commun 1–13
35. Kholidy HA (2020) An intelligent swarm based prediction approach for predicting cloud computing
user resource needs. Comput Commun 151:133–144
36. Chen X, Wang H, Ma Y, Zheng X, Guo L (2020) Self-adaptive resource allocation for cloud-based
software services based on iterative qos prediction model. Futur Gener Comput Syst 105:287–296
37. Qiu C, Shen H (2019) Dynamic demand prediction and allocation in cloud service brokerage. IEEE
Trans Cloud Comput
38. Chen J, Wang Y (2019) A hybrid method for short-term host utilization prediction in cloud computing.
J Elect Comput Eng 2019
39. Hai Y (2014) Improved ant colony algorithm based on pso and its application on cloud computing
resource scheduling. In: Advanced materials research vol 989, pp. 2192–2195. Trans Tech Publ
40. Chaima G, Makhlouf H, Djamal Z (2013) Energy efficient vm scheduling for cloud data centers: exact
allocation and migration algorithms. In: Proceedings of the 13th IEEE/ACM international symposium
on Cluster, cloud and grid computing (CCGrid), 2013, pp. 671–678, Delft, Netherlands, 13–16 May
2013. IEEE
41. Suraj P, Linlin W, Siddeswara MG, Rajkumar B (2010) A particle swarm optimization-based heuristic
for scheduling workflow applications in cloud computing environments. In: Proceedings of the 24th

123
708 A. Belgacem

IEEE international conference on advanced information networking and applications (AINA), 2010,
pp. 400–407, Perth, Western Australia, 20–23 April 2010. IEEE
42. Zhangjun W, Zhiwei N, Lichuan G, Xiao L (2010) A revised discrete particle swarm optimization for
cloud workflow scheduling. In: International conference on computational intelligence and security
(CIS), 2010, pp. 184–188, Nanning, Guangxi, China, 11–14 December 2010. IEEE
43. Ritu K (2015) A cost effective approach for resource scheduling in cloud computing. In: Interna-
tional conference on computer, communication and control (IC4), 2015, pp. 1–6, Medi-Caps Group
of Institutions A.B. Road Pigdamber Rau, Indore Indore, India, 10 Sep–12 Sep 2015. IEEE
44. Mohammed Abdullahi Md, Ngadi A et al (2016) Symbiotic organism search optimization based task
scheduling in cloud computing environment. Futur Gener Comput Syst 56:640–650
45. Chen WN, Zhang J (2012) A set-based discrete pso for cloud workflow scheduling with user-defined
qos constraints. In: IEEE international conference on systems, man, and cybernetics (SMC), 2012, pp.
773–778, COEX Seoul, Korea (South), 14 Oct–17 Oct 2012. IEEE
46. Belgacem A, Kadda BB, Hassina N (2020) Dynamic resource allocation method based on symbiotic
organism search algorithm in cloud computing. IEEE Trans Cloud Comput
47. Calheiros RN, Buyya R (2014) Meeting deadlines of scientific workflows in public clouds with tasks
replication. IEEE Trans Parallel Distrib Syst 25(7):1787–1796
48. Zuo L, Shu L, Dong S, Zhu C, Hara T (2015) A multi-objective optimization scheduling method based
on the ant colony algorithm in cloud computing. IEEE Access 3:2687–2699
49. Belgacem A, Beghdad-Bey K (2021) Multi-objective workflow scheduling in cloud computing: trade-
off between makespan and cost. Cluster Comput 1–17
50. Octavio Gutierrez-Garcia J, Sim KM (2013) A family of heuristics for agent-based elastic cloud bag-
of-tasks concurrent scheduling. Futur Gener Comput Syst 29(7):1682–1699
51. Oprescu AM, Kielmann T (2010) Bag-of-tasks scheduling under budget constraints. In: Proceedings
of the 2010 IEEE second international conference on cloud computing technology and science, pp
351–359. IEEE
52. Zhang F, Cao J, Tan W, Khan SU, Li K, Zomaya AY (2014) Evolutionary scheduling of dynamic multi-
tasking workloads for big-data analytics in elastic cloud. IEEE Trans Emerg Top Comput 2(3):338–351
53. Bey KB, Benhammadi F, El Yazid Boudaren M, Khamadja S (2017) Load balancing heuristic for tasks
scheduling in cloud environment. In: Proceedings of the 19th international conference on enterprise
information systems Vol 1: ICEIS, pp. 489–495, April 26–29, in Porto, Portugal, 2017. INSTICC,
SciTePress
54. Nan X, He Y, Guan L (2013) Optimization of workload scheduling for multimedia cloud computing.
In: Proceedings of the 2013 IEEE international symposium on circuits and systems (ISCAS), pp.
2872–2875. IEEE
55. Gupta A, Garg R (2017) Load balancing based task scheduling with aco in cloud computing. In:
Proceedings of the 2017 international conference on computer and applications (ICCA), pp. 174–179,
6–7 Sept, Doha, United Arab Emirates, 2017. IEEE
56. Li K, Gaochao X, Zhao G, Dong Y, Wang D (2011) Cloud task scheduling based on load balancing
ant colony optimization. In: Chinagrid Conference (ChinaGrid), 2011 Sixth Annual, pp. 3–9, August,
Dalian, Liaoning, China, 2011. IEEE
57. Kumar D, Raza Z (2015) A pso based vm resource scheduling model for cloud computing. In: Pro-
ceedings of the 2015 IEEE international conference on computational intelligence and communication
technology (CICT), pp. 213–219, October Liverpool, UK, 2015. IEEE
58. Tsai C-W, Huang W-C, Chiang M-H, Chiang M-C, Yang C-S (2014) A hyper-heuristic scheduling
algorithm for cloud. IEEE Trans Cloud Comput 2(2):236–250
59. Sandhu R, Sood SK (2015) Scheduling of big data applications on distributed cloud based on qos
parameters. Clust Comput 18(2):817–828
60. Zhao H, Wang J, Wang Q, Liu F (2019) Queue-based and learning-based dynamic resources alloca-
tion for virtual streaming media server cluster of multi-version vod system. Multimedia Tools Appl
78(15):21827–21852
61. Zhang J, Xie N, Zhang X, Yue K, Li W, Kumar D (2018) Machine learning based resource allocation
of cloud computing in auction. Comput Mater Continua 56(1):123–135
62. Thein T, Myo MM, Parvin S, Gawanmeh A (2020) Reinforcement learning based methodology for
energy-efficient resource allocation in cloud data centers. J King Saud Univ Comput Inform Sci
32(10):1127–1139

123
Dynamic resource allocation in cloud computing... 709

63. Vadivel R, SudalaiMuthu TP (2020) An effective hpso-mga optimization algorithm for dynamic
resource allocation in cloud environment. Clust Comput 23(3):1711–1724
64. Chen Z, Yang L, Huang Y, Chen X, Zheng X, Rong C (2020) Pso-ga-based resource allocation strategy
for cloud-based software services with workload-time windows. IEEE Access 8:151500–151510
65. Gao X, Liu R, Kaushik A (2020) Hierarchical multi-agent optimization for resource allocation in cloud
computing. IEEE Trans Parallel Distrib Syst 32(3):692–707
66. Bajo J, De la Prieta F, Corchado JM, Rodríguez S (2016) A low-level resource allocation in an agent-
based cloud computing platform. Appl Soft Comput 48:716–728
67. Achar R, Thilagam PS, Shwetha D, Pooja H, et al (2012) Optimal scheduling of computational task
in cloud using virtual machine tree. In: Third international conference on emerging applications of
information technology (EAIT), 2012, pp. 143–146, 30 Nov–01 Dec, Kolkata, India, 2012. IEEE
68. Gao ZW, Zhang K (2012) The research on cloud computing resource scheduling method based on
time-cost-trust model. In: Proceedings of the 2012 2nd international conference on computer science
and network technology (ICCSNT), pp. 939–942, Dec Changchun, China, 2012. IEEE
69. Bessai K, Youcef S, Oulamara A, Godart C, Nurcan S. Bi-criteria work ow tasks allocation and
scheduling in cloud computing environments. In: Proceedings of the 2012 IEEE 5th international
conference on cloud computing (CLOUD), pp. 638–645, Nov, Chicago, IL, USA, 2012. IEEE
70. Arash GD, Yalda A (2014) Hsga: a hybrid heuristic algorithm for workflow scheduling in cloud systems.
Clust Comput 17(1):129–137
71. Keshanchi B, Souri A, Navimipour NJ (2017) An improved genetic algorithm for task scheduling in the
cloud environments using the priority queues: formal verification, simulation, and statistical testing. J
Syst Softw 124:1–21
72. Portaluri G, Giordano S (2016) Multi objective virtual machine allocation in cloud data centers. In:
Proceedings of the 2016 5th IEEE international conference on cloud networking (Cloudnet), pp 107–
112. IEEE
73. Yousri M, Foued J, Jie T, Jiaqi Z, Joanna K, Achim S (2013) Load and thermal-aware vm scheduling
on the cloud. In: International conference on algorithms and architectures for parallel processing, pp
101–114, October Liverpool, UK, 2013. Springer
74. Wang W, Zeng G, Tang D, Yao J (2012) Cloud-dls: Dynamic trusted scheduling for cloud computing.
Exp Syst Appl 39(3):2321–2329
75. Gawali MB, Shinde SK (2018) Task scheduling and resource allocation in cloud computing using a
heuristic approach. J Cloud Comput 7(1):4
76. Guo-ning G, Ting-lei H, Shuai G (2010) Genetic simulated annealing algorithm for task scheduling
based on cloud computing environment. In: Proceedings of the 2010 international conference on
intelligent computing and integrated systems, pp. 60–63, 22–24 October, Guilin, China, 2010. IEEE
77. Peng Y, Kang D-K, Al-Hazemi F, Youn C-H (2017) Energy and qos aware resource allocation for
heterogeneous sustainable cloud datacenters. Opt Switch Netw 23:225–240
78. Meng X, Lizhen C, Haiyang W, Yanbing B (2009) A multiple qos constrained scheduling strategy of
multiple workflows for cloud computing. In: Proceedings of the 2009 IEEE international symposium
on parallel and distributed processing with applications, pp. 629–634, 10–12 Aug., in Chengdu, China,
2009. IEEE
79. Joseph CT, Chandrasekaran K (2020) Intma: dynamic interaction-aware resource allocation for con-
tainerized microservices in cloud environments. J Syst Arch 111:101785
80. Pradeep SR, Priti D, Soumen K, Gyanendra PS (2020) Optimize task allocation in cloud environment
based on big-bang big-crunch. Wireless Pers Commun 115(2):1711–1754
81. Chang Z, Liu L, Guo X, Sheng Q (2020) Dynamic resource allocation and computation offloading for
iot fog computing system. IEEE Trans Ind Inform
82. Naha RK, Garg S, Chan A, Battula SK (2020) Deadline-based dynamic resource allocation and pro-
visioning algorithms in fog-cloud environment. Futur Gener Comput Syst 104:131–141
83. Zhang P, Zhou MC, Wang X (2020) An intelligent optimization method for optimal virtual machine
allocation in cloud data centers. IEEE Trans Autom Sci Eng 17(4):1725–1735
84. Belgacem A, Beghdad-Bey K, Nacer H (2018) Enhancing cost performance using symbiotic organ-
ism search based algorithm in cloud. In: Proceedings of the 2018 international conference on smart
communications in network technologies (SaCoNeT), pp. 306–311. IEEE
85. Gong S, Yin B, Zheng Z, Cai K-Y (2019) Adaptive multivariable control for multiple resource allocation
of service-based systems in cloud computing. IEEE Access 7:13817–13831

123
710 A. Belgacem

86. Feng L, Zhou F, Peng Yu, Li W (2018) Benders decomposition-based video bandwidth allocation in
mobile media cloud network. Multimedia Tools Appl 77(1):877–895
87. Narman HS, Hossain MS, Atiquzzaman M, Shen H (2017) Scheduling internet of things applications
in cloud computing. Ann Telecommun 72(1–2):79–93
88. On line. The state of the cloud 2019. https://www.brightred.com/wp-content/uploads/2019/02/The-
State-of-Cloud-22022019.pdf. Accessed on 23 July 2019
89. Tan CB, Hijazi MHA, Lim Y, Gani A (2018) A survey on proof of retrievability for cloud data integrity
and availability: Cloud storage state-of-the-art, issues, solutions and future trends. J Netw Comput
Appl 110:75–86

Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in published maps
and institutional affiliations.

123

You might also like