A Load Balancing Algorithm For The Data Centres To
A Load Balancing Algorithm For The Data Centres To
A Load Balancing Algorithm For The Data Centres To
fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
Date of publication xxxx 00, 0000, date of current version xxxx 00, 0000.
Digital Object Identifier 10.1109/ACCESS.2017.Doi Number
ABSTRACT Despite the many past research conducted in the Cloud Computing field, some challenges still
exist related to workload balancing in cloud-based applications and specifically in the Infrastructure as service
(IaaS) cloud model. Efficient allocation of tasks is a crucial process in cloud computing due to the restricted
number of resources/virtual machines. IaaS is one of the models of this technology that handles the backend
where servers, data centers, and virtual machines are managed. Cloud Service Providers should ensure high
service delivery performance in such models, avoiding situations such as hosts being overloaded or
underloaded as this will result in higher execution time or machine failure, etc. Task Scheduling highly
contributes to load balancing, and scheduling tasks much adheres to the requirements of the Service Level
Agreement (SLA), a document offered by cloud developers to users. Important SLA parameters such as
Deadline are addressed in the LB algorithm. The proposed algorithm is aimed to optimize resources and
improve Load Balancing in view of the Quality of Service (QoS) task parameters, the priority of VMs, and
resource allocation. The proposed LB algorithm addresses the stated issues and the current research gap based
on the literature's findings. Results showed that the proposed LB algorithm results in an average of 78%
resource utilization compared to the existing Dynamic LBA algorithm. It also achieves good performance in
terms of less Execution time and Makespan.
INDEX TERMS Cloud Computing; Load balancing; Makespan; Optimization; QoS; SLA; Task
Scheduling;
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
The backend side handles the cloud service models where the Efficient scheduling and utilization of resources can be
Data Center store multiple physical machines (known as achieved by designing and developing a dynamic load
servers). Incoming user requests are received from the balancer (LB). Cloud Computing highly depends on Virtual
application are dynamically scheduled, and through Machine Monitor (VMM) or hypervisor, as shown in the
virtualization, the necessary resources are allocated to clients. figure above. Hypervisor is a process that helps execute
The virtualization technique is also responsible for balancing multiple Virtual Machines on a single layer which is the
the load in the entire system, scheduling [8], and efficient hardware [11]. VMware is an excellent example of types of
allocation of resources. hypervisors that reside in the host. Since virtualization plays
CSPs and cloud users can leverage the advantage of an essential role in cloud technology, issues such as
virtualization as well as dynamic task scheduling techniques. inappropriate scheduling techniques or efficient mapping of
Thus, efficient scheduling can highly reduce execution time tasks [1] to correct Virtual Machines/resources can quickly
and increase the ratio of resource utilization in cloud-based degrade cloud-based applications' performance. This, in turn,
applications. can lead to an imbalanced workload on servers.
Therefore, there is still room in cloud computing
technology to improve mapping resources to tasks with the
objective of scheduling. Important QoS parameters should be
considered to achieve efficient resource utilization without
affecting the SLA and consider constraints such as Deadline,
priority, etc. [12]. Resource allocation is one of the challenges
in cloud technology, and it contributes to the process of load
balancing. This challenge also exists in wireless
communication systems [13] where priority among users
should be applied and resources must be distributed equally
and fairly.
A. RESEARCH CONTRIBUTION
This subsection highlights the contribution made by the
authors in this paper.
The research mainly aims to optimize the cloud resources
by enhancing the Load Balancing process through efficient
Task Scheduling procedures. Our contribution to the study can
be summarized as follows:
• A survey of existing Load Balancing and Task
Scheduling algorithms.
• A proposed Load Balancing algorithm addresses the
VM violation issue in the cloud and provides high-
FIGURE 1. Task scheduling in IaaS cloud computing [9]. quality service in terms of workload scheduling and
balancing. Although researchers have addressed this
Task Scheduling is a process that highly relates to workload issue in the past, most do not consider important QoS
balancing. As illustrated in figure 1 above, as users send parameters such as Deadline and Completion Time.
requests, the task is submitted through a cloud broker; this is • Additionally, the proposed algorithm includes the
where researchers should focus on providing an efficient migration of load to balance VMs, which is still not fully
algorithm. The proposed algorithm should efficiently submit addressed yet.
jobs to appropriate VMs following essential parameters such • Algorithm results in reducing two main Load Balancing
as deadline [10] to maintain a high quality of services and parameters: Makespan and Execution time in the cloud
ensuring the requests sent by users are executed and completed applications and improvement on Resource utilization.
within these specific requirements provided in the Service Further, this paper can benefit the forthcoming researchers
Level Agreement (SLA) document. The user sends requests studying the Cloud Computing field to improve cloud-based
via the Internet. These requests are stored in Virtual Machines applications' performance in terms of Load Balancing and
(VMs), and CSP in every delivery model must maintain the resource allocation.
QoS by ensuring the users' requests can be executed and The rest of the paper is organized as follows. Section II
completed within a specific deadline. This process depends provides the problem statement that is addressed by the
highly on the scheduling policy's efficiency (Data Broker) proposed algorithm. Section III covers the related work
which should be programmed to result in a high technique for whereby the Load Balancing and Tasks Scheduling concept is
balancing workload among the machines and servers. explained along with recent research presented by other
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
authors highlighting their strengths, weaknesses, and future also send a different request; this should be indicated by
work. Section IV provides details regarding the proposed LB providing random values for Task Length to make up a
algorithm covering the proposed framework, the flowchart, dynamic workload.
and the pseudocode. Section V includes the details of • Several new approaches have been made to improve Load
implementing the algorithm, such as simulation setup and Balancing; however, the workload migration challenge is
performance metrics. Section VI provides the discussion and still not fully addressed. Tasks are still allocated to VM
results obtained from the experiment. In section VII, our regardless of its SLA violation state, which indicates it
research is briefly compared to existing related work. Finally, doesn't follow the specified Deadline and requirements
in section VIII concluded to review the concept and content of stated in the agreement document [16], [21]. Each client
the paper and suggestion for future enhancement in the receives a different SLA contract based on their needs
algorithm is provided. from CSPs; hence, assigning random values for the
Deadline parameter is crucial in scheduling since it can
II. PROBLEM STATEMENT illustrate the algorithm's violation problem.
This section highlights the problem statement which is
extracted from the review made in this research. Following the III. RELATED WORK
solutions to these problems, the new algorithm is proposed. This section includes the literature review of this paper. The
Dealing with incoming user requests/tasks and keeping a concept of Load Balancing will be explained, highlighting its
balanced workload in cloud systems can be challenging due to model, metrics, and existing standard algorithms. Leading to
inappropriate allocation to VMs. One cause of this is the the recent literature on Load Balancing, where researchers'
limited task factors considered; for example, if the arrival time proposed algorithms are explained and analyzed—followed
is not considered, all tasks would arrive simultaneously, which by existing algorithms proposed by researchers in the field of
does not work in a dynamic environment such as cloud Load Balancing.
systems since the requests are not prioritized. With the
increasing number of requests, more problems could occur if
the requests are not assigned to their designated VM or when
the CPU is not fully utilized or insufficient to handle the
requests, leading to performance issues due to an unbalanced
load in the cloud. To overcome these issues, it is necessary to
consider QoS factors and provide an efficient algorithm to
improve the cloud's performance in IaaS. This can be done by
optimizing the usage of the system's resources, which reduces
the Makespan and Execution time of user tasks.
The authors have limited the scope in this research to
emphasize enhancing the cloud's performance in terms of Task
Scheduling and Load Balancing. Based on the literature
discussed in section III, the authors concluded the following
points to address the research issues that have been resolved FIGURE 2. The flow of related work.
in the proposed work:
• Most researchers do not consider the priority, which is a An organization chart for section III is illustrated in figure
critical factor in Task Scheduling. This will lead to issues 2 above. First, Task Scheduling and Load Balancing are
such as an increase in Makespan time, which is the time discussed in the subsections, highlighting their importance in
taken to schedule a task/request, or an increase in the the cloud environment. Then, recent literature regarding their
number of task rejections and latency [14]–[18]. techniques is provided to highlight the limitations that are
• Although Task Scheduling is one of the main goals of resolved in this proposed work.
providing an efficient Load Balancing and improving A. TASK SCHEDULING & LOAD BALANCING
performance, most researchers focus on one or two
This subsection explains Task Scheduling and Load
aspects. For example, to enhance Load Balancing and
Balancing's concept to highlight how they relate to each other
considers few Task Scheduling parameters. Thus, only a
to optimize cloud resources.
few metrics are taken into consideration to improve the
Load balancing is a method for optimizing the resources of
overall performance. This is an issue as improper Task
virtual machines in the Cloud Computing environment. Load
Scheduling leads to an imbalanced load in the hosts [16],
balancing in the cloud environment is one of the critical
[17], [19], [20]. For example, if tasks arrive
techniques used to ensure an equal distribution of workload
simultaneously following the FCFS algorithm's
and efficient resource utilization. One crucial aspect required
procedure, this could highly increase Makespan as the
in the cloud environment to distribute dynamic workload
task will wait longer to finish executing. Each client may
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
In [27], the authors proposed efficient Scheduling and Load relies on the task's size and overlooks important quality
Balancing algorithms to minimize execution time to benefit parameters, for example, Deadline.
the cloud users and service providers. The proposed algorithm Researchers in [17] presented a multi-objective algorithm
is designed to select the VM with the lowest cost and considers for the improvement of throughput in cloud models. It assigns
the network latency in Data Centers. It chooses the best data a high priority to Virtual Machines with a high value of
center with minimum cost and workload. The proposed Million Instruction Per Second (MIPS). It sorts tasks in
algorithm known as State-Based Load Balancing (SBLB) can descending order by allocating the first task from the list to the
assign tasks to idle hosts dynamically; however, the broker first Virtual Machine and so on. The algorithm follows the
algorithm does not consider SLA to handle dynamic user QoS requirements; however, it considers very few parameters,
requests and resource allocation. The approach also results in such as execution time.
high execution time [28]. A Grouped Tasks Scheduling (GTS) algorithm was
To enhance the quality of service, authors in [21] designed introduced in [20]. It applies QoS parameters such as user
a new QoS-based algorithm which allocates cloudlets with type, expected priority, length, and latency of tasks. Tasks
improved balancing technique to decrease further the with similar parameters will be categorized into five groups
Completion Time of tasks/cloudlets, the Makespan Time of (urgent user & task, urgent user, urgent task, long task, and
Virtual Machines and host. It is great to make sure the system finally normal task). Giving high priority to tasks in the first
stays active, and the workload is balanced; however, it still group, GTS improves latency whenever an urgent number of
results in high Makespan value for VMs and hosts. It is also tasks increases. However, it may not be suitable for tasks that
not scalable in a large-scale environment as the experiment is depend on a particular order or other scheduling tasks.
built for 3 VMs only. Researchers in [29] proposed a priority algorithm based on
Another enhancement to another traditional approach task length to resolve the starvation issue for small tasks.
known as the SJF scheduling algorithm is presented by Giving the highest priority to the smaller tasks optimizes
researchers in [16]. The traditional Shortest Job First (SJF) has resources. The result shows that the waiting time decrease
some limitations. It completes tasks with a small length first, when the number of VMs is increased. The approach may be
resulting in starvation issues as the longer tasks are put in a inefficient when large tasks, and since the length is used, no
waiting status and thus increases waiting time. This is resolved priority is enforced.
by allocating longer tasks to high response VM, and therefore Authors in [30] proposed a distributed LB algorithm with
it can reduce overall Makespan time effectively compared to an adaptive threshold. The authors introduce a starvation
traditional algorithms such as SJF and FCFS. However, in threshold to enforce a transfer policy for the migration process.
both previous approaches, the algorithm does not check the A VM with high delay results in a high starvation value. This
availability or the current load/status of the Virtual machine helps in balancing the load between VMs. Results show that
before allocating tasks to it. Besides that, tasks are being the STLB algorithm can significantly reduce the number of
scheduled using the length parameter, which indicates no migrations compared to the nature-inspired baseline algorithm
priority for the task is applied. Honey-bee behavior.
Another approach that works based on length of task and In [31], the authors presented a CMLB load balancing
user priority is suggested in [19]. Researchers provide a credit algorithm for reallocation of tasks to VMs in case of imbalance
system that works by selecting a middle task, which means it situations. The approach uses the Dragonfly optimization
selects neither the highest nor lowest task length, but it focuses algorithm to define the optimal threshold value. Based on this
on the mid-value. The value is found by taking the difference value, the load of VM is compared and determined. Results
value of the length taken based on the average of all task show that the algorithm has better performance as it migrates
requests; later, it assigns credit to the task. The approach still only three cloudlets than other methods such as Honey-Bee
and dynamic LB.
Dynamic Load Efficient utilization of resources; Uses FCFS for the allocation of (Kumar & Sharma, More optimization to the
Balancing Reduce Makespan; requests; No prioritization 2017) scheduling technique to
(DLBA) [14] applied. consider the QoS.
CA, LA, LAOC Combines both Load Balancing and Low performance; high execution (Naha & Othman, Further improvement to
& SBLB [27] broker techniques; Reduces response time; does not consider SLA. 2016) dynamically allocate
& processing time. resources.
ELBMM [15] Efficient utilization of resources; Does not apply any priority policy (Patel et al., 2015) Improvement needed to
RBLMM [18] lower Makespan. for tasks or VMs. (Shanthan & consider QoS.
Arockiam, 2018)
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
OLB & LBMM Dynamic algorithm; Minimizes the May be slow due to its (Wang et al., 2010) Improvement can be made to
[32] execution time for tasks; Keep every hierarchical nature to process the avoid delays in processing
node busy & improves load requests. user requests.
balancing.
QoS-Based Efficient utilization of system May not be scalable, uses only 3 (Banerjee et al., Further enhancement to
Cloudlet resources; Reduced Makespan; VMs; Still suffer from high 2015) reduce the Makespan & avoid
Allocation Considers Quality of Service; Makespan time; Does not resolve system congestion.
Strategy [21] Balanced workload; Lower balancing situations such as
completion time of Cloudlet. overloading of VMs
MSJF [16] Maximize resource utilization; Sends Task is allocated based on length; (Alworafi & Dhari et Need to consider other
the longest task to the fastest VM; no priority enforced; does not al., 2016) parameters for tasks such as
Manage load balancing between check VM condition before Deadline and must check
VMs. scheduling. whether VM is free or not
before the allocation process.
Credit-Based Reduced Makespan; Resolves issues Does not consider task deadline. (Thomas & G, 2015) More parameters can be
Scheduling [19] for tasks with the same priority. considered to enhance the
scheduling process.
Multi-Objective Reduce wastage of resources; No task priority is enforced; (Lakra & Yadav, Further optimization required
Task Scheduling Improve throughput of datacenter; Considers few QoS parameters. 2015) to reduce Makespan when a
[17] Reduce violations in SLA. larger no. of VMs used.
GTS [20] Considers equal distribution of load; Only works for independent tasks; (Ali & Saroit et al., Further improvement to the
Categorizes and prioritize tasks. Does not consider Deadline. 2016) QoS.
Optimal task Reduces starvation for small tasks; High waiting time for large tasks. (Monika & Jindal, Further enhancement to
scheduling [29] Considers priority of tasks. 2016) reduce waiting time of tasks.
STLB [30] Minimize response time; maximize May not be suitable for dependent (Semmoud et al., Further enhancement to
utilization rate of servers; reduce tasks in scheduling; high 2019) provide better scheduling
overall migration cost; maintain a communication costs. techniques.
stable system.
CMLB [31] Reduce the number of task migration; Can handle tasks only within the (Polepally & More optimization for better
specified threshold limit. Chatrapati, 2017) threshold technique.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
This proposed model's main goal is to provide efficient Overall, the proposed framework supports dynamic
resource allocation in a cloud environment whereby it avoids scheduling and load balancing to fully utilize the CPU and
unbalanced workload in Cloud Computing applications. This fully the cloud resources.
model resolves issues related to workload migration and task B. PROPOSED LOAD BALANCING ALGORITHM
rejection in the cloud. The proposed framework consists of
two layers: In this subsection, the proposed LB algorithm is explained to
• Top Layer: deals with requests from multiple different highlight the assumptions made in the implementation, the
clients (application's users) of both mobile and desktop. algorithm's pseudocode, and finally, the flowchart.
Clients can access the Internet using different devices to The proposed algorithm aims to improve the cloud's
send requests to the cloud. In this layer, the model uses performance by considering both aspects of Task Scheduling
the Cloudlet Scheduler Time Shared algorithm to submit and Load Balancing. It utilizes all available CPUs in machines
tasks in a random order (Arrival Time) and schedule them and schedules tasks appropriately to reduce Makespan,
to Virtual Machines by considering two main parameters: Execution Time, and maximize resource utilization. Below are
Deadline and Completion Time. In Cloud Computing, the assumptions made in the proposed algorithm:
Data Center (DC) can be described as big storage for • One-to-many cloudlets (also known as task or user
cloud servers and data. DC receives requests and sends request) per Virtual Machine (VM).
them to the active load balancer. In this layer of the model, • Cloudlets arrive in a random order (Arrival Time)
the proposed algorithm is implemented as a Load • Each Cloudlet has a length, a time to complete known
Balancer, which acts as the primary balancer in the cloud as Deadline (included in Service Level Agreement
environment to perform migration in the case of violation, document), a completion time, and finally, the arrival
which has not been addressed in the previous literature up time.
to the author's knowledge. • The proposed algorithm checks the completion time
• Bottom Layer: deals with allocation of user requests to for each workload (a total of cloudlets) against the
Virtual Machines (VMs). As the figure illustrates, we Deadline.
have a primary batch of VMs; VM2's status is set to high • If there is any violation, whereby the completion time
priority since it violates the SLA requirement, which exceeds the Deadline, then the proposed algorithm will
means its Completion Time is higher than the Deadline. reconfigure the VM's priority based on its CPU. If it is
Thus, the proposed LBA should apply a migration in a successful state, the cloudlets get scheduled else;
technique to transfer the workload to another available it will migrate the VM's workload.
Virtual Machine by reconfiguring the MIPS of both VMs • Expected Completion Time is calculated by taking the
before and after allocating the resources to them. The cloudlet length (also known as Million instruction per
allocation table is then updated whenever a Virtual second (MIPS)) and dividing it by Virtual Machine
Machine becomes violated or not, along with the number MIPS (also known as CPU).
of requests it’s been allocated. There is a case where there • Initially, all VMs share an equal portion of the
is no SLA violation. Suppose the Time to Complete available CPU; then, it is reconfigured based on the
(TTC) is less than SLA (Deadline) given for tasks to run violation status. The CPU is set to its full utilization in
on VMs. Then, no SLA violation occurs. the proposed algorithm.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
Table II below shows the terms used in the proposed 30: End
algorithm and their meanings.
TABLE II. Denote terms and meaning. As can be seen from the algorithm steps above, there are
input and output to every algorithm. In this research, the input
Term Meaning
is mainly two random values for task length and Deadline,
𝐶𝑖𝑗 The completion time of requests in each VM. which is an essential factor in the SLA document. SLA is an
MIPS𝑗 Millions of instructions per second of VM. important document considered by CSPs that denotes the
number of reductions of SLA violation factors [33] in terms of
𝐿𝑖 Task Length.
deadline constraint, priority, etc. The algorithm's main
𝐷𝑖 Task Deadline.
goal/output is to achieve a workload balance among VMs in
𝑉𝑖𝑗 VM violation cost. cloud systems, migrate and reallocate resources in case of
𝐸𝑥𝑇 Execution Time. SLA violation. Step 5 is to assign an equal portion of MIPs to
𝑀𝑇 Makespan. each VM. MIPS is required to allocate the host CPU. Then,
𝑅𝑈 Resource Utilization.
each task has a completion time, which results from dividing
the total VM length by its MIPS as stated in step 9. To check
for SLA violation, each VM has a violation cost that is
The Pseudocode of the proposed LB Algorithm is provided calculated by deducting the Deadline from completion time,
below. The purpose of providing the pseudocode is to as shown in step 10. If there are 2 VMs, the algorithm checks
illustrate the formulas, the parameters, and the decisions made for the higher violation cost then gives it a high priority. CPU
in this Load Balancing algorithm. will be reconfigured for that VM, and the workload from the
VM is migrated if the MIPS available on the host is
Algorithm: Proposed Load Balancing insufficient to run the VM.
Following figure 4 shows the flow diagram of the proposed
1: Input: Random Integers 𝐿𝑖 and 𝐷𝑖 , where 𝐿 ≥ 𝐷 SLA-LB Algorithm. The steps illustrate the process of Load
2: Output: Mapping of resources (Cloudlets) to appropriate Balancing and Task scheduling, whereby it includes
Virtual Machines (VM) processes, the decisions to be made in the algorithm, and the
3: Begin output of the findings.
4: for each VM
5: Assign an equal portion of MIPS
6: end for
7: for i = 1 to M
8: for j = 1 to N
𝐿
9: 𝐶𝑖𝑗 = 𝑖⁄MIPS
𝑗
10: 𝑉𝑖𝑗 = |𝐶𝑖𝑗 − 𝐷𝑖 |
11: end for
12: end for
13: do until all tasks are allocated to the appropriate VM
14: If 𝑉𝑀𝑠 ≥ 𝑉𝑀𝑠+1 , where 𝑆 ≤ 6 then
15: Reconfigure 𝑉𝑀𝑖 CPU
16: If MIPS available on the host to run VMi is
insufficient, then
17: Migrate Workload
18: If VMi is migrated, then
19: Assign 0
20: Else
21: Recompute 𝐶𝑖𝑗 for each VMi
22: Else
23: Allocate resources to VMi
24: Else
25: No violation occurs
26: End if
27: End do
28: Update the ready queue and expected 𝐶𝑖𝑗 of
corresponding VMi FIGURE 4. Flowchart of the proposed algorithm. Flowchart of
29: Compute Avg. ExT for all tasks, MT for each VMi & RU the proposed algorithm.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
The algorithm's flow starts by assigning random values for Virtual Number of VMs 2-6
Machine
the length of the task. These values are below the threshold of (VM)
Processor speed 9980-15000 MIPS
1000000 and below 2000 for Deadline. These values act as an RAM in a single VM 512 Mb
input to the algorithm, and they make up the workload in cloud
Bandwidth 1000 Mb
systems (requests from clients). Each Virtual Machine is then
Cloudlet Scheduler Time Shared
assigned an equal share of CPU based on the total workload.
By calculating the VM cost, we can determine whether the Number of processor 1
VM has violated SLA requirements by monitoring if the elements (PEs) requirement
completion time is higher than the Deadline. If yes, then the VMM Xen
workload is migrated to another VM, and so on. This way, the Data Center Number of Data Centers 2
algorithm fully utilizes all CPU, and the system workload is
Number of Hosts 1
balanced.
VmScheduler Time Shared
V. IMPLEMENTATION
In this section, the experimental results and implementation B. PERFORMANCE METRICS
details of the proposed LBA algorithm are described.
The performance of the proposed LB algorithm was analyzed
A. SIMULATION SETUP based on three parameters under the cloud environment. The
CloudSim simulation tool is the most popular tool used by following performance matrix is used to measure and evaluate
researchers and developers nowadays for cloud-related issues the performance:
in the research field. It can significantly eliminate the need and 1) Makespan (MT): it is the total time taking to get a
expenses of computing facilities [77] for performance cloudlet scheduled. This is mostly used to measure
evaluation and modeling the research solution. This scheduling algorithms' efficiency with respect to time
simulation tool is an external framework that can be [34][35]. It should be reduced to allow efficient
downloaded and imported to programming software such as execution of tasks and to release the resources for other
Eclipse, NetBeans IDE, Maven etc. To simulate the Cloud tasks. It is measured by using the equations below
Computing environment, the CloudSim toolkit is integrated proposed by authors in [36], where CT denotes cloudlet
into NetBeans IDE 8.2, and the Operating System used is completion time, and n denotes the number of Virtual
Windows 10. Machines.
The entities and computing resources were virtually
modeled to reflect a scenario of scheduling and load balancing 𝑀𝑇 = 𝑀𝑎𝑥(𝐶𝑇)
in a cloud environment to evaluate the proposed algorithm's
performance. The experiments were implemented with 2 ∑ 𝑀𝑎𝑥(𝐶𝑇)
𝑀𝑇𝑎𝑣𝑔 = ( )
Datacenters, 2-6 VMs, and 2-40 cloudlets (tasks) under the 𝑛
simulation platform. The task's length is generated randomly
below an upper threshold of 1000,000 Million Instructions 2) Execution Time (ExT): it is the exact time taken to
(MI). Processor speed, available memory space, and execute the given tasks (cloudlets) on a virtual machine
bandwidth determine the acceptable workload for each VM. [16]. This metric should be reduced to achieve better
The parameters required for the setting of CloudSim are performance of the algorithm. It is measured by using
summarized in Table II and III below. the equations below proposed by authors in [36], where
AcT denotes Cloudlet Actual CPU Time and n denotes
TABLE III. Hardware requirements. the number of Cloudlets.
Component Specification
𝐸𝑥𝑇 = 𝐴𝑐𝑇
Operating System Windows (X64 based Processor) 64-bit OS
Processor Intel® Core ™ CPU @ 1.00 GHz 1.19 GHz ∑ 𝐴𝑐𝑇
𝐸𝑥𝑇𝑎𝑣𝑔 = ( )
RAM 16.0 GB 𝑛
TABLE IV. CloudSim simulator requirements. 3) Resource Utilization (RU): this is another quantitative
metric that depends on the above metrics. It is measured
Type Parameters Value to increase the efficiency in utilizing the resources in the
cloud environment. It is calculated using the equations
Cloudlet Length of tasks (in bytes) Random < upper
(Task) threshold (1000000)
below proposed by authors in [37], where ExT denotes
Total number of tasks 1-40 total execution time, and MT denotes total Makespan. The
average resource utilization can determine how efficient
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
the proposed algorithm in terms of utilizing the CPU. The requests from each other. This can be done by defining
range of this metric is 0 to 1, the maximum value is the the length as a random value to represent the cloud
best case, which is 1, this indicates 100% resource environment's total workload. The length parameter is an
utilization, and the worst-case value is 0, which means the essential input in the experiment to determine the load for
resources are in ideal condition. each Virtual Machine. Based on this parameter, the Time
to Complete requests in each VM can be identified. Based
𝐸𝑥𝑇 on this, we can determine if there’s a violation in SLA.
RU = ( )
𝑀𝑇 3) Deadline: the maximum amount of time given to the task
to execute. It is one of the most important aspects
𝐸𝑥𝑇 considered by CSPs in SLA. In this experiment, each
𝑅𝑈𝑎𝑣𝑔 = ( ) × 100
𝑀𝑇 Cloudlet has a different deadline value, which means each
client gets a different SLA contract based on their needs
VI. RESULTS & DISCUSSION and service expectations from the cloud providers. Thus,
The purpose of carrying this experiment is to prove the it is suggested to use random deadline value instead of
reduction in Makespan, execution time, and the increasing of static. Deadline is an important parameter as it represents
resource utilization in a dynamic cloud environment. During SLA; if the Time to Complete requests exceeds the
the testing of the algorithm, we have considered preemptive Deadline, we can identify that there is a violation in the
scheduling of tasks. This means the task can be interrupted SLA.
during execution if the workload violates SLA, it can be Sample values that make up the workload based on the
migrated to another resource to complete execution, as shown above parameters (Task Length & Deadline) are illustrated in
in figure 5. During the scheduling process, several QoS Table IV below.
performance parameters of cloudlets are considered, such as:
1) Arrival Time: indicates the time cloudlets arrive or when TABLE V. A sample of some task properties.
the algorithm receives the user request. This is known as Cloudlet Task File Output No. of
the cloudlet start time in the CloudSim environment. In Deadline Size CPU
ID Length Size
CloudSim, by default, all cloudlets arrive at the broker 0 350483 219 300 300 1
at the same arrival time. In this experiment, this has been 1 48295 657 300 300 1
modified to make changes for postponing the 2 363835 1995 300 300 1
submission of cloudlets; this is known as a random 3 752057 710 300 300 1
Arrival Time parameter. The broker will then assign the 4 896159 317 300 300 1
cloudlets in a random order to the VMs based on the 5 560818 654 300 300 1
code implemented in this method. Using this parameter, 6 764075 1543 300 300 1
we can design an algorithm to function in a dynamic 7 578332 1966 300 300 1
environment where the arrival time can be different for 8 295922 1837 300 300 1
each request. 9 735446 1249 300 300 1
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
40 896.0297375 638.7887158 71
As shown in Table IV, the algorithm's performance varies
in each case the cloudlets are increased. The results obtained
for 2 VMs reveal the algorithm has a minimum and maximum As shown in Table VII, the results obtained for 6 VMs
Makespan of 261 ms and 893 ms, respectively, whereas the reveal the algorithm has a minimum and maximum Makespan
Execution time is 196 ms and 607 ms, respectively. of 304 ms and 896 ms, respectively. In contrast, the Execution
time is 252 ms and 639 ms, respectively.
TABLE VII. Results were obtained for 4 VMs with 10 To 40 tasks.
The results are graphically represented in figure 6 (a) and
Number Average Average Resource (b), where the x-axis represents the number of cloudlets (tasks)
of Makespan Execution Time Utilization and the y-axis represents the Makespan or Execution time in
cloudlets (ms) (ms) (%)
10 270.6467798 205.598844 76
milliseconds. The graphs conclude that these parameters
(execution time and Makespan) are affected when the number
15 390.3435289 289.4019536 74 of cloudlets and VMs increases. However, it does not result in
20 514.1474467 368.5742998 72
a huge difference, which shows the proposed LB algorithm's
stable performance in such conditions. It is concluded that
25 618.2197241 427.3171608 69 Makespan increases with the number of cloudlets. In contrast,
Execution time depends on the cloudlet Actual CPU time,
30 753.4639850 534.8518396 71
which is the total execution time of the Cloudlet in a cloud
35 870.0429147 630.6373105 72 resource (aka. VM). Hence, it can fluctuate in each case based
on this.
40 894.851356 614.8845139 69
6 VMs
700
Average Makespan (ms)
500
600
500 400
400 300
300
200
200
100
100
0 0
10 15 20 25 30 35 40 10 15 20 25 30 35 40
Number of Cloudlets Number of Cloudlets
FIGURE 6. (a) Average Makespan for 40 tasks; (b) Average Execution time for 40 tasks.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
The proposed algorithm also improves resource utilization (tasks). As can be seen, results are obtained for 40 tasks in
in the cloud environment. As shown in figure 7 below, the total. The graph shows that Makespan in our proposed
algorithm results in an average of 77% RU for 6 VMs and 40 algorithm increases in the case of 25-40 tasks; this is due to
tasks. The RU value can vary in each case due to the different the huge range of task length considered in the experiment.
Maksepan and Execution time. The proposed LB algorithm handles requests of larger tasks of
1000,000 MI length, whereas Dynamic LBA is only within
Average Resource Utilization for 40 Cloudlets 400,000 MI. Since Makespan depends on the load of the VMs,
84%
2 VMs
4 VMs
increasing the task length will increase the Makespan as well.
82%
6 VMs However, if a smaller size is considered in our proposed
Resource Utilization (Percentage)
Makespan Comparison
76% 900
Proposed LBA
Dynamic LBA
74%
800
72%
700
Makespan (ms)
70%
68% 600
10 15 20 25 30 35 40
Number of Cloudlets
500
FIGURE 7. Average Resource Utilization for 40 tasks.
400
VII. RESULTS COMPARISON
To analyze the results of the recent research algorithm and the 300
10 15 20 25 30 35 40
proposed algorithm. The main parameter considered for Number of Cloudlets
comparison in this research is Makespan Time. The main
objective of the proposed Load Balancing algorithm is to FIGURE 8. Experimental results comparison for Makespan time
at 6 VMs with existing Dynamic LBA algorithm.
enhance the utilization and allocation of cloud resources and
minimize the time taken to schedule a task for improving the Results are also compared based on resource utilization,
performance of the cloud applications. This section provides a as shown in figure 9, where the y-axis represents the
general comparison of the existing related work and the Resource utilization in percentage value, and the x-axis
proposed algorithm in this research. represents the number of cloudlets (tasks). In [14] Dynamic
The proposed work has been compared with the Dynamic LBA, the figure shows average resource utilization of
Load Balancing algorithm proposed in [14]. This algorithm approximately 76% for 40 tasks in 5 VMs, whereas our
was developed in 2017 to efficiently allocate the cloudlets to proposed algorithm results in 78% utilization of resources in
Virtual Machines and optimize the Makespan. It efficiently 6 VMs, which is slightly improved.
utilizes the resources in the cloud environment. This algorithm Resource Utilization Comparison
is chosen for comparison since it is closely related to the 86%
Dynamic LBA
objectives of this research and the implementation setup. Part 84% Proposed LBA
Resource Utilization (percentage)
algorithm has utilized the First Come First Serve (FCFS) 74%
method for scheduling tasks, resulting in higher waiting time 72%
for tasks as it does not provide any priority. The proposed LB
70%
algorithm considers different arrival times and deadlines to
68%
follow up with the SLA document in line with QoS parameters
for better service in cloud applications. 66%
10 15 20 25 30 35 40
The results are compared based on Makespan, as shown in Number of Cloudlets
figure 8, where the y-axis represents the Makespan value in
FIGURE 9. Experimental results comparison for Resource
milliseconds, and the x-axis represents the number of cloudlets Utilization with existing Dynamic LBA algorithm.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
Funding Statement [14] M. Kumar and S. C. Sharma, “Dynamic load balancing algorithm
to minimize the makespan time and utilize the resources
Taif University Researchers Supporting Project number effectively in cloud environment,” Int. J. Comput. Appl., vol. 42,
(TURSP-2020/98), Taif University, Taif, Saudi Arabia. no. 1, pp. 108–117, 2017, doi: 10.1080/1206212X.2017.1404823.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
Algorithm for Cloud Computing Throughput Optimization,” [32] S.-C. Wang, K.-Q. Yan, W.-P. Liao, and S.-S. Wang, “Towards a
Procedia Comput. Sci., vol. 48, pp. 107–113, 2015, doi: Load Balancing in a Three-level Cloud Computing Network,” in
10.1016/j.procs.2015.04.158. 2010 3rd International Conference on Computer Science and
Information Technology, 2010, pp. 108–113, doi:
[18] B. J. H. Shanthan and L. Arockiam, “Resource Based Load 10.1109/ICCSIT.2010.5563889.
Balanced Min Min Algorithm(RBLMM) for static Meta task
Scheduling in Cloud,” in IC-ACT’18, 2018, pp. 1–5. [33] A. Thakur and M. S. Goraya, “A taxonomic survey on load
balancing in cloud,” J. Netw. Comput. Appl., vol. 98, no.
[19] A. Thomas, G. Krishnalal, and V. P. Jagathy Raj, “Credit based September 2017, pp. 43–57, 2017, doi:
scheduling algorithm in cloud computing environment,” Procedia 10.1016/j.jnca.2017.08.020.
Comput. Sci., vol. 46, no. Icict 2014, pp. 913–920, 2015, doi:
10.1016/j.procs.2015.02.162. [34] J. K. Konjaang, F. H. Ayob, and A. Muhammed, “An optimized
max-min scheduling algorithm in cloud computing,” J. Theor.
[20] H. Gamal El Din Hassan Ali, I. A. Saroit, and A. M. Kotb, Appl. Inf. Technol., vol. 95, no. 9, pp. 1916–1926, 2017.
“Grouped tasks scheduling algorithm based on QoS in cloud
computing network,” Egypt. Informatics J., vol. 18, pp. 11–19, [35] A. Dhari and K. I. Arif, “An Efficient Load Balancing Scheme for
2017, doi: 10.1016/j.eij.2016.07.002. Cloud Computing,” Indian J. Sci. Technol., vol. 10, no. 11, pp. 1–
8, 2017, doi: 10.17485/ijst/2017/v10i11/110107.
[21] S. Banerjee, M. Adhikari, S. Kar, and U. Biswas, “Development
and Analysis of a New Cloudlet Allocation Strategy for QoS [36] Y. Vijay and B. V. Ghita, “Evaluating cloud computing
Improvement in Cloud,” Arab. J. Sci. Eng., vol. 40, no. 5, pp. scheduling algorithms under different environment and
1409–1425, 2015, doi: 10.1007/s13369-015-1626-9. scenarios,” in ICCCNT, 2017, pp. 1–5, doi:
10.1109/ICCCNT.2017.8204070.
[22] R. Kaur and P. Luthra, “Load Balancing in Cloud System using
Max Min and Min Min Algorithm,” Int. J. Comput. Appl. (0975 – [37] A. Pradhan and S. Kishoro Bisoy, “A Novel Load Balancing
8887), pp. 31–34, 2014. Technique for Cloud Computing Platform based on PSO,” J. King
Saud Univ. - Comput. Inf. Sci., 2020, doi:
[23] A. R. Arunarani, D. Manjula, and V. Sugumaran, “Task 10.1016/j.jksuci.2020.10.016.
scheduling techniques in cloud computing: A literature survey,”
Futur. Gener. Comput. Syst., vol. 91, pp. 407–415, 2019, doi: [38] Z. A. Almusaylim and NZ. Jhanjhi, "Comprehensive Review:
10.1016/j.future.2018.09.014. Privacy Protection of User in Location-Aware Services of Mobile
Cloud Computing," Wireless Personal Communications, pp. 1-24,
[24] P. Kathalkar, “Challenges & Issues in Load Balancing in Cloud 2019.
Computing,” Int. J. Res. Appl. Sci. Eng. Technol., vol. 6, no. 4,
pp. 963–968, 2018, doi: 10.22214/ijraset.2018.4163. [39] Almusaylim, Z. A., Zaman, N., & Jung, L. T. (2018, August).
Proposing a data privacy aware protocol for roadside accident
[25] S. Afzal and K. Ganesh, “A Taxonomic Classification of Load video reporting service using 5G in Vehicular Cloud Networks
Balancing Metrics : A Systematic Review,” 33rd Indian Eng. Environment. In IEEE In 2018 4th International Conference on
Congr., no. January, 2019. Computer and Information Sciences (ICCOINS) (pp. 1–5).
[26] S. Afzal and G. Kavitha, “Load balancing in cloud computing – Authors Biographies:
A hierarchical taxonomical classification,” J. Cloud Comput. Adv. Dalia Abdulkareem Shafiq is
Syst. Appl., vol. 8, no. 1, 2019, doi: 10.1186/s13677-019-0146-7. currently pursuing her master’s
degree in Taylor’s University in the
[27] R. K. Naha and M. Othman, “Cost-aware service brokering and
performance sentient load balancing algorithms in the cloud,” J.
field of Cloud computing. She has
Netw. Comput. Appl., vol. 75, pp. 47–57, 2016, doi: obtained her bachelor’s degree in
10.1016/j.jnca.2016.08.018. computer science. She has great
research and design skill. She is
[28] P. Kumar and R. Kumar, “Issues and challenges of load balancing publishing with conferences and
techniques in cloud computing: A survey,” ACM Comput. Surv., journal, and she has vast coaching experience as well.
vol. 51, no. 6, 2019, doi: 10.1145/3281010.
[29] Monika and A. Jindal, “Optimization of Task Scheduling Noor Zaman (NZ Jhanjhi) is
Algorithm through QoS Parameters for Cloud Computing,” in currently working as Associate
ICAET, 2016, vol. 57, pp. 1–4, doi: Professor at School of Computer
10.1051/matecconf/20165702009.
Science and Engineering, Taylor’s
[30] A. Semmoud, M. Hakem, B. Benmammar, and J. C. Charr, “Load
University, Malaysia. Besides of
balancing in cloud computing environments based on adaptive teaching, research, and
starvation threshold,” Concurr. Comput. Pr. Exper, pp. 1–14, administrative responsibilities, he is
2019, doi: 10.1002/cpe.5652. heading the Cybersecurity research
Cluster, where he is supervising a
[31] V. Polepally and K. Shahu Chatrapati, “Dragonfly optimization
and constraint measure-based load balancing in cloud
great number of Postgraduate students mainly in the
computing,” Cluster Comput., vol. 22, pp. 1099–1111, 2019, doi: cybersecurity for Data Science. Cybersecurity research
10.1007/s10586-017-1056-4. cluster has extensive research collaboration globally with
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI
10.1109/ACCESS.2021.3065308, IEEE Access
several professional. A great number of postgraduate of higher learning, the Vice President of educational
students are graduated under his supervision. consultancy services, 15 years in commercial companies as
Dr NZ Jhanjhi is Associate Editor and Editorial a Software Engineer, a Systems Analyst, and a Computer
Assistant Board for several reputable journals including Software Developer, and IT/MIS Consultancy and Training.
IEEE Access Journal, PC member for several IEEE
conferences worldwide, and guest editor for the reputed MOHAMMED A. ALZAIN received
indexed journals. Active reviewer for a series of Q1 journals, the bachelor’s degree in computer
has been awarded globally as a top 1% reviewer by Publons science from King Abdulaziz
(Web of Science). He has high indexed publications in
University, Saudi Arabia, in 2004, the
WoS/ISI/SCI/Scopus, and his collective research Impact
factor is more than 150 points. He has international Patents master’s degree in information
on his account, edited/authored more than 22 research books technology from La Trobe University,
published by world-class publishers. He has a great Melbourne, VIC, Australia, in 2010,
experience of supervising and co-supervising postgraduate and the Ph.D. degree from the
students, an ample number of PhD and Master students Department of Computer Science and Computer
graduated under his supervision. He is an external Engineering, La Trobe University, in September 2014. He is
PhD/Master thesis examiner/evaluator for several
currently an Associate Professor with the College of
universities globally. He has completed more than 21
international funded research grants successfully. He has Computers and Information Technology, Taif University,
served as Keynote speaker for several international Saudi Arabia. His research interests include cloud computing
conferences, presented several Webinars worldwide, chaired security, multimedia security, image encryption,
international conference sessions. He has achieved steganography, and medical image processing.
consecutively higher performance award.
This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/