A Genetic Algorithm Scheduling Approach for Virtual Machine Resources in a Cloud Computing Environment

In the present cloud computing environment, the scheduling approaches for VM (Virtual Machine) resources only focus on the current state of the entire system. Most often they fail to consider the system variation and historical behavioral data which causes system load imbalance. To present a better approach for solving the problem of VM resource scheduling in a cloud computing environment, this project demonstrates a genetic algorithm based VM resource scheduling strategy that focuses on system load balancing. The genetic algorithm approach computes the impact in advance, that it will have on the system after the new VM resource is deployed in the system, by utilizing historical data and current state of the system. It then picks up the solution, which will have the least effect on the system. By doing this it ensures the better load balancing and reduces the number of dynamic VM migrations. The approach presented in this project solves the problem of load imbalance and high migration costs. Usually load imbalance and high number of VM migrations occur if the scheduling is performed using the traditional algorithms. ACKNOWLEDGEMENTS I am grateful to my project advisor, Dr. Robert Chun, whose direction, support, encouragement, and dedication is valuable. Dr. Chun is an educationalist in the truest sense. I extremely appreciate Dr. Soon Tee Teoh’s, Dr. Mark Stamp’s and Mr. Guru Parab’s input as my thesis committee members. My committee has shown helpful insight to polish my work which is presented in this report. The four of you are valuable assets to the computer world. It has been a tricky, yet meaningful ride which I could not have completed without help and I am grateful for your support. Thank you. Shailesh Sawant TABLE OF CONTENTS 1.0 INTRODUCTION 1 1.1 CLOUD COMPUTING BACKGROUND 1 1.2 VIRTUALIZATION TECHNOLOGY 1 1.3. PROBLEM STATEMENT 2 2.0. RELATED WORK 3 2.1. NAIVE STRATEGY 4 2.2. FIFO STRATEGY 4 2.3. OPTIMIZED STRATEGY 5 2.4. REQUIREMENT OF GENETIC ALGORITHM 6 3.0. THE MODEL DESIGN OF VM SCHEDULING 6 3.1. VM MODEL 6 3.2. THE EXPRESSION OF LOAD 7 3.3. MATHEMATICAL MODEL 9 4.0. REALIZATION OF BALANCED SCHEDULING THROUGH GENETIC ALGORITHM........10 4.1. STEPS IN GENETIC ALGORITHM 10 4.2. POPULATION CODING 11 4.3 INITIALIZATION OF POPULATION 12 4.4. FITNESS FUNCTION 12 4.5. SELECTION STRATEGY 13 4.6. CROSSOVER OPERATION 14 4.7. MUTATION OPERATION 15 4.8. SCHEDULING STRATEGY 16 5.0. ALGORITHM ANALYSIS 16 5.1. GLOBAL SCHEDULING ALGORITHM 16 5.2. EXPERIMENT AND ANALYSIS OF GENETIC ALGORITHM 18 6.0. EXPERIMENT 20 6.1. HARDWARE SETUP 20 6.2 SOFTWARE COMPONENTS 21 6.2.1. OPENNEBULA 21 6.2.2. HAIZEA 24 6.2.3. ADVANCE RESERVATION 25 6.2.4. BEST-EFFORT LEASE 27 6.3. ANALYSIS 28 6.3.1. ALGORITHM EFFECT ANALYSIS 28 6.3.2. MIGRATION COST ANALYSIS 30 7. CONCLUSION 32 8. FUTURE WORK 32 9. REFRENCES 34

[1]  Hesham El-Rewini,et al.  Scheduling Parallel Program Tasks onto Arbitrary Target Machines , 1990, J. Parallel Distributed Comput..

[2]  Ming Chen,et al.  A Model of Scheduling Optimizing for Cloud Computing Resource Sevices Based on Buffer-pool Agent , 2010, 2010 IEEE International Conference on Granular Computing.

[3]  Borja Sotomayor,et al.  Enabling Cost-Effective Resource Leases with Virtual Machines , 2007 .

[4]  Naixue Xiong,et al.  Scheduling Parallel Cloud Computing Services: An Evolutional Game , 2009, 2009 First International Conference on Information Science and Engineering.

[5]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[6]  Daniel Gajski,et al.  A Programming Aid for Message-passing Systems , 1987, PPSC.

[7]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[8]  Jianhua Gu,et al.  A Scheduling Strategy on Load Balancing of Virtual Machine Resources in Cloud Computing Environment , 2010, 2010 3rd International Symposium on Parallel Architectures, Algorithms and Programming.

[9]  David E. Goldberg,et al.  The Existential Pleasures of Genetic Algorithms the Existential Pleasures of Genetic Algorithms , 1994 .

[10]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

[11]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[12]  Arun Venkataramani,et al.  Black-box and Gray-box Strategies for Virtual Machine Migration , 2007, NSDI.

[13]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[14]  Amin Vahdat,et al.  When Virtual is Harder than Real : Resource Allocation Challenges in Virtual Machine Based IT Environments , 2007 .

[15]  Tram Truong Huu,et al.  Virtual Resources Allocation for Workflow-Based Applications Distribution on a Cloud Infrastructure , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.