ScienceDirect Procedia Computer Science 00 (2018) 000–000 ScienceDirect
Available online at www.sciencedirect.com
Available online at www.sciencedirect.com
www.elsevier.com/locate/procedia
ScienceDirect
www.elsevier.com/locate/procedia
Procedia Computer Science 00 (2018) 000–000
Procedia Computer Science 135 (2018) 248–258
3rd International Conference on Computer Science and Computational Intelligence 2018 3rd International Conference on Computer Science and Computational Intelligence 2018
EATSVM: Energy-Aware Task Scheduling on Cloud Virtual EATSVM: Energy-AwareMachines Task Scheduling on Cloud Virtual Machines Leila Ismail*, Huned Materwala Leila Ismail*, Huned Materwala
College of Information Technology, UAE University, Al Ain, UAE
Abstract
College of Information Technology, UAE University, Al Ain, UAE
The pervasive adoption of cloud computing services and applications at a rapid rate makes the underlying data centers exacerbate Abstract the problems like carbon footprint and the operational cost, caused by the energy consumption. Various hardware-centric and software-centric approaches are computing proposed inservices the literature to reduceatthe energy of the cloud centers. Task The pervasive adoption of cloud and applications a rapid rateconsumption makes the underlying datadata centers exacerbate scheduling algorithms arefootprint software-centric approaches cost, to reduce consumption in cloud computing systems. The the problems like carbon and the operational causedthe by energy the energy consumption. Various hardware-centric and majority of theseapproaches algorithms focus on server to idle servers consumption that reduce energy optimization. In software-centric are proposed in consolidation the literature leading to reduce the energy of theefficiency cloud data centers. Task this paper, we propose an Task Schedulingtoalgorithm on energy cloud Virtual Machines that assigns a task to scheduling algorithms areEnergy-Aware software-centric approaches reduce the consumption in (EATSVM) cloud computing systems. The the VM where thealgorithms increase infocus energy is the least, considering both active and idle VMs.efficiency The algorithm also takes majority of these on consumption server consolidation leading to idle servers that reduce energy optimization. In into paper, consideration the increase in the energy consumption the already tasks on the VM (EATSVM) due to increase their execution this we propose an Energy-Aware Task Schedulingofalgorithm on running cloud Virtual Machines thatinassigns a task to time, while assigning a new in task to thatconsumption VM. We analyze performance our algorithm a heterogeneous cloud environment the VM where the increase energy is the the least, consideringofboth active andinidle VMs. The algorithm also takes with consideration increasing number of tasks compare the energy-savings our algorithm with of increase Energy inConscious Task into the increase in theand energy consumption of the already of running tasks on the VMthat due to their execution Consolidation (ECTC)a algorithm. resultsthe demonstrate that achieves energy-saving cloud in a heterogeneous time, while assigning new task toOur thatexperimental VM. We analyze performance ofEATSVM our algorithm in a heterogeneous environment cloud-computing environment. with increasing number of tasks and compare the energy-savings of our algorithm with that of Energy Conscious Task Consolidation (ECTC) algorithm. Our experimental results demonstrate that EATSVM achieves energy-saving in a heterogeneous cloud-computing environment. © 2018 The Authors. Published by Elsevier Ltd. © 2018 The Authors. by Elsevier Ltd. This is an open accessPublished article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Selection andAuthors. peer-review underby responsibility © 2018 The Published Elsevier Ltd.of the 3rd International Conference on Computer Science and Computational Selection and peer-review under responsibility of the 3rd International Conference on Computer Science and Computational Intelligence 2018. This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Intelligence 2018. Selection and peer-review under responsibility of the 3rd International Conference on Computer Science and Computational Keywords: Cloud Computing; Virtual Machines; Energy-Aware Task Scheduling; Energy Optimization Intelligence 2018. Keywords: Cloud Computing; Virtual Machines; Energy-Aware Task Scheduling; Energy Optimization
* Corresponding author: E-mail address:
[email protected] * Corresponding author: 1877-0509 © 2018 The Authors. Published by Elsevier Ltd. E-mail address:
[email protected] This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Selection peer-review under responsibility of the 3rdLtd. International Conference on Computer Science and Computational Intelligence 2018. 1877-0509and © 2018 The Authors. Published by Elsevier This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Selection and peer-review under responsibility of the 3rd International Conference on Computer Science and Computational Intelligence 2018. 1877-0509 © 2018 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY-NC-ND license (https://creativecommons.org/licenses/by-nc-nd/4.0/) Selection and peer-review under responsibility of the 3rd International Conference on Computer Science and Computational Intelligence 2018. 10.1016/j.procs.2018.08.172
2
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
249
1. Introduction Cloud computing has become a very promising paradigm for both consumers and service providers allowing convenient, on-demand network access to a shared pool of configurable computing resources. These resources, mainly distributed and heterogeneous, can be rapidly provisioned and released with minimal management effort or service provider interaction [1]. The data center traffic is exploding with the rapid growth of cloud applications and it is projected that the global cloud data center traffic will increase linearly from 6 zettabytes (ZB) in 2016 to reach 19.5 ZB by the year 2021 [2]. Consequently, cloud computing infrastructure must maintain large-scale data centers, consisting of thousands of computing nodes that consume a large amount of electrical power. According to the report by Natural Resources Defense Council (NRDC) in the USA [3], the data centers used 91 billion kWh (Kilo Watt Hours) of energy consumption in 2013, which is equivalent to 34 large coal-fired plants. The energy consumption of data centers is expected to reach around 140 billion of kWh by 2020 (53 % increase), the equivalent annual output of 50 power plants, costing the American businesses $13 billion annually in electricity bills and emitting nearly 100 million metric tons of carbon pollution per year. Driven by the cloud increasing operational cost due to high-energy consumption and the awareness about global warming, many efforts have been done to reduce the energy consumption of data centers. The energy efficiency is improved by improving hardware components architecture, using efficient power supply options, designing measures for efficient air handling [4], and cooling measures [4], [5]. However, the amount of energy consumed by the computing resources remains a serious concern, due to high energy consumption caused by either inefficient resource utilization or keeping most of the servers idle. Studies show that the idle servers consume about 50-70% of their peak power [6], [7]. In response to this, many task scheduling algorithms [8]–[16] for cloud computing systems have been proposed in the literature to reduce the energy consumption. Most of these works propose an algorithm for assigning a task to an appropriate VM, without considering the ongoing tasks already running on that VM. The energy-aware scheduling algorithm proposed in [16] considers other running tasks. However, the algorithm was proposed and evaluated for a homogeneous cloud model. To our knowledge, there is no work in the literature on energy-aware task scheduling for a heterogeneous cloud environment, considering the idle servers and the utilization of the active servers while assigning a task to the VM. In this paper, we propose an algorithm for Energy-Aware Task Scheduling on Cloud Virtual Machines (EATSVM) for a green cloud computing. EATSVM assigns a task to the VM which gives the least value of increase in energy consumption, provided by all the active and idle VMs. The algorithm also considers the increase in the energy consumption of the ongoing tasks on that VM due to the increase in their execution time, while assigning a new task to that VM. The main contributions of the paper are summarized as follows: • • • •
We propose an energy-aware task scheduling algorithm for cloud virtual machines EATSVM for a heterogeneous cloud-computing environment. Our proposed algorithm considers both active and idle VMs to select a VM to run a task. In addition, the algorithm also accounts for the increase in the energy consumption of the ongoing tasks on a VM, while assigning a new task to that VM. We evaluate the performance of EATSVM in terms of energy-savings on top a simulated cloud-computing environment and compare EATSVM algorithm with the ECTC algorithm. Our experimental results show the promising energy-savings capability of EATSVM when compared with the ECTC algorithm. The execution time for the task scheduled using EATSVM and ECTC are also compared in our experimental environment.
The rest of the paper is structured as follows. Section 2 overviews the related works. The system model considered for this study is described in section 3. Our proposed algorithm is explained in section 4. The experiments and the performance evaluation in terms of energy-savings are presented in section 5. Section 6 concludes the work.
250
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila. Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
3
2. Related Works As the energy consumption of the cloud computing system has become one of the most crucial issues for both the environment and the cloud operational cost, there have been many research efforts conducted by both industry and academia to reduce the energy of cloud underlying data centers. Consequently, various energy-aware task scheduling algorithms [8]–[16]. In [8], a Power Best Fit algorithm is proposed based on the Dynamic Voltage and Frequency Scaling (DVFS). The algorithm is based on the local greedy search approach, which uses the least power consumption increment method to schedule a task on a VM. The task scheduling algorithm in [9] is a bi-objective minimization problem with energy consumption and the makespan as the scheduling criteria. The algorithm defines a fitness function based on these criteria and uses the genetic algorithm to make the optimal decision of assigning a task to a VM. Reference [10] focuses on tasks consolidation by modelling the energy consumption of the data center according to the task response time and the minimum number of servers required to meet the task deadline as an integer programming optimization problem. Load balancing mechanism adopted in [11] deal with the energy reduction issue by proposing a scheduling solution based on the communication demands of the network. The algorithm selects the sever having the least value of energy function, from the group of servers in a rack selected based on the traffic demands of the application. The issue of minimizing the power consumption in a data center servers and improving load balancing simultaneously was considered in [12]. In [13], the energy-aware task scheduling algorithm is based on tasks consolidation and considers the task’s deadlines as the algorithm constraint. The selection of the VM is based on the VM speed. The lower the speed of the VM, the less is the energy consumed by that VM. Consequently, the algorithm assigns the task to the VM having the minimal speed, while adhering to the task’s deadline. The tasks consolidation in [14] is based on the two-dimensional bin-packing approach with the CPU and disk usage as two main characteristics. The algorithm attempts to consolidate both energy consumption and performance based on the Pareto optimal points determined from profiling energy-training data set collected from CPU and disk usages. The resource allocation is then achieved using the Euclidean distance between the current allocation and the optimal point at each server. Resource utilization is maximized by ECTC proposed in [15], that assigns each task to the resource on which the energy consumption for executing the task is explicitly or implicitly minimized. For all the active resources, the algorithm assigns the task to the resource where the overlapping time of the task to be assigned and the ongoing tasks on the resource is maximum. 3. System Model The targeted computing platform in this work is a cloud computing system consisting of a set m heterogeneous VMs connected to a cloud broker as shown in Figure 1. The VMs has the information about its clock speed (CS) represented in GHz and processing speed represented in Million Instructions Per Second (MIPS) as in the Amazon Elastic Cloud [16]. A cloud broker schedules the tasks on the VMs in a way that the energy consumption of the cloud system is the minimum. The communication links between the broker and the VMs are assumed to have the same speed. The cloud users submit their tasks to the cloud broker, which then assigns a user’s task to a suitable VM based on an energy-aware scheduling policy. Each incoming task has an execution time proportional to its length in Million Instructions (MI), and a resource requirement in terms of CPU utilization.
4
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
251
Fig. 1. Cloud Platform Model.
The percentage of a VM utilization for a task depends on the clock speed of the VM. The higher the clock speed of a VM, the lower is the task CPU utilization on that VM. In this work, the VM with the highest clock speed is selected as the reference VM. The ratio of the CPU utilization of a task on a VM to its CPU utilization on a reference VM is inversely proportional to their corresponding CS [17]. Therefore, the CPU utilization of a task on a VM is calculated using equation 1: 𝑈𝑈𝑗𝑗,𝑖𝑖 = (𝑈𝑈𝑗𝑗 𝑟𝑟𝑟𝑟𝑟𝑟 ∗ 𝐶𝐶𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟 ) /𝐶𝐶𝑆𝑆𝑖𝑖
(1)
𝐶𝐶𝐶𝐶(𝑡𝑡𝑗𝑗,𝑖𝑖 )ൌ𝐿𝐿(𝑡𝑡𝑗𝑗 )/𝑆𝑆𝑖𝑖
(2)
𝐸𝐸𝐽𝐽,𝑖𝑖 = 𝑃𝑃(𝑈𝑈𝑗𝑗,𝑖𝑖 ) ∗ 𝐶𝐶𝐶𝐶(𝑡𝑡𝑗𝑗,𝑖𝑖 )
(3)
Where Uj,i is the utilization of the task tj on the VM vmi, UJref is the utilization of the task tj on the reference VM, 𝐶𝐶𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟 and 𝐶𝐶𝑆𝑆𝑖𝑖 are the clock speed of the reference VM and vmi respectively. Depending on a VM’s CS, the completion time of a task is calculated as follows:
Where 𝐶𝐶𝐶𝐶(𝑡𝑡𝑗𝑗,𝑖𝑖 ) is the completion time of the task tj executing alone on the VM vmi, 𝐿𝐿(𝑡𝑡𝑗𝑗 ) is the length of the task tj, 𝑆𝑆𝑖𝑖 is the processing speed of the VM vmi. The energy consumption when executing a task on a VM is calculated by multiplying the power consumption of that task corresponding to its CPU utilization and the completion time of that task on that VM. The energy consumption Ej,i of a task tj executing on a VM vmi having utilization Uj,i and completion time CT(tj,i) is calculated using equation 3:
Where 𝑃𝑃(𝑈𝑈𝑗𝑗,𝑖𝑖 ) is the power consumption corresponding to the CPU utilization Uj,i. The power consumption corresponding to CPU utilization is calculated using the interpolation method [18] as follows: 𝑃𝑃(𝑈𝑈) = (𝑃𝑃(𝑈𝑈1 ) + (
(𝑃𝑃(𝑈𝑈2 )−𝑃𝑃(𝑈𝑈1 )) 10
∗ (𝑈𝑈 −
𝑈𝑈1 10
) ∗ 100))
(4)
Where P(U) is the power consumption at CPU utilization U, U1 is the floor function of U, and U2 is the ceiling function of U.
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila. Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
252
5
4. Proposed Algorithm In this section, we explain the proposed energy-aware task scheduling algorithm EATSVM along with an example. The EATSVM places a task on a VM in a way that the overall increase in energy consumption of the cloud system is minimal when executing that task. For an incoming task, the algorithm computes its energy consumptions on all the VMs (both active and idle) and calculates an energy function for each VM. The algorithm then places the task on a VM having the least value of energy function. The energy function developed also considers the increase in the energy consumption of the ongoing tasks on a VM along with the energy consumption of the new incoming task placed on that VM. This is explained with the help of an example. Consider a VM executing two tasks tj-1 and tj as shown in the Figure 2.
Fig. 2. Arrival and Completion Time of Two Tasks Running in Parallel.
The task tj-1 arrives at the arrival time AT(tj-1) on the VM vmi having a processing speed Si. The algorithm computes its completion time CT(tj-1), as shown in Figure 2, using equation 2. When another task tj arrives on the same VM, while tj-1 is still executing, the processing speed of the VM is divided between the two tasks. Consequently, the completion time of ongoing task tj-1 will be increased to NCT(tj-1) as shown in the figure. The increase in the completion time of tj-1 is denoted by 𝜟𝜟 in the figure, which is calculated using equation 5. 𝜟𝜟 = 𝐶𝐶𝐶𝐶(𝑡𝑡𝑗𝑗−1 ) − 𝐴𝐴𝐴𝐴(𝑡𝑡𝑗𝑗 )
(5)
Where AT(tj) is the arrival time of task tj. The new completion time of the task tj-1 is defined as the completion time of the task tj-1 increased by 𝜟𝜟 as stated in equation 6. 𝑁𝑁𝑁𝑁𝑁𝑁(𝑡𝑡𝑗𝑗−1,𝑖𝑖 ) = 𝐶𝐶𝐶𝐶(𝑡𝑡𝑗𝑗−1,𝑖𝑖 ) + 𝜟𝜟
(6)
Now depending on the length of the task tj, the task may complete its execution before the execution of the task tj(Case 1) or after the execution of the task tj-1 (Case 2). Assuming Case 1, the completion time of the task tj is calculated using equation 7. 1
𝐶𝐶𝑇𝑇 ′ (𝑡𝑡𝑗𝑗 ) = ((
𝐿𝐿(𝑡𝑡𝑗𝑗 ) 𝑆𝑆𝑖𝑖
) ∗ 𝑛𝑛𝑖𝑖 )
(7)
6
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
253
Where ni is the number of tasks running on the VM vmi. The rationale behind multiplying by 𝑛𝑛𝑖𝑖 is that the processing speed of the virtual machine vmi will be divided among n tasks running in parallel, increasing the completion time of all the tasks running on that VM. Case 1: CT’(tj) < NCT(tj-1) If the value of CT’(tj) is smaller than the value of NCT(tj-1) then, tj completes its execution before the ongoing task tj-1 is executed completely. In this case, the completion time of tj will be as defined in equation 7. Case 2: CT’(tj) > NCT(tj-1) If the value of CT’(tj) is bigger than the value of NCT(tj-1) then, the task tj completes its execution after the execution of the ongoing task tj-1. In this case, the completion time of tj is divided into two parts: the part which is running in parallel with the ongoing task tj-1 and the part which is running alone when the task tj-1 has completed its execution. Consequently, the completion time of the task tj is defined as follows: 𝜏𝜏2 = 𝜏𝜏0 + 𝜏𝜏1
(8)
𝜏𝜏0 = 𝑁𝑁𝑁𝑁𝑁𝑁(𝑡𝑡𝑗𝑗−1 ) − 𝐴𝐴𝐴𝐴(𝑡𝑡𝑗𝑗 )
(9)
Where τ0 is the time when the task tj is executed in parallel with the task tj-1, τ1 is the time when the task tj is executed alone, and τ2 is the total execution time of the task tj. The value for τ0 and τ1 are calculated using equations 9 and 10 respectively.
𝜏𝜏1 =
(𝐶𝐶𝑇𝑇 ′(𝑡𝑡𝑗𝑗)−𝑁𝑁𝑁𝑁𝑁𝑁(𝑡𝑡𝑗𝑗−1 ))
(10)
𝑛𝑛𝑖𝑖
The energy function used to place the tasks in our mode is defined by equation 1l. A task is assigned to the VM having the minimal value of energy function. 𝑃𝑃(𝑈𝑈𝑗𝑗
𝑟𝑟𝑟𝑟𝑟𝑟
∗ 𝐶𝐶𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟 )/𝐶𝐶𝑆𝑆𝑖𝑖 ) ∗ 𝐶𝐶𝐶𝐶(𝑡𝑡𝑗𝑗,𝑖𝑖 )
𝑃𝑃 ((𝑈𝑈𝑗𝑗−1
𝐸𝐸𝐹𝐹𝑗𝑗,𝑖𝑖 = {
𝑟𝑟𝑟𝑟𝑟𝑟
(𝑃𝑃 ((𝑈𝑈𝑗𝑗−1
+ 𝑈𝑈𝑗𝑗
𝑟𝑟𝑟𝑟𝑟𝑟
𝑟𝑟𝑟𝑟𝑟𝑟
+ 𝑈𝑈𝑗𝑗
)∗(
𝑟𝑟𝑟𝑟𝑟𝑟
𝐶𝐶𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟 𝐶𝐶𝑆𝑆𝑖𝑖
)∗(
)) ∗ 𝐶𝐶𝑇𝑇 ′ (𝑡𝑡𝑗𝑗,𝑖𝑖 )
𝐶𝐶𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟 𝐶𝐶𝑆𝑆𝑖𝑖
, 𝑚𝑚𝑚𝑚𝑚𝑚ℎ𝑖𝑖𝑖𝑖𝑖𝑖 𝑖𝑖𝑖𝑖 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖
)) ∗ 𝜏𝜏0 ) + (𝑃𝑃 (
𝑈𝑈𝑗𝑗
𝑟𝑟𝑟𝑟𝑟𝑟
∗𝐶𝐶𝑆𝑆𝑟𝑟𝑟𝑟𝑟𝑟
𝐶𝐶𝑆𝑆𝑖𝑖
, 𝐶𝐶𝐶𝐶’(𝑡𝑡𝑗𝑗 ) < 𝑁𝑁𝑁𝑁𝑁𝑁(𝑡𝑡𝑗𝑗−1 )
) ∗ 𝜏𝜏1 ) , 𝐶𝐶𝐶𝐶’(𝑡𝑡𝑗𝑗 ) < 𝑁𝑁𝑁𝑁𝑁𝑁(𝑡𝑡𝑗𝑗−1 )
The pseudo-code of the proposed algorithm EATSVM is shown in figure 3.
(11)
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila. Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
254
7
Fig. 3. Pseudo-Code of EATSVM Algorithm.
To illustrate the algorithm described above, we consider the following example. The cloud model consists of five VMs as described in Table 1. The table shows the specifications of the VMs in terms of clock speed and MIPS rating, as well as the set of ongoing tasks (OTs) running on each VM – if any. We need to schedule five incoming tasks specified in Table 2 on these VMs using EATSVM algorithm. Every task is represented by a tuple that consists of the task’s arrival time, length in terms of MIPS, and CPU utilization on the reference VM. VM1 is selected as the reference machine in this example. Table 1. Specification of Clock Speed, MIPS Rating and Ongoing Tasks of VMs Used in the Study. Virtual Machine
Clock Speed (GHz)
MIPS Rating
Ongoing Task (OT)
VM1
2.80
2200
OT1 (0, 8000, 35%)
VM2
2.59
1800
-
VM3
2.60
2000
-
VM4
2.30
1500
OT2 (0, 8000, 32%)
VM5
2.40
1750
OT3 (0, 9000, 39%)
Table 2. Arrival Time, Length and CPU Utilization of the Tasks. Task
Arrival Time (s)
Length (MI)
CPU Utilization
T1 T2 T3 T4 T5
3 6 9 12 15
6500 12500 10200 9750 11300
30% 40% 30% 40% 30%
On arrival of task T1, the algorithm computes the energy function for placing that task on all VMs, using equation 11, where VM1, VM4, and VM5 are active, while VM2 and VM3 are idle. The power consumption for the energy function is calculated using equation 4 for T1 CPU utilization that is calculated for each VM using equation 1. The values of the energy function in Watt Seconds are 1076.95, 768.35, 334.94, 2744.76, and 1024.1 for VM1, VM2, VM3, VM4, and VM5 respectively. The algorithm assigns the task to the VM with the least value of energy function. Consequently, T1 is assigned to VM3. Similarly, for the next task T2, the algorithm computes the energy function and assigns T2 to VM3. The remaining tasks T3, T4, and T5 are assigned to VM5, VM3, and VM5 respectively. Figure 4 shows the Gantt chart representing the scheduling of tasks using EATSVM.
8
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
255
Fig. 4. Gantt Chart Representing the Scheduling of Tasks Using EATSVM.
5. Performance Analysis In this section, we analyse the performance of our proposed scheduling algorithm EATSVM in terms of energy consumption with increasing number of tasks. Since (to the best of our knowledge) no other task scheduling algorithm in the literature but ECTC proposed in [16] considers the implications of ongoing tasks while placing a new task, we compare the performance of EATSVM with ECTC. We also compare the execution time of each task scheduled using EATSVM and ECTC for a set containing five tasks. 5.1. Experiments To evaluate the performance of our proposed algorithm, we programmed a cloud computing system consisting of 5 heterogeneous VMs. The specifications of the VMs are the same as mentioned in Table 1. Out of the five VMs, VM1 and VM2 are part of our research laboratory and the specifications of the VM3-VM5 are taken from the SPEC Power® benchmark suite [19]. Table 3 shows the power consumption values of the VMs corresponding to the CPU load values between 0-100% at interval of 10%. These values are used to calculate the power consumption of a task corresponding to its CPU utilization. Table 3. Power Consumption of VMs for Different CPU Load. VM1
VM2
VM3
VM4
VM5
0%
138.2685 W
204.2420 W
54.1 W
265 W
45 W
10%
142.2829 W
204.9672 W
78.4 W
531 W
83.7 W
20%
146.7379 W
205.9185 W
88.5 W
624 W
101 W
30%
151.1492 W
206.6314 W
99.5 W
718 W
118 W
40%
155.3824 W
207.5923 W
115 W
825 W
133 W
50%
159.9734 W
208.5179 W
126 W
943 W
145 W
60%
164.4558 W
209.1885 W
143 W
1060 W
162 W
70%
169.1667 W
210.2377 W
165 W
1158 W
188 W
80%
173.8268 W
211.1731 W
196 W
1239 W
218 W
90%
178.4852 W
211.8091 W
226 W
1316 W
248 W
100%
181.7913 W
214.9755 W
243 W
1387 W
276 W
256
Leila. Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000 Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258
9
First, we evaluate the performance our proposed algorithm EATSVM by scheduling the five tasks described in Table 2. Initially, we keep VM1, VM4, and VM5 active by running the tasks OT1, OT2, and OT3 respectively on them. The utilization of OT1 is 35% of VM1, utilization of OT2 is 32% of VM4, and utilization of OT3 is 39% of VM5. We then schedule the five tasks on the VMs using EATSVM and calculate the energy consumption of all the VMs. The total energy consumption is calculated by adding the energy consumption of each VM. We schedule the same set of five tasks using ECTC algorithm and calculate the energy consumption. We also measure the execution time of each task using both the algorithms to analyze the impact of the algorithms on the execution times of these five tasks. Second, we perform the experiments with increasing number of tasks. We first schedule 50 tasks generated at every 3 seconds with CPU utilization level between 20-50% and their length between 6500-12000 MI using EATSVM. We then schedule the same tasks with ECTC and compare the energy consumption with that of EATSVM. We repeat the experiments to schedule 100, 150 and 200 tasks for both algorithms EATSVM and ECTC 5.2. Experimental Results Analysis Table 4 shows the cloud energy consumption using EATSVM versus ECTC in our experimental environment. The energy savings of EATSVM is 14.06% compared to ECTC. The ECTC algorithm selects the VM, where the product of the task overlapping time and the VM’s idle power consumption is the minimum. The algorithm does not consider the execution of the individual tasks when they are not overlapping. Consequently, ECTC may select a VM where the overall energy consumption of all ongoing tasks is more, leaving more idle-energy-efficient VMs in an idle status. Consequently, the overall energy consumption of the data center increases. However, EATSVM selects a VM where is increase in the energy consumption is the minimum considering the execution of the tasks when running alone and when running in parallel with the task to place. In addition, ECTC algorithm selects a VM with the least value of idle power (Pmin) to place a task. This selected VM might not be the best energy-efficient VM when utilized. This also leads to a higher energy consumption to ECTC in a heterogeneous cloud. For example, comparing VM3 and VM5 in our experimental setup, VM5 has low idle power than VM3, but the overall power consumption of VM3 is less compared to VM5. Thus, ECTC consumes more energy than EATSVM as ECTC does not consider heterogeneity. Table 4. Cloud Energy Consumption using EATSVM versus ECTC Energy Consumption (Wh) EATSVM
2.074
ECTC
2.413
Figure 5 shows the execution time of each of the five scheduled tasks, as well as the ongoing tasks for EATSVM and ECTC. The figure shows that execution time of the tasks is less when scheduled using EATSVM compared to when scheduled using ECTC. This is because ECTC does not considers the execution time of tasks when running alone while placing a task on a VM. Task Execution Time (seconds)
10
5
0
T1
T2
T3
T4
EATSVM
T5
OT1
OT2
OT3
ECTC
Fig. 5. Execution Time of Each Task for EATSVM and ECTC.
10
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
257
The energy consumption of EATSVM and ECTC with increasing number of tasks is shown in figure 6. It shows that the energy consumption of EATSVM is always less compared to that of ECTC. With increasing number of tasks, the energy savings of EATSVM compared to ECTC increases. The energy savings of EATSVM compared to ECTC is 14.06%, 25.29%, 30.31%, 33.45% and 35.20% for 5, 50, 100, 150, and 200 tasks respectively. Energy Consumption (Wh)
Energy Consumption
10 8 6 4 2 0
0
50
100 150 200 Number of Tasks EATSVM ECTC
250
Fig. 6. Energy Consumption of EATSVM and ECTC with Increasing Number of Tasks.
6. Conclusion Energy-aware task scheduling in the cloud computing systems has become an important approach to reduce the energy consumption. In this paper, we develop EATSVM algorithm to reduce the energy consumption in a cloud computing system. EATSVM considers the heterogeneity of the cloud as well as the ongoing tasks running on a VM while placing a new task. The energy function formulated in this paper effectively captures energy-savings possibilities and it is verified in our experimental evaluation. Our experiments show that EATSVM saves more energy compared to the ECTC algorithm. This is because, the EATSVM algorithm explicitly takes into account the overall execution of a task, running alone and in parallel to other ongoing tasks, and considers the power consumption range of the VMs rather than the VM’s idle power consumption. The energy-savings of EATSVM is 14.06% compared to ECTC compared to ECTC. This saving increases with increasing number of tasks. References [1]
P. Mell and T. Grance, “The NIST Definition of Cloud Computing Recommendations of the National Institute of Standards and Technology,” Nist Spec. Publ., vol. 145, p. 7, 2011.
[2]
“95% of global data center traffic will be from the cloud by 2021.” [Online]. Available: https://www.techrepublic.com/article/95-of-globaldata-center-traffic-will-be-from-the-cloud-by-2021/. [Accessed: 26-Apr-2018].
[3]
“America’s Data Centers Consuming and Wasting Growing Amounts of Energy | NRDC.” [Online]. Available: https://www.nrdc.org/resources/americas-data-centers-consuming-and-wasting-growing-amounts-energy. [Accessed: 20-May-2018].
[4]
S. Greenberg, E. Mills, B. Tschudi, and L. Berkeley, “Best Practices for Data Centers : Lessons Learned from Benchmarking 22 Data Centers T,” Aceee, vol. SUMMER, no. Lbnl, pp. 76–87, 2006.
[5]
Green Grid, “Case Study: The ROI of Cooling System Energy Efficiency Upgrades,” pp. 1–42, 2011.
[6]
X. Fan, W.-D. Weber, and L. A. Barroso, “Power provisioning for a warehouse-sized computer,” ACM SIGARCH Comput. Archit. News, vol. 35, no. June, p. 13, 2007.
[7]
L. Ismail and A. A. Fardoun, “Energy-Aware Task Scheduling ( EATS ) Framework for Efficient Energy in Smart Cities Cloud Computing Infrastructures,” vol. 13, no. 1, pp. 37–48, 2016.
[8]
W. Huai, Z. Qian, X. Li, G. Luo, and S. Lu, “Energy aware task scheduling in data centers,” J. Wirel. Mob. Networks, Ubiquitous Comput. Dependable Appl., vol. 4, no. 2, pp. 18–38, 2013.
[9]
C. T. Ying and J. Yu, “Energy-aware genetic algorithms for task scheduling in cloud computing,” Proc. - 7th ChinaGrid Annu. Conf. ChinaGrid 2012, pp. 43–48, 2012.
[10] N. Liu, Z. Dong, and R. Rojas-Cessa, “Task scheduling and server provisioning for energy-efficient cloud-computing data centers,” Proc. Int. Conf. Distrib. Comput. Syst., no. July, pp. 226–231, 2013. [11] D. Kliazovich, S. T. Arzo, F. Granelli, P. Bouvry, and S. U. Khan, “E-STAB: Energy-efficient scheduling for cloud computing applications
258
Leila Ismail et al. / Procedia Computer Science 135 (2018) 248–258 Leila. Ismail, Huned Materwala/ Procedia Computer Science 00 (2018) 000–000
11
with traffic load balancing,” Proc. - 2013 IEEE Int. Conf. Green Comput. Commun. IEEE Internet Things IEEE Cyber, Phys. Soc. Comput. GreenCom-iThings-CPSCom 2013, pp. 7–13, 2013. [12] N. A. Mehdi, H. Ali, A. Amer, and Z. T. Abdul-mehdi, “Two-Phase Provisioning for HPC Tasks in Virtualized Datacenters,” Proc. Int. Conf. Emerg. Trends Comput. Electron. Eng. (ICETCEE), Dubai, 2012. [13] G. Du, H. He, and Q. Meng, “Energy-efficient scheduling for tasks with deadline in virtualized environments,” Math. Probl. Eng., vol. 2014, 2014. [14] S. Srikantaiah, a Kansal, and F. Zhao, “Energy Aware Consolidation for Cloud Computing,” Scenario, no. November 2008, p. 10, 2008. [15] Y. C. Lee and A. Y. Zomaya, “Energy efficient utilization of resources in cloud computing systems,” J. Supercomput., vol. 60, no. 2, pp. 268–280, 2012. [16] “What Is Amazon EC2? Amazon Elastic Compute Cloud.” https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html. [Accessed: 15-May-2018].
[Online].
[17] “Speed, Throughput and Utilization.” [Online]. Available: http://kias.dyndns.org/comath/43.html. [Accessed: 25-Apr-2018]. [18] R. Kress, Numerical Analysis. Springer New York, 1998. [19] “SPECpower_ssj® 2008.” [Online]. Available: https://www.spec.org/power_ssj2008/. [Accessed: 20-May-2018].
Available: