Dynamic resource allocation in cloud computing analysis and taxonomies
Dynamic resource allocation in cloud computing analysis and taxonomies
https://doi.org/10.1007/s00607-021-01045-2
REGULAR PAPER
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.
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]
123
682 A. Belgacem
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.
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
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.
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
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.
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
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.
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
123
688 A. Belgacem
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
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:
θ 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].
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.
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],
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.
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.
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
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.
123
694 A. Belgacem
Task VM Storage
scheduling scheduling scheduling
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.
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.
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).
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
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
123
698 A. Belgacem
Optimization approaches
Multi-agent Linear
based DRA programming
Learning methods
Heuristic
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.
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
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:
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.
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
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:
– 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
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
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:
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
10 Conclusion
123
706 A. Belgacem
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