Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> To enable efficient resource provisioning in HaaS (Hardware as a Service) cloud systems, virtual machine packing, which migrate virtual machines to minimize running real node, is essential. The virtual machine packing problem is a multi-objective optimization problem with several parameters and weights on parameters change dynamically subject to cloud provider preference. We propose to employ Genetic Algorithm (GA) method, that is one of the meta-heuristics. We implemented a prototype Virtual Machine packing optimization mechanism on Grivon, which is a virtual cluster management system we have been developing. The preliminary evaluation implied the GA method is promising for the problem. <s> BIB001 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> Based on the deep research on Infrastructure as a Service (IaaS) cloud systems of open-source, we propose an optimized scheduling algorithm to achieve the optimization or sub-optimization for cloud scheduling problems. In this paper, we investigate the possibility to allocate the Virtual Machines (VMs) in a flexible way to permit the maximum usage of physical resources. We use an Improved Genetic Algorithm (IGA) for the automated scheduling policy. The IGA uses the shortest genes and introduces the idea of Dividend Policy in Economics to select an optimal or suboptimal allocation for the VMs requests. The simulation experiments indicate that our dynamic scheduling policy performs much better than that of the Eucalyptus, Open Nebula, Nimbus IaaS cloud, etc. The tests illustrate that the speed of the IGA almost twice the traditional GA scheduling method in Grid environment and the utilization rate of resources always higher than the open-source IaaS cloud systems. <s> BIB002 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> In a typical large-scale data center, a set of applications are hosted over virtual machines (VMs) running on a large number of physical machines (PMs). Such a virtualization technique can be used for conserving power consumption by minimizing the number of PMs that should be turned on according to the application requirements to resource. However, the resource demands for VMs is dynamic in nature since the number of user requests the applications should handle is rapidly changing in practice. It is a great challenge to online reconfigure the VMs (i.e., optimize the number and the locations for the VMs) according to the dynamic resource demands. Especially for the emerging applications of large-scale data centers for cloud computing systems, existing approaches either fails to find a best configuration of VMs or cannot produce a result in an acceptable time. In this paper, we propose an online self-reconfiguration approach for reallocating VMs in large-scale data centers. It first accurately predicts the future workloads of the applications with Brown’s quadratic exponential smoothing. Based on such a prediction, it adopts a genetic algorithm to efficiently find the optimal reconfiguration policy. The resource utilization of large-scale cloud computing data centers can thus be improved and their energy consumption can be greatly conserved. We conduct extensive experiments and the results verify that our approach can effectively switch off more unnecessary running PMs comparing with current approaches without a performance degradation of the whole system. <s> BIB003 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> This paper considers the scenario where multiple clusters of Virtual Machines (i.e., termed as Virtual Clusters) are hosted in a Cloud system consisting of a cluster of physical nodes. Multiple Virtual Clusters (VCs) cohabit in the physical cluster, with each VC offering a particular type of service for the incoming requests. In this context, VM consolidation, which strives to use a minimal number of nodes to accommodate all VMs in the system, plays an important role in saving resource consumption. Most existing consolidation methods proposed in the literature regard VMs as "rigid" during consolidation, i.e., VMs' resource capacities remain unchanged. In VC environments, QoS is usually delivered by a VC as a single entity. Therefore, there is no reason why VMs' resource capacity cannot be adjusted as long as the whole VC is still able to maintain the desired QoS. Treating VMs as being "mouldable" during consolidation may be able to further consolidate VMs into an even fewer number of nodes. This paper investigates this issue and develops a Genetic Algorithm (GA) to consolidate mouldable VMs. The GA is able to evolve an optimized system state, which represents the VM-to-node mapping and the resource capacity allocated to each VM. After the new system state is calculated by the GA, the Cloud will transit from the current system state to the new one. The transition time represents overhead and should be minimized. In this paper, a cost model is formalized to capture the transition overhead, and a reconfiguration algorithm is developed to transit the Cloud to the optimized system state at the low transition overhead. Experiments have been conducted in this paper to evaluate the performance of the GA and the reconfiguration algorithm. <s> BIB004 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> Cloud Systems provide the computing infrastructure and on-demand capacity required to host services. <s> BIB005 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> With increasing numbers of energy hungry data centers energy conservation has now become a major design constraint. One traditional approach to conserve energy in virtualized data centers is to perform workload (i.e., VM) consolidation. Thereby, workload is packed on the least number of physical machines and over-provisioned resources are transitioned into a lower power state. However, most of the workload consolidation approaches applied until now are limited to a single resource (e.g., CPU) and rely on simple greedy algorithms such as First-Fit Decreasing (FFD), which perform resource-dissipative workload placement. Moreover, they are highly centralized and known to be hard to distribute. In this work, we model the workload consolidation problem as an instance of the multi-dimensional bin-packing (MDBP) problem and design a novel, nature-inspired workload consolidation algorithm based on the Ant Colony Optimization (ACO). We evaluate the ACO-based approach by comparing it with one frequently applied greedy algorithm (i.e., FFD). Our simulation results demonstrate that ACO outperforms the evaluated greedy algorithm as it achieves superior energy gains through better server utilization and requires less machines. Moreover, it computes solutions which are nearly optimal. Finally, the autonomous nature of the approach allows it to be implemented in a fully distributed environment. <s> BIB006 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> With the advent of cloud computing and the need for increasing amount of computing power, cloud infrastructure providers are now facilitating the deployment of large-scale data centers. In order to efficiently manage such environments three important properties have to be fulfilled by their resource management frameworks: (1) scalability, (2) autonomy (i.e. self-organization and healing), (3) energy-awareness. However, existing open-source cloud management stacks (e.g. Eucalyptus, Nimbus, Open Nebula, Open Stack) have a high degree of centralization and limited power management support. In this context, this PhD thesis focuses on more scalable, autonomic, and energy-aware resource management frameworks for large-scale cloud infrastructures. Particularly, a novel virtual machine (VM) management system based on a self-organizing hierarchical architecture called Snooze is proposed. In order to conserve energy, Snooze automatically transitions idle servers into a low-power mode (e.g. suspend). To favor idle times the system integrates a nature-inspired VM consolidation algorithm based on the Ant Colony Optimization (ACO). <s> BIB007 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> Virtual machine placement is a process of mapping virtual machines to physical machines. The optimal placement is important for improving power efficiency and resource utilization in a cloud computing environment. In this paper, we propose a multi-objective ant colony system algorithm for the virtual machine placement problem. The goal is to efficiently obtain a set of non-dominated solutions (the Pareto set) that simultaneously minimize total resource wastage and power consumption. The proposed algorithm is tested with some instances from the literature. Its solution performance is compared to that of an existing multi-objective genetic algorithm and two single-objective algorithms, a well-known bin-packing algorithm and a max-min ant system (MMAS) algorithm. The results show that the proposed algorithm is more efficient and effective than the methods we compared it to. <s> BIB008 </s> Cloud Computing Resource Scheduling and a Survey of Its Evolutionary Approaches <s> Scheduling for Energy Conservation <s> Server consolidation using virtualization technology has become an important technology to improve the energy efficiency of data centers. Virtual machine placement is the key in the server consolidation technology. In the past few years, many approaches to the virtual machine placement have been proposed. However, existing virtual machine placement approaches consider the energy consumption by physical machines only, but do not consider the energy consumption in communication network, in a data center. However, the energy consumption in the communication network in a data center is not trivial, and therefore should be considered in the virtual machine placement. In our preliminary research, we have proposed a genetic algorithm for a new virtual machine placement problem that considers the energy consumption in both physical machines and the communication network in a data center. Aiming at improving the performance and efficiency of the genetic algorithm, this paper presents a hybrid genetic algorithm for the energy-efficient virtual machine placement problem. Experimental results show that the hybrid genetic algorithm significantly outperforms the original genetic algorithm, and that the hybrid genetic algorithm is scalable. <s> BIB009
Different from load balance oriented scheduling, work on energy-aware scheduling aims to schedule VM resources for the minimal number of physical resources. This way, the energy consumption in the cloud center can be reduced. Therefore, we classify works on energy or carbon awareness oriented scheduling into works on maximizing the resource utilization and works on directly reducing the consumed energy or the carbon footprint. For maximizing the resource utilization, BIB002 designed a super GA scheduler that was able to allocate the VMs efficiently, permitting the maximum usage of physical resource. Therefore, the used PMs were on the maximal utilization ratio and the number of PMs was reduced. The encoding scheme of their approach is similar to that of Figure 4 , with the length of the chromosome being the number of VMs and each gene being an integer indicating which PM a VM is scheduled on. They argued that this scheduling problem could be regarded as an unbalance assignment problem, where the optimization objective was to maximize the resource utilization of the used PMs to reduce the number of physical resources and little attention was paid to the load balance of the resources. The GA scheduler operates once in the beginning of the cloud computing system, and will be started every time when the number of VMs or the physical resources changes. also used the encoding scheme of Figure 4 to map the VMs to the PMs. Although each gene represents a VM, the genes are ordered according to the memory size of their corresponding VMs. This way, if a chromosome is invalid, for example, when the memory size of the VMs scheduled on the same PM exceeds the physical memory size, the approach can use a greedy strategy to move some VMs to other PMs. Their approach was reported to have effectively achieved the goal of raising physical resource utilization and therefore reducing the number of PMs to save energy. BIB004 also used the VM-to-node map to schedule all VMs to the minimal number of PMs, so as to reduce resource consumption. Therefore, their GA approach was not only used to find an optimized state to map the VMs efficiently to the PMs, but also was extended to reconstruct the system state at a low transition overhead when the environment did change. BIB009 used a hybrid GA with a local search procedure to reduce the energy consumption by considering not only the PMs, but also the communications among VMs. There also exist other related chromosome encoding schemes in the literature. For example, in the study by BIB001 , the chromosome length is set the same as the number of PMs and each gene stores the number (being zero, one, or many) of VMs. They used a VM packing technique to minimize the number of running PMs by using a GA. BIB003 used a binary encoding scheme to represent a GA chromosome, which consists of several binary strings with each denoting one kind of VM. Each binary string contains several substrings (being the same number as the PMs), with each substring standing for the average request number that the PM can respond to the corresponding VM. The optimization objective is to find a good allocation solution to host the VM according to the application requirements by minimizing the number of PMs to save energy. Viewing that a GA may be slow to find a solution for reconfiguring the VMs, they proposed to predict future workloads with Brown's quadratic exponential smoothing to help GA find a solution more rapidly. On the other hand, BIB005 considered the scenario that the VM resources and/or the physical resources could change in a different time. Therefore, they designed an encoding scheme for the GA chromosome, where the ith gene was a triplet <VM_i, PM_j, t>, indicating that the ith VM was scheduled on the jth PM when the time value t was met. The optimization objective in their study is to maximize the resource utilization. BIB006 scheduled the VMs on PMs via the ACO approach to reduce the number of the physical resources. In their study, the resource scheduling problem was modeled as a Multidimensional Bin-Packing (MDBP) problem. In every step of the ACO approach, an ant attempts to choose the next VM (similar to the item in MDBP) efficiently to place on the current physical node (being similar to the bin in MDBP) according to the heuristic and pheromone information. The objective is to place as many VMs on every physical node as possible, so as to reduce the number of active physical nodes to save energy. The authors further extended their study by using an ACO approach for VMs autonomous and scheduling to save energy in large-scale cloud infrastructures BIB007 . Similar work to schedule the VMs on PMs via the ACO approach was also conducted by BIB008 . However, they defined the total resource wastage and energy consumption as two objectives and proposed solving the problem by multiobjective ACO algorithm. also proposed an ACObased approach to reduce the number of PMs. The novelty is that the pheromone is deposited on the VM pair to measure the efficiency of replacing these two VMs together on the same PM.