Bee-MMT: A Load Balancing Method for Power ... - IEEE Xplore

3 downloads 16273 Views 844KB Size Report
Bee-MMT: A Load Balancing Method for Power. Consumption Management in Cloud Computing. Seyed Mohssen Ghafari. Department of Computer Engineering.
Bee-MMT: A Load Balancing Method for Power Consumption Management in Cloud Computing Seyed Mohssen Ghafari

Mahdi Fazeli, Ahmad Patooghy

Leila Rikhtechi

Department of Computer Engineering Azad University Borujerd, Iran [email protected]

Computer Engineering School University of Science and Technology Tehran, Iran [m_Fazeli, patooghy]@iust.ac.ir

Department of Computer Engineering Azad University Borujerd, Iran [email protected]

load balancing method called Bee-MMT (artificial bee colony algorithm- Minimal migration time), which using bee colony algorithm (ABC) to detection over utilized hosts. Then with the MMT VM selection, selects one or more VMs to migrate from them to reduce their utilization. Meanwhile, it can find underutilized hosts and if it is possible, migrate all VMs which allocated to these hosts and then switch them to the sleep mode. We evaluate the proposed algorithm by simulation using CloudSim toolkit [7]. The results show that the proposed algorithm can achieve greater power consumption saving than other methods like LR-MMT, DVFS, IQR-MMT, non-power aware and MAD-MMT.

Abstract—Energy consumption management has become an essential concept in cloud computing. In this paper, we propose a new power aware load balancing, named Bee-MMT (artificial bee colony algorithm- Minimal migration time), to decline power consumption in cloud computing; as a result of this decline, CO2 production and operational cost will be decreased. According to this purpose, an algorithm based on artificial bee colony algorithm (ABC) has been proposed to detect over utilized hosts and then migrate one or more VMs from them to reduce their utilization; following that we detect underutilized hosts and, if it is possible, migrate all VMs which have been allocated to these hosts and then switch them to the sleep mode. However, there is a trade-off between energy consumption and providing high quality of service to the customers. Consequently, we consider SLA Violation as a metric to qualify the QOS that require to satisfy the customers. The results show that the proposed method can achieve greater power consumption saving than other methods like LR-MMT (local regression-Minimal migration time), DVFS (Dynamic Voltage Frequency Scaling), IQR-MMT (Interquartile Range-MMT), MAD-MMT (Median Absolute Deviation) and non-power aware.

This paper organized as follows. In Section ȱȱ we discuss the related work. In section ȱȱȱ we describe the artificial bee colony algorithm (ABC) and we present our algorithm in section ȱV and evaluate it in V and Vȱ. Finally, in section Vȱȱ we discuss future work and conclusion. II. RELATED WORK

Keywords—Cloud computing; Artificial Bee Colony Algorithm (ABC); load balancing.

I.

Load balancing is an approach to reducing energy consumption and improving utilization of hosts. Babu L.D et al. [2] have proposed a load balancing technique to balance the load and priorities of tasks that removed from heavily loaded VMs. This technique is based on behavior of honey bee foraging strategy and improves the overall throughput of processing and reduces the response of time of VMs. However authors have not investigated the power consumption.

INTRODUCTION

It is noticeable that increasing of power consumption has become a major challenge in cloud computing. Cloud computing infrastructures consume large amount of electrical power; as a result, production of carbon dioxide and operational cost increase. One of the primary solution for this problem is implementing a suitable load balancing algorithm. There are two kind of resource allocations:

Dalapati et al. [3] have proposed a Green scheduling algorithm that optimizing power consumption in cloud computing. It uses bee colony algorithm for service rescheduling and ant colony algorithm for power consumption management. In contrast, in this paper we use bee colony algorithm for detection of over utilized hosts and for the VM selection we use MMT.

Static resource allocation, in this concept resources has been allocated to the requests in a static way, so utilization of resources and Energy consumption will not be checked. Dynamic resource allocation, in this concept after resources were allocated to the requests, many methods can be used to establish load balancing among resources. The main purpose is decline the energy consumption and improve the utilization of resources.

Beloglazov et al. [9] have presented an architectural principles for energy aware management of clouds. Moreover, they proposed energy-efficient resource allocation policies and scheduling algorithms. However, because of the fact that they used fixed utilization thresholds, this approach may not be efficient for the cloud computing environments. In their more

Many researches have been done in load balancing area which we discuss some of them in the section ȱȱ. However, there are many problem that are still exist; hence, we proposed a

978-1-4799-0192-0/13/$31.00 ©2013 IEEE

76

recent work [4], Beloglazov et al. have proposed an adaptive heuristics for dynamic consolidation of VMs based on analysis of historical data from the resource usage by VMs. This algorithm reduce the energy consumption. Authors propose algorithms like Median Absolute Deviation, Interquartile Range, Local Regression (LR) and Robust Local Regression for host overloading detection. Moreover, for the VM selection they use The Minimum Migration Time policy, The Random Choice Policy and Maximum correlation policy.

This algorithm has three major component: food source, employed and unemployed foraging bees. Unemployed bees consist of two groups of bees: onlooker bees and scouts. Half of the colony are employed bees and others are onlooker bees. Meanwhile, there is only one employed bee for every food source. The search process by the artificial bees can summarized as follows: -Employed bees search for new food sources having more nectar within the neighborhood of the food in their memory and share their information with onlooker bees waiting in the hive.

Based on their algorithm after the detection of overloaded hosts and select VMs to migrate from these hosts, system finds the host with the minimum utilization and if it is possible tries to place the VMs from this host on the other hosts while keep them not overloaded and when all the migration have been complete switch host to the sleep mode. If this cannot be accomplished, the host kept active. This process is iteratively repeated for all host except the overloaded hosts. Whereas we have a same approach for underutilized hosts and VM selection policy (MMT), our host overloading detection methods are different and we are using artificial bee colony algorithm (ABC) to detect over utilized hosts. Yao et al. [5] have presented a load balancing mechanism based on artificial bee colony algorithm (ABC). Authors propose an improved artificial bee colony algorithm to increase the system throughput. However, they did not investigate the energy consumption or SLA violation.

-Onlooker bees chooses a food source depending on the information that employed bees gave to them. -scout is an employed bee that his source has been abandoned. He start to search for new solutions, randomly. The main steps of the algorithm are shown in Algorithm 1. A Global Optimization problem can be defined as follows: Minimizing f x , x Li  xi  U i i

x1 , x2 , , xn

(1)

1, 2, , n

where the purpose is to minimize objective function f(x) and n is the dimension of independent variable of xi; xi is limited by its lower and upper bounds (Li, Ui). As we mentioned earlier, a food source is a solution for the optimization problem; amount of nectar represents the fitness value of solution and it calculates by formula (3) [12]. Having found a new food source (vij) by the formula (2) [11], Employed bees calculate the fitness value of new source and apply a greedy selection between the food source in their memory and new food source based on their fitness values.

III. ARTIFICIAL BEE COLONY ALGORITHM (ABC) The artificial bee colony algorithm (ABC) was proposed by karaboga in 2005[6, 8] which is based on foraging behavior of honey bee swarm. Generally, a colony of artificial forager bees seek for good Algorithm 1: artificial bee colony algorithm

vij xij  ‫׎‬ij (xij í xkj)

Initialization Phase

(2)

where k is different from i and j is chose randomly. random number between [-1, 1].

REPEAT

­ 1 if fi t 0 ° ® 1  fi °1  abc(f ) if f  0 i i ¯

Employed Bees Phase Onlooker Bees Phase Scout Bees Phase Memorize the best solution achieved so far

½ ° ¾ ° ¿

ij is

a

(3)

where i represents the solution that we want to calculate its fitness. Onlooker bees probabilistically choose their food sources depending on the information that Employed bees shared with them. Consequently, onlooker bees choose their food sources based on probability values calculated by formula (4) [12] and they choose one Employed bees to follow; after that they become Employed bees.

UNTIL (requirements are met) solution for given problem (Food sources). When a suitable food source is found, they return to the hive and use a dance called “weggle dance” to present quality of nectar or distance of food source from hive [10]. The suitability of a food source represented as duration of “weggle dance”, so bees must observe dances of other bees carefully. Then they choose best food source and follows the dancer to discover the food source and then begin to use it.

Pi

fiti

(4)

n

¦ fit

i

i 1

77

where Pi is the probability of the solution and n is the dimension of independent variable of xi. Employed bees whose solutions cannot be improved through a predetermined number of trials become scouts and their solutions are abandoned; then they start to seek for new solutions, randomly.

bandwidth available for the host j. If a VM v has following conditions, The MMT policy finds it [4]. v  V j | a  V j RAmu (v) RAM u (a) d NET j NET j

IV. PROPOSED ALGORITHM In this section we present our load balancing method for power consumption management in four parts.

(5)

Whereas Vj is a set of VMs currently allocated to host j. NETj the spare network bandwidth available for the host j; and RAMu (a) is the amount of RAM currently utilized by the VM a.

A. Host Over Loading Detection In the first part we proposed a host over loading detection approach based on artificial bee colony algorithm (ABC) to determine which one of the hosts are over utilized and then in the next part migrate some VMs from this host to other hosts to improve its utilization. After migrate some VMs from Over utilized hosts, because of the fact that their utilization decreased, they become less suitable and less charming food sources for the bees. Hence other hosts with the higher load can be candidate for the best food sources.

C. Host Under loading Detection Finally at the last part, it is time to manage the under loaded hosts. We use a method to deal with underutilized hosts which presented in [4]. Having detected the over utilized hosts and migrate some of their VMs, we need to find hosts with the minimum utilization and if it is possible, tries to migrate all VMs which allocated to these hosts to the other hosts while keep them not overloaded and when all the migration have been complete, switch host to the sleep mode. If this cannot be accomplished, the host kept active. This process is iteratively repeated for all host except the overloaded ones. The main steps of our method are shown in algorithm 2.

In this concept hosts are food sources and hosts with the higher utilization are more suitable solutions; as a result, bees looking for a host with higher load compared to the others. This process iteratively repeated until algorithm finds the best solution (Over utilized host). To do this, we extended original PowerVmAllocationPolicyMigrationAbstract class in the CloudSim simulator [7]. First of all, algorithm initialize variables with the utilization of hosts and calculate their fitness functions; then send Employed bees. In this paradigm, employed bees randomly choose a neighborhood food source and calculate its fitness function; following that employed bees apply a greedy selection between the food source in their memory and new food source based on their fitness values. If new food source has a higher fitness value, it replaced with the old one.

D. SLA Violation Metrics As mentioned earlier, we must consider SLA violation as an important metric to satisfy QOS that we guaranteed to the customers; as a result, in the next section we compare our method with the other methods from the point of view energy consumption and SLA violation. We use a method that represented in [4] to evaluate SLA violation. They defined SLAs are delivered when 100% of performance requested by applications inside a VM is provided at any time bounded only by the parameters of the VM. Authors proposed two metrics for measuring the SLA violation. The first metric is SLA Violation Time per Active Host (SLATAH) which is percentage of time that active hosts experienced CPU utilization of 100% (6); and the second metric is Performance Degradation due to Migrations (PDM) (7). The reasoning that they considered SLATAH is that if host utilization is 100%, the performance of applications is bounded by host capacity and VMs are not provided with the required performance level.

Now it is time to send onlooker bees. Onlooker bees probabilistically choose their food sources based on their probability functions; after that onlooker bee determines a neighborhood food source and calculate its fitness function. Like Employed bees phase, a greedy selection is applied between current food source and new one. Employed bees whose solutions cannot be improved through a predetermined number of trials become scouts and their solutions are abandoned; then they start to seek for new solutions, randomly. At the end, proposed algorithm finds over loaded hosts (most suitable solutions).

SLATAH

B. VM Selection Policy Once we detect an over utilized host, in the second part, we must select one or more VM to migrate to other hosts with the lower utilization keeping them not overloaded. To achieve this, we use the minimum Migration Time Policy which presented in [4]. This policy migrates VMs that requires the minimum time to complete a migration. The migration time estimated as amount of RAM utilized by the VM divided by the spare network

PDM

1 N 1 M

Tsi

N

¦T i 1

M

Csi

¦C j 1

(6)

ai

(7)

ai

where N is the number of hosts and M is the number of VMs; Tsi is the total time during that host i has experienced the utilization of 100%. Tai is the time during which host I being in active state; Csi is the estimate of performance degradation of VM j caused by migrations; Cai is the total CPU capacity requested by VM j during its lifetime. They also proposed a

78

combined metric that encompassed both SLATAH and PDM metrics. It is called SLAV and it is the main metric to measure SLA violation. It is calculated as (8).

SLAV

SLATAH .PDM

percent of hosts are HP ProLiant ML110 G4 servers(Intel Xeon 3040, 2 cores × 1860 MHz, 4GB), and the others are HP ProLiant ML110 G5 (Intel Xeon 3075, 2 cores × 2660 MHz, 4GB). Each server modeled to have 1GB/s network bandwidth. The characteristics of our VMs type are similar to Amazon EC2 Instances types; however, because of the fact that our workload data that comes from single-core VMs, all the VMs are singlecore. We also divide the amount of RAM based on number of cores for each VMs types: High-CPU Medium Instance (2500 MIPS, 0.85 GB); Extra Large Instance (2000 MIPS, 3.75 GB); Small Instance (1000 MIPS, 1.7 GB); and Micro Instance (500 MIPS, 613 MB). The frequency of the servers’ CPUs are mapped to MIPS rating: 1860 MIPS for each core of HP ProLiant ML110 G4 servers, and 2660 MIPS for each core of HP ProLiant ML110 G5 servers.

(8)

Algorithm 2: Proposal method Input: hostList foreach host in the hostList do if host is over loaded then

// Part A

Get VMs to migrate from this host //Part B foreach host in hostList do

We have used workload trace from a real system and data provided as a part of the CoMon project, a monitoring infrastructure for PlanetLab [1]. The interval of utilization measurement is 5 minutes. The characteristics of the data for our experiments shown in Table 1. We compared our proposed load balancing method with five other methods: LR-MMT (local regression-The minimum Migration Time) as an optimal algorithm that represented in [4]. It used Local Regression as a host over loading detection approach and The minimum Migration Time for the VM selection policy; and DVFS (Dynamic Voltage Frequency Scaling); and non-power aware policy which does not apply any power aware optimization and in this policy all hosts run at 100% CPU utilization and consume maximum power all the time [9]; and IQR-MMT (Interquartile Range-MMT) which it is based on an adaptive Utilization threshold for detecting over loaded hosts (IQR) and MMT for the VM selection policy; and MAD-MMT (Median Absolute Deviation) which it is using MAD as an adaptive Utilization threshold for detecting over loaded hosts and MMT for the VM selection policy.

if host is under loaded then //Part C If it is possible to migrate all VMs which allocated to this host to the other hosts then Migrate all VMs else Keep the host active

V. EXPRIMENT SETUP In this paper simulation have been chosen as a way to evaluate the power consumption and SLA violation of the proposed algorithm and CloudSim toolkit [7] has been chosen as a simulator. We have simulated a data center that consists of 800 heterogeneous physical nodes with the dual-core CPUs. 50

TABLE I. SIMULATION RESULTS ENERGY CONSUMPTION (KWH)

SLAV (× 10-5)

SLATAH

PDM

VM MIGRATION (×103)

NON-POWER AWARE

2410.80

0

0%

0%

0

DVFS

803.91

0

0%

0%

0

LR-MMT-1.2

116.71

2.52%

4.03%

0.06%

17.90

IQR-MMT-1.5

117.08

5.14%

5.08%

0.10%

26.42

MAD-MMT-2.5

114.27

5.18%

5.24%

0.10%

25.92

BEE-MMT

85.84

6.45%

80.85%

0.01%

2.00

POLICY

VI.

to measure SLA violation. Table 1 demonstrates that BeeMMT has the minimum Energy consumption compared to other methods especially non-power aware policy. Our proposal method has nearly 28 times less energy consumption than non-power aware policy. It also has 26.46% and 24.87% less energy consumption than LR-MMT and MAD-MMT,

SIMULATION RESULTS

We compared our work with other methods from the point of view Energy consumption, SLA violation and the number of migrations. SLA violation metric consists of 3 metrics: SLAV, SLATAH and PDM which SLAV is the main metric

79

respectively. However, this decline has negative impact on SLA violation.

Future work is require to study further trade-off between energy consumption and SLA Violation and focus on reducing SLA Violation as a requirement of satisfy a high quality of service (QOS) for the customers.

The results shows Bee-MMT has the most SLAV compared to other methods. It has 6.45% more SLAV than non-power aware policy and 1.27% and 3.93% SLAV more than LR-MMT and MAD-MMT, respectively. We also have considered number of VM migrations as a metric to compare the efficiency of these methods. It is noticeable that BeeMMT has the least number of VM migrations among other methods except non-power aware and DVFS. Whereas BeeMMT has number of VM migrations with nearly 9 times less than LR-MMT and almost 13 times less than MAD-MMT and IQR-MMT; it also has the minimum PDM among other methods. By this we means that it has the least performance degradation due to migrations. Additionally, Bee-MMT has bigger SLATAH compared to other methods; therefor the percentage of time that active hosts experienced CPU utilization of 100% in Bee-MMT method, is more than other methods.

REFERENCES [1] K. Park and V. S. Pai, "CoMon: a mostly-scalable monitoring system for PlanetLab," ACM SIGOPS Operating Systems Review, vol. 40, no. 1, pp. 65-74, 2006. [2] D. B. L.D and P. V. Krishna, "Honey bee behavior inspired load balancing of tasks in cloud computing environments," Applied Soft Computing, vol. 13, no. 5, pp. 2292–2303, May 2013. [3] P. Dalapati and G. sahoo, "Green Solution for Cloud Computing with Load Balancing and Power Consumption Management," International Jornal of Emerging Technology and Advanced Engineering, vol. 3, no. 3, pp. 353–359, March 2013. [4] A. Beloglazov and R. Buyya, "Optimal Online Deterministic Algorithms and Adaptive Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in Cloud Data Centers," Concurrency and Compution:practice and exprimence, vol. 24, no. 13, pp. 1397-1420, September 2012. [5] J. Yao and J.-h. He, "Load balancing strategy of cloud computing based on artificial bee algorithm," 8th International Conference on Computing Technology and Information Management (ICCM), Seoul, pp. 185 - 189, 24-26 April 2012.

VII. CONCLUSION AND FUTURE WORK Power consumption has become a major challenge in cloud computing infrastructures. Increasing in power consumption can cause increasing in production of carbon dioxide and operational cost. Many researches have been done in this area, but the problem is still exists. In this work, we have proposed a load balancing technique, named Bee-MMT, to reduce the energy consumption in cloud computing infrastructures. As we mentioned earlier there is a trade-off between energy consumption and providing high quality of service to the customers. Consequently, we considered SLA Violation as an important metric to qualify the QOS in our simulations. We chose three metrics for measuring SLA violation: SLAV, SLATAH (SLA Violation Time per Active Host) and PDM (Performance Degradation due to Migrations) which SLAV was the main metric. We also considered one more metric, named number of VM migrations, to evaluate efficiency of our method. According to results of simulations Bee-MMT can decline the power consumption; hence, it can be a green solution and reducing production of carbon dioxide and operational cost. However, it has more SLA Violation than the other methods. Nevertheless, percentage of increasing in SLA Violation in Bee-MMT is much less than percentage of reducing energy consumption compared to other methods. Moreover, our method has much less number of VM migrations compared to LR-MMT and MAD-MMT and IQRMMT.

[6] d. Karaboga, "An Idea Based on Honey Bee Swarm for Numerical Optimization," TECHNICAL REPORT-TR06, Turkey, 2005. [7] R. N. Calheiros, R. Ranjan, A. Beloglazov, C. A. F. De Rose and R. Buyya, "CloudSim: a toolkit for modeling and simulation of cloud computing Environments and Evaluation of Resource Provisioning Algorithms," Software:Practice and Exprience (SPE), vol. 41, no. 1, pp. 23-50, 2011. [8] D. Karaboga and B. Basturk, "On the performance of artificial bee colony (ABC) Algorithm," Applied soft computing, vol. 8, no. 1, pp. 687-697, 2008. [9] A. Belolazov, J. Abawajy and R. Buyya, "Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing," Future Generation Computer Systems, vol. 28, no. 5, pp. 755-768, 2012. [10] M. Randles, D. Lamb and A. Taleb-Bendiab, "A comparative Study into Distributed Load Balancing Algorithms for Cloud Computing," IEEE 24th International Advanced Information Networking and Application Workshops, Liverpool, pp. 551 – 556, 20-23 April 2010. [11] H. Deng-xu and J. Rui-min, "Cloud model-based Artificial Bee Colony Algorithm's Application in the logistics Location Problem," International Conference on Information Management, Innovation Management and International Engineering (ICIII), Sanya, pp. 256 – 259, 20-21 Oct. 2012. [12] L. Maghali S.de Oliveira, R. Schirru and J. A.C.C. de Medeirose, "On The Performance of An Artificial BEE Colony Optimization Algorithm Applied to The Accident Diagnosis In a PWR Nuclear Power Plant," in International Nuclear Atlantic conference-INAC, vol. 1, Rio de Janeiro Brazil, September 27 to October 2, 2009.

80