Future Generation Computer Systems 28 (2012) 811–821
Contents lists available at SciVerse ScienceDirect
Future Generation Computer Systems journal homepage: www.elsevier.com/locate/fgcs
Design and implementation of adaptive power-aware virtual machine provisioner (APA-VMP) using swarm intelligence R. Jeyarani a,∗ , N. Nagaveni b , R. Vasanth Ram c a
Department of Computer Technology & Applications, Coimbatore Institute of Technology, India
b
Department of Mathematics, Coimbatore Institute of Technology, India
c
Department of Electronics and Communication Engineering, PSG College of Technology, India
article
info
Article history: Received 30 June 2010 Received in revised form 8 June 2011 Accepted 29 June 2011 Available online 13 July 2011 Keywords: VM provisioning Resource dynamics Cloud computing Particle Swarm Optimization (PSO) Dynamic adaptive PSO Power saving states Dynamic Voltage Frequency Scaling (DVFS) Power conservation
abstract Cloud computing aims at providing dynamic leasing of server capabilities as scalable, virtualized services to end users. Our work focuses on the Infrastructure as a Service (IaaS) model where custom Virtual Machines (VM) are launched in appropriate servers available in a data center. The cloud data center taken into consideration is heterogeneous and large scale in nature. Such a resource pool is basically characterized by high resource dynamics caused by non-linear variation in the availability of processing elements, memory size, storage capacity, bandwidth and power drawn resulting from the sporadic nature of workload. Apart from the said resource dynamics, our proposed work also considers the processor transitions to various sleep states and their corresponding wake up latencies that are inherent in contemporary enterprise servers. The primary objective of the proposed metascheduler is to map efficiently a set of VM instances onto a set of servers from a highly dynamic resource pool by fulfilling resource requirements of maximum number of workloads. As the cloud data centers are overprovisioned to meet the unexpected workload surges, huge power consumption has become one of the major issues of concern. We have proposed a novel metascheduler called Adaptive Power-Aware Virtual Machine Provisioner (APA-VMP) that schedules the workload in such a way that the total incremental power drawn by the server pool is minimum without compromising the performance objectives. The APA-VMP makes use of swarm intelligence methodology to detect and track the changing optimal target servers for VM placement very efficiently. The scenario was experimented by novel Self-adaptive Particle Swarm Optimization (SAPSO) for VM provisioning, which makes best possible use of the power saving states of idle servers and instantaneous workload on the operational servers. It is evident from the results that there is a significant reduction in the power numbers against the existing strategies. © 2011 Elsevier B.V. All rights reserved.
1. Introduction Cloud computing is a cost-effective model for provisioning services, and it makes IT management easier and more responsive for the changing needs of the business. It delivers a wide range of services like Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). These services are made available on a subscription basis using pay-as-you-use model to customers, regardless of their location. Cloud computing is formally defined as a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction [1]. The data centers
∗
Corresponding author. Tel.: +91 98944 11855. E-mail address:
[email protected] (R. Jeyarani).
0167-739X/$ – see front matter © 2011 Elsevier B.V. All rights reserved. doi:10.1016/j.future.2011.06.002
form the backbone of cloud environment to provide the cloud services. A data center could be a non-virtualized, consolidated and entirely owned by a single organization called Centralized Data Center (CDC) or it could be fully virtualized, geographically distributed and owned by a group of organizations known as Distributed Virtualized Data Center (DVDC). Most of the existing works in VM provisioning strive to improve performance from the customer perspective by meeting the SLAs. Apart from this, our work focuses on the workload assignment in a CDC from the provider perspective enabling power-aware data center management. This, in turn results in better resource management for the provider and better service at a reduced cost for the consumer. In cloud IaaS model, service consumers specify hardware and software configuration of Virtual Machines (VM) to be created, and execute their jobs on each VM. We assume that the nature of the submitted jobs is parallelizable, and thus a VM may require multicore for efficient execution. Sometimes the consumer may need to run a clustered application that involves
812
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
interprocess communication with a low-latency requirements. Such applications also require multicore architecture. It is expected that once VMs are launched on the appropriate host, they start processing the jobs. The speed with which the VM processes the jobs depends on the speed of the Processing Elements (PE) on which the VM is launched as well as the internal scheduling policy associated with the host [2]. As the cloud subscriber expects explicit Service Level Agreements (SLA) in terms of computational, storage and networking infrastructure, we need primarily an efficient metascheduler to map the incoming VM requests onto a right fit infrastructure. The following section discusses various factors that contribute to the resource dynamics and the need for an adaptive algorithm to make efficient scheduling decisions that meet the expected QoS. 1.1. Resource dynamics Generally, the data centers and IT facilities are considered as static, where the facilities are installed and then used for a long time before being decommissioned. But in reality most facilities in the data center are subject to constant change. First, new servers are brought in and installed, and the existing ones are patched, reconfigured, repurposed or replaced [3]. Second, the resource pool changes its state frequently, as it primarily handles intermittent spikes in the resource requirements which are inherent of elastic cloud. Third, the hot migration capabilities of virtualization allow VMs to move rapidly between physical machines for load balancing and server consolidation also contributing resource dynamics. Fourth, some servers are shut down periodically for preventive maintenance after migrating the running VMs onto suitable servers, making a few servers become unavailable for a period or due to the failure of hosts. Similarly, a few servers are powered on for handling unexpected peak load, resulting in the availability of additional resources for allocation. Apart from the said dynamics involved due to servers’ availability, there are a few more dynamic attributes within the server such as an increase or a decrease in the number of available Processing Elements (PEs), size of memory, storage capacity and bandwidth of the servers for VM creation. Finally, as modern servers are enabled with dynamic voltage frequency scaling technique, the active servers may change their operating frequency based on the instantaneous load. The idle servers also make transitions to various sleep states automatically. These resource dynamics necessitates the requirement of a metascheduler which monitors the environment, detects the state change in the resources, and finds the optimal or near optimal schedule for placing the VM instances onto the available physical servers. Also, it is important to automate scheduling as far as possible so that management activities can be done cost effectively with minimal IT administrator’s time. As data centers running the cloud are generally overprovisioned to meet the unexpected workload surges, huge power consumption has become one of the major issues to be considered. The following sections discuss the need for power management in data centers as well as existing techniques for improving power conservation. 1.2. Power management techniques With the advent of cloud computing, large scale data centers are becoming common in the computing industry. However, these data centers equipped with high performance infrastructures consume much power causing global warming by increasing CO2 footprint. This creates a serious environmental threat to today’s world. One of the major causes for energy inefficiency in the data center is the idle power wasted when servers run at low utilization. Even at 10% of CPU utilization, the power consumed is over 50% of the peak power [4]. This results in more power consumption
per workload during off-peak load. Pinheiro and Rajamony [5] show that 22% of energy consumption of a single server is needed to cool it. A study on data center issues also shows that energy consumption of data centers worldwide doubled between 2000 and 2006. Incremental US demand for data center energy between 2008 and 2010 is equal to 10 nuclear power plants [6]. As data centers run large scale distributed applications using more and more computing nodes and storage resources, the energy consumption rises quickly. To make efficient use of the computing systems and to reduce their environmental and social impact, both computer research community and industry are focusing on green computing. There are hardware techniques to solve the energy problems, but in many cases it requires software intervention to achieve the best results. The existing methodologies in reducing power consumption in data centers have been discussed in the following sections. 1.2.1. DVFS One of the latest techniques used in modern processors for power conservation is Dynamic Voltage Frequency Scaling (DVFS), in which the power consumption of the server is optimized by dynamically changing the CPU voltage/frequency, without affecting the performance adversely. For example, let us consider that the system has just one task to perform and the workload requires only 10 cycles to execute, but the deadline associated with the task is 100 s. In this case, the processor can slow down to 1/10 cycles/s, saving power and also meeting the deadline [7]. This dynamic slow down process is more efficient than running the task at full speed and idling for the remaining period. One of the software strategies for reducing the energy consumption using DVFS has been given by Lorch [8] and his work has focused on making the operating system determine how slowly the processor can be run without disturbing the user, so that the energy reduction can be maximized. In DVFS the inappropriate increase in voltage/frequency may raise the system power demand. Similarly, the reduction in voltage/frequency reduces the number of instructions a processor can execute in a given time. This increases the run time of the program segments which are CPU bound, resulting in performance degradation. Moreover, when the program is I/O bound, the change in CPU speed will not have an effect on the execution time of the program, thus DVFS may result in non-linearity on the execution time. Thus changing the frequency of the server may lead to changes in the scheduling order of heterogeneous tasks [8]. Most of the existing methods of power conservation deal with DVFS, in spite of the challenges in providing optimal energy/performance control. The success of DVFS lies in the accurate prediction of execution time of the specific workload. Even if the DVFS algorithm predicts correctly what the processor’s workload will be, determining how fast the processor should be run is nontrivial. The non-determinism in real systems removes any strict relationships between clock frequency, execution time and power consumption. The dynamic voltage scaling may be combined with resource hibernation to power down other energy hungry parts of the chip, to realize significant power saving. The theoretical studies on dynamic voltage scaling may sound reasonable, but they do not guarantee to hold in real time systems. 1.2.2. Dynamic component deactivation Certain policies use strategy of dynamically switching off specific number of servers based on simple workload prediction model [9]. The major issue in frequent switching on/off of the servers is component failures. The Dynamic Component Deactivation (DCD) method is used for certain components that are idle and do not support the performance scaling. It helps in significant power conservation by leveraging workload variability.
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821 Table 1 Power conservation and wake up latency for different sleep modes. Sleep modes
% of power conservation
Wake up latency
Nap Sleep Winkle Idle
20 40 80 100
5 µs 1 ms Few 100 ms Few seconds
1.2.3. Power saving states The dynamic power management techniques such as DVFS and DCD can be implemented in the hardware as part of an electronic circuit. But the implementation and reconfiguration of dynamic power management algorithms and policies in hardware are difficult, in addition to poor visibility toward the environment. To address this issue, the organizations such as Intel, Toshiba and Microsoft have published Advanced Configuration and Power Interface (ACPI) specification to provide standardized nomenclature for various power saving states and also have defined software interfaces for managing them [7]. It is an open standard and it defines unified operating system centric device configuration and power management interface. The interface can be used by software developers to leverage flexibility in adjusting system power states. ACPI defines five system states [10]. The working state is denoted by S0. The state S3 denotes standby or inactive with state saved into DRAM. And S4 denotes the hibernating or inactive with states saved into secondary storage. The state S5 represents the soft-off. In a cloud environment, the power and energy management strategies need to consider the characteristics of servers while provisioning the incoming workloads. Modern microprocessor technology supports the processing elements (PE) such as core, chip and host to be set in different sleep states (power saving states) depending on the demand. A PE conserves different amount of power at different sleep states. The time taken to come to live state from any sleep state is called wake up latency, and the power drawn during wake up time is comparatively insignificant. The power conservation and wake up latency are inversely related in a particular sleep state as shown in Table 1. Many modern power-aware processors and microcontrollers have built-in support for active, idle and sleep operating modes. 1.2.4. Dynamic consolidation To handle power conservation, data centers perform the dynamic consolidation of various workloads onto a set of common servers with the help of live state migration facility, which is enabled through virtualization technology. At the same time, the idle servers are transitioned to different power saving modes, based on dynamic workload prediction [11]. We have considered dynamic server farm, where the servers are at different power saving modes for making power-aware provisioning. Even though workloads are combined, the energy usage does not add linearly due to significant percentage of idle energy. So consolidation can be done optimally during allocation to realize energy conservation without performance degradation. When consumers outsource their computational needs to the cloud, they specify QoS in terms of strict service level agreements (SLAs). Sometimes due to aggressive consolidation and variability in workload, there arise performance losses in terms of increased response time, time outs or failure in the worst case. Therefore, cloud providers have to take measures to adhere SLAs, while minimizing the power consumption. 1.3. Related work Verma et al. [12] have contributed power and migration cost-aware application placement by exploiting the power management capabilities of virtualization. They have designed an
813
application placement architecture called pMapper, which encompasses three major components, namely a performance manager for dynamically resizing the VM, a power manager for CPU throttling and a migration manager for identifying the target host, using a knowledge base. They have stated that for power-aware scheduling, one does not need estimates of power values, and if the algorithm can find out which server minimizes the incremental increase in total power due to the new VM being placed, then it can place the VM appropriately. They have implemented two algorithms. One of them is First Fit Decreasing (FFD) that unbalances the load as more power-efficient servers are utilized first and the other one is incremental First Fit Decreasing (iFFD) that packs the VMs on physical servers through VM migration, by considering the fixed target utilization of each server. Generally, live migration of VM requires creation of check point on secondary storage and retrieval of VM image on the target server. The performance of the application running inside VM is impacted in the transition because of cache misses. Also when many migrations are to happen within a single node, then hypervisor executes them one after the other. Thus the cost of live migration is significant, and it needs to be used minimally in dynamic provisioning. Our work is based on meta-heuristic approach which exploits the concept of minimizing total increase in the incremental power due to new VM placement. The proposed architecture is simple and it does not require any knowledge base to realize significant reduction in the power consumption. Gandhi et al. [1] have aimed at optimal power allocation by determining the optimal frequency of the servers’ CPU, at which the mean response time is minimal and it is done with the help of power to frequency relationship. They studied the server power consumption with respect to CPU frequency scaling techniques at different states, namely T -states, P-states and combination of both for CPU intensive workloads. The results showed that the power to frequency relationship is linear at T -states and P-states, and it is a quadratic relationship for the combination of the two states. The authors stated that it is not always optimal to run the servers at the maximum speed to get the best performance. Rusu et al. [13] have developed the QoS based power management scheme for the heterogeneous clusters. The system encompasses two important components, namely front end manager and a local manager. While the former finds the servers that should be turned on or off for a given system load, the local manager exploits DVFS to conserve power. The main drawback is the on/off policy that relies on the table of values, computed offline. Also without server consolidation through VM migration, the on/off policy may not be much effective. Lee and Zomaya [14] have shown energy-efficient task scheduling in large scale distributed systems. The devised algorithm uses a novel objective function called Relative Superiority (RS), which takes into account the minimum makespan and energy consumption. For a given ready task, its RS value on each processor is computed using the current best combination of the processor and voltage supply level for that task. The processor with maximum RS value is selected for allocation. As the cloud is large scale having millions of processors, finding the best RS value for each single task is time consuming. Considerable amount of work has been done in the area of power-efficient computing, but the application of PSO based approach for power-aware VM provisioning is the first of this kind. The existing work on power conservation has not considered the presence of servers in different power saving states which are inherent in modern processor technology. We have introduced a novel approach in which the metascheduler makes decision regarding the mapping of incoming workload (job) with the server by considering the power saving state of idle servers, apart from the server capability in fulfilling the requirement of the job.
814
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
For example, let us assume that all the active servers are heavily loaded with more than 80% of their capacity. Suppose there are two servers S1 and S2, both capable of fulfilling requirements of an incoming job, and S1 is in a deep sleep state conserving more power and S2 is in a shallow sleep state conserving comparatively lesser power, with quick wake up latency. Then our heuristic metascheduler schedules the job on to S2, resulting in a lesser increment in power consumption, without making the incoming job wait for longer duration. As the complexity of servers and their real time management increases, performance and poweraware scheduling in real time becomes very much challenging in large heterogeneous data centers. Our previous work on poweraware metascheduler considered the load on the server in such a way that the lightly loaded servers are preferred for allocation compared to heavily loaded servers, resulting in lesser increment in power drawn by the server farm [15]. In this paper, we present the design and implementation of Adaptive Power-Aware Virtual Machine Provisioner (APA-VMP) for handling dynamic changes in the resource pool and its interaction with other components in the cloud metascheduler. Using an exact method is computationally inefficient as the complexity class of scheduling problem belongs to NP-hard involving extremely large search spaces with correspondingly large number of potential solutions. Among various meta-heuristic algorithms, particle swarm optimization (PSO) algorithms are used for VM provisioning, as they could be applied easily to solve various function optimization problems. PSO is a population based optimization tool, and it possesses good convergence and diversity maintenance capabilities. Unlike genetic algorithm, PSO gives feasible solution in a reasonable time and it involves only a few parameters so that it is easier to find the best combination of parameter values. The rest of the paper is organized as follows. Section 2 discusses standard PSO and survey of its variants. Section 3 discusses problem formulation. Section 4 describes briefly the system architecture of the proposed metascheduler. Section 5 describes the scheduling heuristics and the SAPSO algorithm in detail. Section 6 describes the experimental set up and results. Section 7 concludes the paper suggesting the scope for future work. 2. Heuristic approach using PSO PSO is a population based optimization tool which could be implemented and applied easily to solve various function optimization problems. It was originally designed by Kennedy and Eberhart in 1995 [4,16] to imitate the motion of flock of birds or school of fish. Each individual called a particle represents a solution point in the search space. The population called a swarm represents the set of potential solutions. PSO is based on the interaction and social communication of the group of particles. It implements the search of the best solution by simulation of social behavior of the population in which subsequent actions of respective individuals are influenced by their own movements and those of their companies. Each particle in PSO can fly only in a limited number of directions which are expected to be good areas, wherein each individual has the possibility to fly in any direction in evolutionary programming. The algorithm is well suited to parallelization by implementation on a cluster of workstation. PSO finds a near optimal solution in an acceptable time. The following section discusses standard PSO, and its variants for handling dynamic environments. 2.1. Standard PSO methodology The particle is described by group of vectors denoted as − → − → − → → − − → ( x i , v i , p i ), where x i , = (xi1 , xi2 , . . . , xiD ) and v i = (vi1 , vi2 , . . . , viD ) representing position and velocity vectors of the − → ith particle. p i = (pi1 , pi2 , . . . , piD ) denotes the personal best
representing the best position the particle has achieved so far and − → g i = (gi1 , gi2 , . . . , giD ) denotes the global best representing the best position tracked by the entire swarm [17,18]. To begin with, a swarm of particle is randomly generated. Each particle has a position vector in the problem space and velocity vector for moving toward the optimal solution. The dimension of the particle is determined by the problem to be optimized. The velocity and position of the particles are updated by the Eqs. (1) and (2) in each iteration.
vid (t + 1) = wv id (t ) + c1 r1 [pid − xid (t )] + c2 r2 [pgd − xid (t )]
(1)
xid (t + 1) = xid (t ) + vid (t + 1)
(2)
where i = 1, 2, . . . , m denotes the number of particles. d = 1, 2, . . . , D denotes the dimension of particles ‘r1 ’ and ‘r2 ’ are uniformly distributed random numbers in the interval 0 to 1. ‘c1 ’ and ‘c2 ’ are learning factors and usually ‘c1 ’ equals ‘c2 ’ and ranges from 0 to 4. ‘c1 ’ is the individual cognition component representing the search ability of the particle itself. ‘c2 ’ is the social communication component representing the influence from the social environment. ‘w ’ is the time dependent inertia weight to avoid unlimited growth of the particle’s velocity. The PSO searches for optima by updating generations. The searching is a repeat process and the stopping criteria are that either the maximum number of iterations is reached or the minimum error condition is satisfied. The pseudocode for the optimizer is as follows.
INITIALIZE Randomize position and velocity of all particles in search space Set each particle’s personalBest to particle position Set globalBest to randomized particle’s position REPEAT For each particle Calculate particle’s updated velocity using Eq. (1) Calculate particle’s position using Eq. (2) Calculate the fitness value and evaluate fitness value If (fitness value corresponding to new position is better than the personalBest in the history) set personalBest as the new position End For Choose the particle’s position with the best fitness value in the population as the gBest UNTIL (Stopping Criteria is met) The major drawback of standard PSO is that it gets trapped into local optima, failing to explore the entire population. The local optima occur when each particle is trapped in its own area and better solutions cannot be found. This could be overcome by including Local Improvement Procedure (LIP) [19], which enables each particle to escape from local optima. Hansen et al. [20] introduced Variable Neighborhood Search (VNS) strategy in which the particles do not follow any trajectory. But they explore distant neighbors of the current solution and jumps from there to a new one, if and only if an improvement was made. Eberhart and Shi reported that a large inertia weight facilitates a global search while a small inertia weight facilitates a local search [21,22]. They also pointed that an inertia weight starting with a value close to 1 and linearly decreasing to 0.4 through the course of run will give the PSO the best performance compared to fixed inertia weight. [23,24,16,19] illustrate that PSO has the ability to quickly converge and the performance of PSO is not sensitive to the population size. The authors also reported that PSO may lack global search ability at the end of a run due to the utilization of a linearly decreasing inertia weight and suggested the self-adapting strategy for PSO by adjusting inertia weight.
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
2.2. PSO variants for handling dynamic environments The following section describes four different approaches for handling the changes in the environment. 2.2.1. Random inertia weight The first simple approach for handling dynamic environments is using random inertia weight. The authors [21] used the Eq. [0.5 + (Rnd/2.0)] instead of linearly decreasing inertia, to track dynamically moving optima in a chaotic system. The authors also investigated the performance of particle swarm in dynamic environments as whenever the system changes; swarm is asked to look for a new optimum value. The last swarm configuration while looking for the old optimum becomes the initial configuration as the new optimum is traced. Eberhart and Shi found that when the system change is relatively small, continuing with old swarm configuration may be the better approach and when the system changes drastically, then starting with a randomized swarm is a more efficient approach. 2.2.2. Re-randomization The second approach describes the effect of re-randomization for locating optimum value in dynamic environments. In [25,26] Hu et al. introduced two environment detection methods namely the ‘‘changed-gBest-value’’ method and the ‘‘fixed-gBest-value’’ method. The first one is based on the assumption that when the optimum location of a dynamic system changes, the optimum value of the current location also changes. Resetting particle’s memory is used to respond to changes. It is fast but requires extra time to re-evaluate the fitness. The ‘‘fixed-gBest-value’’ method is an effective sensing technique that detects the environment change by re-evaluating the global best and second global best for fixed number of iterations and if they have not changed, then there is a possible optimum change. The response strategy rerandomizes a portion of the particles for tracking the moving optimum. Re-randomization can be regarded as the death of old particles and the birth of new particles. The authors also suggest that a 10% re-randomization is a good choice for most of the cases. 2.2.3. PSO with sentry particle The third approach is based on sentry particles. Antony Carlislie et al. in [27] illustrated the tracking of changing extrema with adaptive PSO (APSO), in which a fixed number of sentry particles, which may be randomly chosen stationary particles to identify the change of state in dynamic environments. Each particle replaces its personal best position vector with its current location vector, when a change in the environment is detected and it is called as resetting memory. Authors of [28] also illustrated the re-computation of the fitness of the personal best vector to accommodate the changed environment and replacement with current location vector only when the fitness value is not better, instead of blindly replacing all personal best vectors with their corresponding current locations. This strategy preserves information that are still valid. But the overhead involved is the additional fitness function evaluation. However, APSO with sentry particle is better for tracking solutions in non-stationary environments. There are few issues with APSO. The sentry particles can detect only local changes, where they are located. Also in noisy environment, the sentry particles may get constantly triggered by polluted fitness value, making all other particles to reset their memory, even when there is no actual movement of optimum. It alters the classical PSO’s decentralized processing model into centralized control model. In this, all other particles have to depend on one or more number of sentries for detecting and responding to environment changes. Identifying a particle that is capable of
815
working as sentry to monitor environment makes this variant difficult to use in distributed environment. Du and Li designed Multi-Ensemble Particle Swarm Optimization (MEPSO) in [29] for handling severe environmental changes. In the search space representing dynamic environment, the swarm population is initially divided into two parts and are termed as part I and part II, respectively. They play different roles in the search space by using different strategies. The particles in part I search the global optimum in the current environment as quickly as possible. It guarantees good convergence. To improve local search ability of part I, the authors proposed Gaussian local search. In every iteration, each particle has the probability Pls to make the Gaussian local search as defined in Eqs. (3) and (4) and has (1 − Pls ) to make the canonical search as defined in Eqs. (1) and (2). The global best identified in part I is the best solution found in the entire population. By performing local search with probability Pls , a particle can search for the optimum around its current position when it is on the process of flying to the best position found by the entire swarm. Therefore, each particle has a chance to search for its neighborhood, and it might facilitate to find the optimum in dynamic multimodal environments. Gaussian local search has been proved by many researchers to be a good strategy to enhance the ability of elaborate search [29]. The movement of particles in part II extend the searching area of the algorithm, and to patrol around part I to track the changed global optimum that is missed by particles of part I. To enable this, each particle in part II has a probability 0.5 to fly to get closer to the personal best of a particle randomly chosen from part I and has the probability 0.5 to fly to get farther away from it. The said exploration strategy is referred to as differential mutation and is achieved using Eq. (5) to renew the velocity.
vid (t + 1) = c3 ∗ gaussrand( )
(3)
xid (t + 1) = xid (t ) + vid (t + 1)
(4)
where i = 1, 2, . . . , m and d = 1, 2, . . . , D gaussrand() is a random number generated from a standard normal distribution [mean µ = 0, variance ∆2 = 1, ‘c3 ’ is a positive constant]
vid (t + 1) = sgn(r1 − 0.5){wv id (t ) + c1 r2 [pid − xid (t )] + c2 r3 [pad − xid (t )]}
(5)
where sgn(k) = −1 if k < 0 0 1
if k = 0 if k > 0
Pad is the best solution found by particle ‘a’ which is chosen randomly from part I. ‘r1 ’, ‘r2 ’, ‘r3 ’ are uniformly distributed random numbers in the interval (0, 1). The strategy of differential mutation enhances the communication between part I and part II. It prevents the algorithm from being premature by extending particle’s search area. 2.2.4. Decentralized PSO without sentry particles In 2002, Carlisle et al. [27,30] proposed a Dynamic Adaptive PSO (DAPSO) for monitoring and automatically reacting to the changes in the environment. It is used to find moving optimal solution in a dynamically changing and noisy environment. The promising feature of DAPSO is the renewal of particle’s memory without any centralized control. In DAPSO, there is no specially designed particle to monitor the change of the environment and there is no additional fitness evaluation computing to enable the particle adapt to the changed environment. In this, each particle will compare the fitness value of its current location with that of the personal best location. If the current fitness value does not have
816
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
any improvement, the particle will use the following equation to update the personal best fitness value Pi. Pi(t + 1) =
Pi(t ) ∗ T f (Xi(t + 1)) = Pi(t ) ∗ T f (Xi(t + 1)) f (Xi(t + 1)) > Pi(t ) ∗ T .
The evaporation constant T is introduced and has a value between 0 and 1 [25,22]. The personal fitness value that is stored in each particle’s memory and the global fitness value of the particle swarm will gradually evaporate (decrease) at the rate of the evaporation constant T overtime. Once the particle continuously fails for improving its current fitness value by using its previous searching experience, the particle’s personal best fitness value will gradually decrease. Eventually, the personal and global best fitness value will be lower than the fitness value of the particle’s current location and the best fitness value will be replaced by the particle’s current fitness value [26]. Although all particles have the same evaporation constant, each particle’s updating frequency may not be the same. The updating frequency depends on the particle’s previous personal best fitness value f (p) and the current fitness value f (x) that the particle acquired. The particle will update its best fitness value more frequently by using the current fitness value when f (p) is lower and f (x) is higher. However, when f (p) is higher and f (x) is lower in a changing environment, it indicates that the particle’s current location is far away from the current optimal solution, compared to the distance between the optimal solution and the best fitness value’s position stored in the particle’s memory. Usually the new environment is closely related to the previous environment from which it evolutes. It would be beneficial to use the knowledge about the previous search space to help searching for the new optimal. The particle that keeps the best fitness value becomes obsolete. The fitness value update equation enables the search particles to self-adapt to the changing environment. The conventional methods for VM placement mainly driven by performance objectives are not more suitable for combinatorial problems. The application of automatic environment sensing technique such as DAPSO for handling VM placement is more appropriate for a large scale highly dynamic heterogeneous cloud, as it can give near optimal solution within a reasonable amount of time. 3. Problem formulation We now formulate the problem of placing ‘n’ VM instances on ‘m’ hosts. The hosts in the resource pool representing compute resources are assumed to be heterogeneous and dynamic using space shared allocation policy. Each compute resource is DVFS enabled and is associated with the available number of PEs, memory size for VM creation, operational frequency and instantaneous load. The compute resource changes state dynamically based on the load. Similarly each VM instance representing workload is associated with the number of required PEs and the required size of the memory. The workloads are considered to be independent of each other and are equal in priority. Initially, a subset of compute resources is kept in shallow sleep state (SSS) based on the demand and the rest are kept in deep sleep state (DSS). When the demand goes high, the PEs that have become idle are moved to SSS and when the demand goes low, idle PEs can be transitioned to DSS. Thus the resource pool contains active PEs as well as idle PEs with varying power consumption based on load and demand, respectively. The problem can be stated as follows. Find a workload-compute resource mapping instance M, such that the total incremental power drawn by the mapped workloads (VM) on to compute resources (CR) is minimized, while maximizing the performance by fulfilling the resource requirements of maximum number of workloads.
We define APA-VMP as a four tuple C = {CR, VM, P , M }. Let CR be a set of ‘m’ available compute resources denoted by CR(m, t ) = {CR1 , CR2 , . . . , CRm }, available at provisioning start time ‘t’. Let VM be a set of ‘n’ workloads denoted by VM(n, t ) = {VM1 , VM2 , VM3 , . . . , VMn } accumulated within a time window ‘to ’. Let P (m, t ) = {P1 , P2 . . . Pm } be the power model representing power consumption by the ‘m’ compute resources in resource pool. The workload assignment gives priority to lightly loaded active PEs, which results in lesser increment in total power drawn. When all the active PEs are heavily loaded, then the workload mapping gives priority to PEs in SSS than that in DSS due to the fact that assigning workload to shallow sleep servers results in lesser increment in the total power drawn, compared to deep sleep servers. The problem is multimodal, having more than one mapping which meet the performance constraints of the VM requests. Hence the goal is to find all of ‘a’ candidate mapping instances which maximize the performance and then to find which among those minimizes the power consumption. To meet performance constraints, a metric called ‘‘mean allocation value’’ denoted by ‘θr ’ representing resource fulfillment requirement is defined as follows.
ψij =
1 0
if rrVMi = arHostj ; if rrVMi > arHostj ;
i ∈ {1, 2, 3, . . . , n} j ∈ {1, 2, 3, . . . , m}.
(6)
Here, rrVMi and arHostj denote the minimum resource requirements of ith VM and the available resource of jth host, respectively. ψij denotes the allocation of ith job on the jth host.
n m
j i
i=1 j=1 ψ θr = ; n
i ∈ {1, 2, 3, . . . , n}, j ∈ {1, 2, 3, . . . , m},
r ∈ {1, 2, 3, . . . , s}
(7)
where ‘s’ denotes the total number of mappings. ‘θr ’ can vary from 0 to 1. Out of ‘s’ mappings, ‘a’ mappings with maximum ‘θr ’ values give the best performance and they are represented as M [m, n, a, t ]. The second metric is based on the power consumption. The mappings of successive stages are represented as M [m, n, r , t + to (k)] where ‘r’ denotes the number of mappings and ‘k’ is an integer increasing with successive provisioning, representing a stage. The ‘a’ successful mappings at stage ‘k’ is represented as M [m, n, a, t + to (k)] and their corresponding power consumptions is denoted as (ρkr ); r ∈ {1, 2, 3, . . . , a}. Out of this ‘a’ candidate mappings, those mappings which have chosen compute resources in SSS definitely have less increment in the power consumption compared to those mappings which have chosen compute resources in DSS. The best mapping which has been scheduled at stage ‘k − 1’ is represented as M [m, n, b, t + to (k − 1)] and its power consumption is denoted as (ρkb−1 ). Now increase in the power consumption collectively in all CR(m, t ), due to mappings M [m, n, a, t + to (k)] with respect to previous mapping M [m, n, b, t + to (k − 1)] is defined as the incremental power and is denoted by ∆r .
∆r = (ρkb−1 ) ∼ (ρkr );
r ∈ {1, 2, 3, . . . , a}.
(8)
For better power conservation, ∆r is minimized to get optimal mapping and is denoted as follows.
δk = min⟨∆r ⟩; a
ρk = ρk−1 + δk .
r ∈ {1, 2, 3, . . . , a}
(9) (10)
Thus the proposed VM provisioner minimizes ‘∆r ’ for power efficiency and maximizes ‘θr ’ for better performance requirements in order to satisfy both cloud providers as well as cloud consumers.
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
817
Table 2 Solution representation of a particle. Dimension
xkij
skij
Dimension
xkij
skij
0 1 2 3 4
1.13 3.91 −0.21 −0.39 3.25
3 9 1 0 7
5 6 7 8 9
3.51 2.74 3.10 0.99 1.62
8 5 6 2 4
converted into sequence numbers and then into resultant set rik . For example, if there are ten resources and four jobs are to be mapped onto them, then according to the solution generated by a particle, 0th job is assigned to 3rd machine, 1st job to 2nd machine, 2nd job to 8th machine and 3rd job to 0th machine. In the proposed system ski and rik are the same. Fig. 1. Architecture of metascheduler.
The implementation of the optimality criterion to minimize power without violating the SLAs is shown in Section 5. 4. System architecture Fig. 1 depicts the proposed architecture of metascheduler for cloud environment. It shows the position of provisioner APA-VMP and its interaction with other entities [31,32]. The clients submit a list of required VM specification through cloud interface software. The resource monitor gets periodically updated with the available number of PEs, memory, storage and power consumption. The APA-VMP receives a batch of workloads belonging to different users in its scheduling time window. As it runs in batch mode, it is able to take better advantages of resource dynamics. Finally, the workload-compute resource mapping (schedule) is given by provisioner to the dispatcher module for launching VM instances in the target hosts. 5. Self-adaptive PSO methodology for efficient VM provisioning This section discusses the design of proposed Self-Adaptive PSO algorithm (SAPSO) for VM provisioning in cloud environment. 5.1. Solution representation The key issue in designing a successful PSO algorithm is the solution representation as it describes a direct relationship between the problem domain and the particles in PSO [33]. Here ‘n’ workloads are to be allocated to ‘m’ different compute resources. So, the particles are represented as ‘n’ dimensional vector. Each dimension has a discrete set of possible assignment limited to ‘m’. Consider the problem of assigning 3 hosts to 10 workloads. Table 2 shows one possible mapping instance given by a particle in the PSO domain. The position vector is denoted by xki = (xki1 , xki2 , . . . , xkij , . . . , xkiD ), where xkij denotes the position of jth dimension of ith particle in kth generation. The velocity k k vector is denoted by v ki = (vi1 , vi2k , . . . , vijk , . . . , viD ), where vijk denotes the velocity in jth dimension of ith particle in kth generation. The personal best position vector and global best position vector are represented by pℓi = ( pℓi1 , pℓi2 , . . . , pℓiD ) and g g g pg = (p1 , p2 , . . . , pD ). pℓi represents the ever best position of g each particle and p represents the best position obtained so far in the population. By applying Smallest Position Value (SPV) rule [34,33] the continuous PSO algorithm is applied here to sequencing problem. Thus position of the particle is now converted to a permutation sequence ski = (ski1 , ski2 , . . . , skiD ). N random numbers are generated corresponding to m servers in the resource pool and
5.2. Scheduling heuristic handler A scheduling heuristic handler has been designed to invoke SAPSO and is shown in Algorithm 5.1. The handler gets a list of ‘n’ workloads to be processed in a time window ‘to ’ with the number of compute resources available and based on their values the dimension of the particle is fixed. The handler gets the resource dynamics of resource pool such as PE’s count and memory size of all available resources as well as instantaneous power consumption of active and idle servers and then invokes SAPSO. 5.3. SAPSO The pseudocode of SAPSO has been given in Algorithm 5.2. To begin with, the PSO parameters are initialized as shown in Table 3 [23]. The position vectors and velocity vectors for the entire population are set randomly. The sequence vector and operation vector are found as explained before. The fitness value of each particle which denotes the maximum number of VM requests that can be fulfilled by its mapping is computed and also the mean allocation value is found. For the first iteration, the personal best position vector pℓi is set with current position vector of each particle. To find pg , the set of ‘a’ particles which have maximum mean allocation value θr ; r ∈ {1, 2, 3, . . . , a} is found. Next it finds the optimal mapping out of ‘a’ particles which has a minimum increment in power consumption by considering load on active servers and power saving modes of idle servers. In the subsequence iterations to sense and track the changes in the resource pool, an evaporation constant ‘E’ is used, which varies between 0 and 1. The purpose of ‘E’ is to remove outdated personal best position. So, the personal fitness value is made to decrease at the rate ‘E’ over time for self-adaptive provisioning. Once the particle continuously fails for improving its current fitness value, the particle’s personal best value will gradually decrease. Eventually, it will be lower than the current fitness value, and so the personal best fitness value will be replaced by the current fitness value corresponding to the changed environment. Thus the algorithm is able to sense the new powered on hosts as well as recently powered off hosts and consider this updated information for resource provisioning. So, better resource is always exploited. Moreover, allocating VMs to unavailable hosts resulting in failure in provisioning is minimized. In this algorithm, the particles preserve its personal best position in memory, until the best fitness value becomes obsolete. The fitness value update equations help to capture the change in the resource status such as increase or decrease in memory size, number of available cores, etc. and thus new optimum can very well be captured during the process of optimization. Finally, the position vector corresponding to the global best vector shows the optimal mapping of VMs onto compute resources using self-adaptive power-aware provisioning in the metascheduler. The VMs are scheduled upon finding such a mapping.
818
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
Algorithm 5.1 Scheduling Heuristic Handler Algorithm: APA-VMP handler 1. Get the dynamic power state of servers in the resource pool 2. Get workload list in a scheduler time window and let the number of workloads be n 3. Get present Power Consumption Po of the resource pool 4. Repeat 5. particle dimension = n 6. Get resource dynamics # Available compute resources in the resource pool and their current power saving state 7. Optimal-Mapping-Instance = SAPSO (particle dimension, resource dynamics, Po ) # Po —power model 8. Dispatch the workloads 9. Update resource dynamics of the resource pool 10. Get the workload list 11. Until (There are unscheduled workloads in the scheduler time window) 12. Stop Algorithm 5.2 SAPSO Algorithm: SAPSO (dimension, resource dynamics, Po ) # Po —power model 1. Initialize simulation parameters; # see Table 3 2. set resource dynamic interval; 3. set position vector xki randomly; 4. set velocity vector vik , randomly; 5. Find sequence vector ski and operation vector rik ; 6. Find fitness value using the fitness function equations (6) & (7); 7. set personalBest vector of each particle pℓi , as its current position; 8. Find globalBest vector pg of the population; 9. set k = 2; 10. Repeat 11. Get resource dynamics; 12. #pragma omp parallel for 13. for each particle i in the entire population 14. ParBegin 15. find _PersonalBest(vik , xki , i) 16. ParEnd 17. Find the maximum fitness value Max θ and number of particles with Max θ 18. if (there are more than one particle with Max θ ) 19. find the particle ‘q’ with minimum ∆ using Eq. (8) 20. update fitness value of globalBest F g = f (rqk ) 21. update globalBest vector pg = xki 22. update inertia w = w ∗ 0.01 23. k = k + 1; 24. Until (k > kmax) Procedure find _PersonalBest(vki , xki , i) 1. Begin 2. update velocity vector vik 3. update position vector xki 4. Apply SPV rule to find the sequence vector ski ; 5. if (m < n) rik = ski mod m else rik = ski ; 6. Find fitness value using the fitness function Eqs. (6) & (7) 7. # if the fitness value of kth iteration is better than that of Personal Best vector 8. If ( f (rik ) > f (pℓi ) ∗ E ) 9. update fitness value of personalBest Fiℓ = f (rik ) 10. update personalBest vector pℓi = xki 11. else 12. Fiℓ = Fiℓ ∗ E 13. End 6. Experimental setup and results The simulated dynamic environment was set up using an event driven simulator named cloudsim toolkit [35] which uses the correlated sampling variance reduction technique. The cycle length
of random number generator is 109. A resource pool containing 100 servers was created with different sizes of memory and varying number of processing cores. Ten batches of virtual machine requests, each containing 20 requests belonging to different users and with varying resource requirements, were created.
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821 Table 3 Specific parameter settings of the considered algorithm. Parameter name
Parameter value
Swarm size Dimension Generation Runs Self-recognition coefficient, c1 Social coefficient, c2 Inertia weight w r1 , r2 xki
20 10 20 10 2 2 0.9 → 0.4 U (0 , 1 ) (0–50) (−50 to 50)
vik
The APA-VMP module calls the optimizer, which in turn fetches the resource state of the data center periodically. Experiment 1: comparison of Std PSO, MEPSO and SAPSO in detecting and tracking optimal target server This experiment was conducted to find the effectiveness of the SAPSO algorithm in tracking and finding the changing optima representing the target host for VM placement. In this scenario, the runtime duration of initial workloads was chosen in such a way that VMs get shut down periodically and the allocated PEs and memory get reclaimed. This makes a comparatively lightly loaded nodes (optimal) become subsequently available in the resource pool during the provisioning interval. The presence of changing optimum was simulated using cloudsim. Upon getting a new batch of VM request, the provisioner implementing MEPSO and SAPSO senses and tracks the changing optimum hosts for workload placement, resulting in the reduction of power consumption, whereas the provisioner implementing StdPSO fails to do so. The experimental results have been graphically shown in Fig. 2. Experiment 2: analysis of the number of failures in VM provisioning In this scenario, dynamic resource withdrawal was simulated by scheduling a few host failure events and host shut down events to occur during the resource provisioning interval. These events caused some failures in VM provisioning, because of the non-availability of the mapped host for some VM requests. The provisioner implementing StdPSO results in more number of invalid VM allocations, whereas the provisioner implementing MEPSO or SAPSO performs better in finding the suitable host in the dynamic resource pool, which has been depicted in Fig. 3. This is because of the outdated memory in Standard PSO, whereas MEPSO and SAPSO are quite efficient in detecting the host withdrawals during the provisioning interval, and react in a better manner by finding available hosts which fulfill the resource requirements of the incoming VM requests. Experiment 3: analysis of the rate of failure in VM provisioning with fixed and variable evaporation factor This experiment evaluates one of the important attribute of SAPSO that brings adaptive provisioning in a dynamic environment. It shows the impact of variable and fixed evaporation factor on the performance of SAPSO in a highly dynamic resource pool. Initially, the rate of failure in VM allocations is recorded for varying host withdrawal rate. The runs were tested with fixed evaporation factor as well as variable evaporation factor. The results show that the adjustments in evaporation factor according to the rate of change in resource dynamics reduces the rate of failure in VM allocation and this has been graphically shown in Fig. 4. Experiment 4: impact of exploiting power saving states along with DVFS in VM provisioning In this experiment, out of 100 servers, 50 servers were kept busy, while the rest of the servers were transitioned to different sleep states. A batch of 10 jobs, each requiring 2 cores for a constant period of time, was considered as the workload to be processed by the resource pool. The performance of the two
819
different provisioning policies, the first one using only DVFS and the second one using DVFS with Power Saving States (PSS) were tested. Initially, the load on each busy server was set between 10% and 25% of their capacity, and the increment in the power consumption of the data center for the submitted workload was measured for both the policies. Then the experiment was repeated by varying loads of 50%, 75% and 100% and the increment in the power consumption was measured. The results show that the second policy significantly outperforms the former in terms of power conservation especially when the busy servers are heavily loaded and this has been depicted in Fig. 5. This is because assigning jobs onto heavily loaded server always results in an increase in the operating frequency to handle the load, which in turn increases more power consumption, whereas, assigning jobs to the servers in shallow sleep state results in lesser increment in power consumption. Thus the combined strategy can very well be exploited while making scheduling decisions at a metascheduler level. Experiment 5: power performance trade-off The aim of the experiment is to find the optimal provisioning policy which balances the benefits due to power conservation and performance fulfillment. As the incoming workload is time critical VM request, and as the provider has to meet strict SLA compliance, any violations in SLA in terms of delay in launching VM will incur penalty cost on the provider. So the provider has to trade-off between the power consumption cost and penalty cost. We formulated four different policies. The first one is On/Off policy, wherein all idle servers are switched off. Obviously this policy gives the best power conservation, but it incurs higher penalty cost. The second one is the single-DSS policy, wherein all idle servers are transitioned to deep sleep state. This causes an increase in the power consumption cost, but there is a significant reduction in the penalty cost. The third policy is single-SSS, wherein all idle servers are transitioned to shallow sleep state. In this policy, there is no penalty cost due to the absence of SLA violation, but there is enormous increase in the power consumption cost. The fourth policy is multiple-SS, wherein some of the idle servers are kept in deep sleep and others are in shallow sleep based on the short term prediction. This policy gives optimal cost due to power performance trade-off, which is depicted in Fig. 6. 7. Conclusion and scope for future work As the main purpose of cloud computing is to facilitate consumers to manage unexpected demand in resources, the data center becomes inherently dynamic. In the IaaS cloud, there is an instantaneous resource provisioning on demand as well as resource reclamation when the customer no longer requires the resources. As cloud resource pool is large scale, only the heuristic method is better in providing reasonable solution within a short duration compared to conventional methods. The dynamic nature of the pool necessitates the application of adaptive PSO to sense changes in the resource state and respond efficiently. The proposed APA-VMP considers resource dynamics and the power consumption of busy servers with different loads as well as idle servers in different sleep states to make scheduling decision focused on minimizing the incremental power drawn due to workload mapping without degrading performance. The SAPSO algorithm is better compared to MEPSO as the former is selfadaptive and preserves the fitness value corresponding to the optimal solution until it becomes obsolete. The MEPSO takes more time to find optimal solution as the re-randomization causes the particle to forget the memory and re-computation of fitness value brings computational overhead. The dynamic PSO can also be used in a resource monitor to find the rate of change in the resource pool and to maintain the supply and demand in equilibrium. Our future
820
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
Fig. 2. Performance comparison of Std PSO, MEPSO and SAPSO in detecting and tracking the performance efficient as well as power-efficient provisioning.
Fig. 3. Comparison of increase in the number of failed VM provisioning with increase in the VM requests.
Fig. 4. Analysis of the rate of failure for fixed and variable evaporation factor.
Fig. 5. Impact of exploiting power saving states along with DVFS in VM provisioning.
Fig. 6. Power Performance trade-off with different provisioning policies.
work will focus on designing and implementing power-aware software framework encompassing dynamic prediction service
using neural network and adaptive provisioning service to improve power conservation in modern data centers.
R. Jeyarani et al. / Future Generation Computer Systems 28 (2012) 811–821
References [1] A. Gandhi, M. Harchol Balter, R. Das, C. Lefurgy, Optimal power allocation in server farms, in: Proc. 11th Int. Joint Conference on Measurement and Modeling of Computer Systems, ACM, New York, USA, 2009, pp. 157–168. [2] James E. Smith, Ravi Nair, Virtual Machines-Versatile Platforms for Systems and Processes, first ed., Elsevier, USA, 2005. [3] Krishna Kant, Data center evolution—a tutorial on state of the art, issues, and challenges, Computer Networks 53 (2009) 2939–2965. [4] J. Kennedy, R.C. Eberhart, Particle swarm optimization, in: Proc. IEEE Int. Conf. Neural Networks, Piscataway, NJ, 1995, pp. 1942–1948. [5] Eduardo Pinheiro, Ricardo Bianchini, Enrique V. Carrera, Taliver Heath, Load balancing and unbalancing for power and performance in cluster-based systems, in: Int. Conf. on Parallel Architectures and Compilation Techniques, Barcelona, Spain, 2001, pp. 182–195. [6] James M. Kaplan, William Forest, Noah Kindler, Revolutionizing Data Centre Energy Efficiency, McKinsey & Company, 2008, White Paper. [7] Vasanth Venkatachalam, Michael Franz, Power reduction techniques for microprocessor systems, ACM Computing Surveys 37 (2005) 195–237. [8] Jacob R. Lorch, Alan Jay Smith, Improving dynamic voltage scaling algorithms with PACE, in: Proc. ACM SIGMETRICS Int. Conf. on Measurement and Modeling of Computer Systems, New York, NY, USA, 2001, pp. 50–61. [9] Dmytro Dyachuk, Michele Mazzucco, On allocation policies for power and performance, in: 11th IEEE/ACM Int. Conf. on Grid Computing, GRID, 2010, pp. 313–320. [10] Malcolm Ware, Karthick Rajamani, Michael Floyd, Bishop Brock, June C. Rubio, Freeman Rawson, John B. Carter, Architecting for power management: the IBM POWER 7 approach, in: Proc. IEEE 16th International Symposium on High Performance Computer Architecture, HPCA, IEEE Press, 2010. [11] Anton Beloglazov, Rajkumar Buyya, Young Choon Lee, Albert Zomaya, A taxonomy and survey of energy-efficient data centers and cloud computing systems, Advances in Computers 82 (2011) 47–111. [12] Akshat Verma, Puneet Ahuja, Anindya Neogi, PMapper: power and migration cost aware application placement in virtualized systems, in: Proc. 9th ACM/IFIP/USENIX Int. Conf. on Middleware, Spinger-Verlag, New York Inc., New York, USA, 2008, pp. 243–264. [13] Cosmin Rusu, Alexandre Ferreira, Claudio Scordino, Aaron Watson, Energyefficient real-time heterogeneous server clusters, in: Proc. IEEE Real-Time and Embedded Technology and Applications Symposium, San Jose, USA, 2006, pp. 418–428. [14] Y.C. Lee, A.Y. Zomaya, Rescheduling for reliable job completion with the support of clouds, in: Federated Resource Management in Grid and Cloud Computing Systems, Future Generation Computer Systems 26 (2010) 1192–1199 (special issue). [15] R. Jeyarani, N. Nagaveni, R. Vasanth Ram, Self adaptive particle swarm optimization for efficient virtual machine provisioning in cloud, International Journal of Intelligent Information Technology 7 (2011) 25–44. [16] Andries P. Engelbrecht, Computational Intelligence: An Introduction, second ed., John Wiley & Sons, New Jersy, 2007. [17] G. Sudha Sadasivam, V. Viji Rajendran, An efficient approach to task scheduling in computational grids, International Journal of Computer Science & Applications 6 (2008) 53–69. [18] S. Panday, Linlin Wu, S.M. Guru, R. Buyya, A particle swarm optimization (PSO)based heuristic for scheduling workflow applications in cloud computing environment, in: Proc. 24th IEEE International Conf. on Advanced Information Networking and Applications, AINA, IEEE Press, Perth, Australia, 2010, pp. 400–407. [19] A. Chanane, Y. Pisal, Paul R. Drake, PSO-based algorithm for home care worker scheduling in the UK, Journal of Computers & Industrial Engineering 53 (2007) 559–583. [20] N. Mladenovic, P. Hansen, Variable neighborhood search, Computers and Operations Research 24 (1997) 1097–1100. [21] R.C. Eberhart, Y. Shi, Tracking and optimizing dynamic systems with particle swarms, in: Proc. IEEE Congress on Evolutionary Computation, IEEE Press, Seoul, Korea, 2001, pp. 94–97. [22] Y.H. Shi, R.C. Eberhart, Parameter selection in particle swarm optimization, in: Proc. Seventh Annual Conference on Evolutionary Programming, USA, 1998, pp. 591–600. [23] Y. Shi, R.C. Eberhart, Empirical study of particle swarm optimization, in: Proc. 1999 Congress on Evolutionary Computation, Washington DC, USA, 1999, pp. 101–106. [24] S.N. Sivanandam, P. Visalakshi, A. Bhuvaneswari, Mutiprocessor scheduling using hybrid particle swarm optimization with dynamically varying inertia, International Journal of Computer Science & Applications Technomathematics Research Foundation 4 (2007) 95–106. [25] X. Hu, R.C. Eberhart, Adaptive particle swarm optimization: detection and response to dynamic systems, in: Proc. Congress on Evolutionary Computation, CEC 2002, IEEE Press, 2002, pp. 1666–1670.
821
[26] X. Hu, R.C. Eberhart, Tracking dynamic systems with PSO: where’s the cheese? in: Proc. Workshop on Particle Swarm Optimization, Indianapolis, 2001, pp. 80–83. [27] A. Carlislie, G. Dozler, Tracking changing extrema with adaptive particle swarm optimizer, in: Proc. 5th Biannual World Automation Congress, Orlando, Florida, USA, 2002, pp. 265–270. [28] Xiaohui Hu, Yuhui Shi, Russel C. Eberhart, Recent advances in particle swarm, in: Proc. IEEE Congress on Evolutionary Computation, CEC2004, IEEE Service Center, Piscataway, 2004, pp. 90–97. [29] Weilin Du, Bin Li, Multi-strategy ensemble particle swarm optimization for dynamic optimization, International Journal of Information Sciences 178 (2008) 3096–3109. [30] Xiaohui Cui, Thomas E. Potok, Distributed adaptive particle swarm optimizer in dynamic environment, in: Proc. Parallel and Distributed Processing Symposium, IPDPS 2007, IEEE Press, California, Los Angles, 2007, pp. 1–7. [31] R. Jeyarani, R. Vasanth Ram, N. Nagaveni, Implementation of efficient light weight internal scheduler for high throughput grid environment, in: Ebenezer Jeyakumar, R. Rangarajan (Eds.), Proc. National Conf. on Adv. computing in Computer Applications, NCACCA2009, Coimbatore, INDIA, 2009, pp. 283–289. [32] G. Sudha Sadhasivam, R. Jeyarani, R. Vasanth Ram, N. Nagaveni, Design and implementation of an efficient two level scheduler for cloud computing environment, in: Proc. Int. Conf. on Advances in Recent Technologies in Communication and Computing, ARTCOM2009, Kottayam, INDIA, 2009. pp. 884–886. [33] M.F. Tasgetiren, M. Sevkli, Y.Ch. Liang, G. Gencyilmaz, Particle swarm optimization algorithm for permutation flowshop sequencing problem, Lecture Notes in Computer Science 3172 (2004) 382–390. [34] M.F. Tasgetiren, M. Sevkli, Y.C. Liang, G. Gencyilmaz, Particle swarm optimization algorithm for single-machine total weighted tardiness problem, in: Proc. Congress on Evolutionary Computation, CEC2004, Portland, Oregan, USA, 2004, pp. 1412–1419. [35] N. Rodrigo, Calheiros, Rajiv Ranjan, Anton Beloglazov, Cesar A.F. De Rose, Rajkumar Buyya, Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms, Software: Practice and Experience, SPE 41 (2011) 23–50.
R. Jeyarani is working as an Assistant Professor in the Department of Computer Technology and Applications, Coimbatore Institute of Technology, India. She has 14 years of teaching experience in computer science. She received her master’s degree in Computer Applications from Avinashilingam Deemed University in the year 1994. She received her M.Phil. degree from PSG College of Technology, Coimbatore in the year 2003. She is currently pursuing her Ph.D. in Anna University, Chennai. Her areas of interest include Grid Computing, Cloud Computing, Service Oriented Architecture, Data Base Management System and Parallel Programming. She has more than seven publications in the area of Agent Technology, Grid computing, Cloud Computing and Power-Aware Scheduling.
N. Nagaveni is working as a Professor in the Department of Mathematics in Coimbatore Institute of Technology, Coimbatore, India for the past 18 years. She completed her Master’s degree in Mathematics in Avinashilingam Deemed University. She received her doctorate degree in the area of topology from Bharathiyar University, Coimbatore in the year 2000. Her areas of interest include Topology, Data Mining, Web Mining, Grid Computing, Cloud Computing, Privacy Preservation and Image processing. She has chaired several workshops and conferences supported by ACM and IEEE. She has published several papers in international journals and conferences. R. Vasanth Ram has completed his Bachelor’s degree in Electronics and Communication Engineering from PSG College of Technology, India. He has published many papers in the area of grid computing and cloud computing. His field of specialization includes robotics, networking, cloud computing and grid computing. He has designed two incredible robots namely Efficient Land Rover and Object Locating Robot. He has presented papers based on his project work titled Improvement in Power Consumption in CMOS Digital Circuits and Design and FPGA Implementation of Low Power Content Addressable Memory.