[ieee 2013 international conference on cloud & ubiquitous computing & emerging technologies...

6
Multiobjective Virtual Machine Placement in Cloud Environment Amol C. Adamuthe Dept. of CSE RIT,Rajaramnagar Islampur, MS, India [email protected] Rupali M. Pandharpatte Dept. of CSE RIT, Rajaramnagar Islampur, MS, India [email protected] Gopakumaran T. Thampi Dept. of IT TSEC, Bandra (West) Mumbai, MS, India [email protected] Abstract— In this paper, the virtual machine placement problem is formulated as a multi-objective optimization problem. The objectives are maximizing profit, maximizing load balancing and minimizing recourse wastage. Results of Genetic algorithms, Non-dominated Sorting Genetic Algorithm and Non-dominated Sorting Genetic Algorithm-II are compared with common solution representation, penalty and benefit values. All the three algorithms reported good solutions whereas GA and NSGA are subjected to premature convergence and duplicate solutions. NSGA-II gives good and diversified range of solutions. Keywords— Nondominated Sorting Genetic Algorithm; Resource allocation; Multiobjective Optimization Problem. I. INTRODUCTION Cloud computing delivers infrastructure (IaaS), platform (PaaS) and software as services (SaaS) which are made available as Pay-as-you-go basis to consumers [1]. Cloud computing centers are based on virtualization technology. Amazon Elastic Compute Cloud (EC2) and Microsoft Windows Azure are classical Cloud computing products [2]. Cloud computing service providers deliver their resources as services to consumers based on the demands of the consumers and resources provided by providers are virtualized resources. For Infrastructure-as-a-Service (IaaS), the customers send their requests to Cloud providers in the form of virtual machines (VMs) that virtual machines are in the terms of amount of resources required (CPU, memory, bandwidth, storage). The requirement of number of virtual machines are already estimated by user or customers based on their applications demand which are running on users machines [1]. Cloud providers hold massive computing resources in their large datacenters and rent resources out to users on a per-usage basis [3]. The data center is a set of physical machines (PMs) or Hosts, each PM have its own capacity with CPU, memory, bandwidth and storage. All physical machines are interconnected, virtualized and geographically distributed. In Cloud computing, there are two main players: providers (compute, storage, and network) and consumers (individuals and enterprises) which face the problem of optimization. Optimization is of utmost importance for providers to offer competitive prices to prospective customers. Major providers costs can be: Servers cost, Infrastructure cost, Power draw cost, Network cost and optimization problems faced by the consumer in the planning stages of Cloud adoption as well as when the consumer is managing and governing the Cloud. Major consumers’ costs can be resource provisioning cost, security, capacity planning cost of VMs [4]. In all researches about virtualization in Cloud computing, the scheduling of virtual resource is an important topic. The scheduling of virtual resource finds the mapping virtual resources to physical resources with achieving various objectives [5]. When the number of virtual machines and physical machines are small then virtual machines placement is might be ‘P’ (polynomial) problem. But when the number of VMs and PMs are sufficiently large then situation becomes unmanageable and automation becomes necessary [6]. Even in an automated calculation of placement plans the number of possible mappings to be evaluated for a given set of virtual and physical machines is large. Such a large solution space makes it NP problem and it is almost impossible for any brute force VM-PM mapping algorithm to give exact placement plans in practically acceptable times. Hence, intelligent placement heuristics are needed to narrow down the search for a solution to obtain near-optimal placement plans [6]. In this paper, we proposed a scheduling virtual resources model in Cloud computing and solved it with genetic algorithms, Non-dominated Sorting Genetic Algorithm and Non-dominated Sorting Genetic Algorithm-II. In this model, the resources including virtual or physical are abstracted the nodes with three attributes, CPU, memory and bandwidth. In experiments, input files were created using random data generator. All the three algorithms are tested on five input files. The rest of the paper is organized as follows: Section II and section III describes prior work and problem formulation respectively. Section IV describes fundamentals of genetic algorithms and Non-dominated Sorting Genetic Algorithm. Section V is about implementation details of GA, NSGA and NSGA-II for virtual machine placement problem that includes chromosome representation, operators and objective function. Section VI gives a detailed description of the data 2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies 978-0-4799-2235-2/13 $26.00 © 2013 IEEE DOI 10.1109/CUBE.2013.12 8 2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies 978-0-4799-2235-2/13 $26.00 © 2013 IEEE DOI 10.1109/CUBE.2013.12 8 2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies 978-0-4799-2235-2/13 $31.00 © 2013 IEEE DOI 10.1109/CUBE.2013.12 8 2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies 978-0-4799-2235-2/13 $31.00 © 2013 IEEE DOI 10.1109/CUBE.2013.12 8

Upload: gopakumaran-t

Post on 09-Feb-2017

221 views

Category:

Documents


8 download

TRANSCRIPT

Multiobjective Virtual Machine Placement in CloudEnvironment

Amol C. AdamutheDept. of CSE

RIT,RajaramnagarIslampur, MS, India

[email protected]

Rupali M. PandharpatteDept. of CSE

RIT, RajaramnagarIslampur, MS, India

[email protected]

Gopakumaran T. ThampiDept. of IT

TSEC, Bandra (West)Mumbai, MS, India

[email protected]

Abstract— In this paper, the virtual machine placement problem is formulated as a multi-objective optimization problem. The objectives are maximizing profit, maximizing load balancing and minimizing recourse wastage. Results of Genetic algorithms, Non-dominated Sorting Genetic Algorithm and Non-dominated Sorting Genetic Algorithm-II are compared with common solution representation, penalty and benefit values. All the three algorithms reported good solutions whereas GA and NSGA are subjected to premature convergence and duplicate solutions. NSGA-II gives good and diversified range of solutions.

Keywords— Nondominated Sorting Genetic Algorithm; Resource allocation; Multiobjective Optimization Problem.

I. INTRODUCTION

Cloud computing delivers infrastructure (IaaS), platform (PaaS) and software as services (SaaS) which are made available as Pay-as-you-go basis to consumers [1]. Cloudcomputing centers are based on virtualization technology. Amazon Elastic Compute Cloud (EC2) and Microsoft Windows Azure are classical Cloud computing products [2].

Cloud computing service providers deliver their resources as services to consumers based on the demands of the consumers and resources provided by providers are virtualized resources. For Infrastructure-as-a-Service (IaaS),the customers send their requests to Cloud providers in the form of virtual machines (VMs) that virtual machines are in the terms of amount of resources required (CPU, memory, bandwidth, storage). The requirement of number of virtual machines are already estimated by user or customers based on their applications demand which are running on users machines [1]. Cloud providers hold massive computing resources in their large datacenters and rent resources out to users on a per-usage basis [3]. The data center is a set of physical machines (PMs) or Hosts, each PM have its own capacity with CPU, memory, bandwidth and storage. All physical machines are interconnected, virtualized and geographically distributed.

In Cloud computing, there are two main players: providers (compute, storage, and network) and consumers (individuals and enterprises) which face the problem of optimization. Optimization is of utmost importance for providers to offer competitive prices to prospective

customers. Major providers costs can be: Servers cost, Infrastructure cost, Power draw cost, Network cost and optimization problems faced by the consumer in the planning stages of Cloud adoption as well as when the consumer is managing and governing the Cloud. Major consumers’ costs can be resource provisioning cost, security, capacityplanning cost of VMs [4].

In all researches about virtualization in Cloud computing, the scheduling of virtual resource is an important topic. The scheduling of virtual resource finds the mapping virtualresources to physical resources with achieving various objectives [5].

When the number of virtual machines and physical machines are small then virtual machines placement is mightbe ‘P’ (polynomial) problem. But when the number of VMs and PMs are sufficiently large then situation becomes unmanageable and automation becomes necessary [6]. Even in an automated calculation of placement plans the number of possible mappings to be evaluated for a given set of virtual and physical machines is large. Such a large solution space makes it NP problem and it is almost impossible for any brute force VM-PM mapping algorithm to give exact placement plans in practically acceptable times. Hence, intelligent placement heuristics are needed to narrow down the search for a solution to obtain near-optimal placement plans [6].

In this paper, we proposed a scheduling virtual resources model in Cloud computing and solved it with genetic algorithms, Non-dominated Sorting Genetic Algorithm and Non-dominated Sorting Genetic Algorithm-II. In this model, the resources including virtual or physical are abstracted the nodes with three attributes, CPU, memory and bandwidth. In experiments, input files were created using random data generator. All the three algorithms are tested on five input files.

The rest of the paper is organized as follows: Section IIand section III describes prior work and problem formulation respectively. Section IV describes fundamentals of genetic algorithms and Non-dominated Sorting Genetic Algorithm. Section V is about implementation details of GA, NSGA and NSGA-II for virtual machine placement problem that includes chromosome representation, operators and objective function. Section VI gives a detailed description of the data

2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies

978-0-4799-2235-2/13 $26.00 © 2013 IEEE

DOI 10.1109/CUBE.2013.12

8

2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies

978-0-4799-2235-2/13 $26.00 © 2013 IEEE

DOI 10.1109/CUBE.2013.12

8

2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies

978-0-4799-2235-2/13 $31.00 © 2013 IEEE

DOI 10.1109/CUBE.2013.12

8

2013 International Conference on Cloud & Ubiquitous Computing & Emerging Technologies

978-0-4799-2235-2/13 $31.00 © 2013 IEEE

DOI 10.1109/CUBE.2013.12

8

generator and obtained results for problem instances. Finally, in Section VII we outline the conclusion of our study.

II. PRIOR WORK

In literature various objectives are considered for solving resource allocation problem. Table I summaries few of the objectives from literature.

TABLE I. OBJECTIVES FOR RESOURCE ALLOCATION PROBLEM IN CLOUD

Providers’ Revenue: M. Hadji et.al.[7] presents minimum cost maximum flow algorithm for dynamic resource allocation in Cloud with maximizing providers’ revenue.Zhang et.al.[8] proposed dynamic adjusting the capacity of VM services to maximize the total income based on time-varying aggregate demand from customers. M. Mazzucco et.al.[9] presents energy-aware allocation policies that aim to maximize the average revenue received by the provider per unit time. This is achieved by improving the utilization of the server farm, i.e., by powering excess servers off.

Power / Energy Consumption: Li Xu et.al.[10] formulate the energy efficiency virtual resource allocation for Cloudcomputing as a multi-objective optimization problem, which is then solved by intelligent optimization algorithm. Papers [8], [10]-[14] presents an energy efficient resource allocation in Cloud by minimizing energy/power wastage of physical resources in Cloud.

Load Balancing: In [5], [15] author presents virtual resource allocation on physical resources in datacenter of Cloudproviders’ with balancing load on each physical machine.

Response Time: In [2], [11] author presents resource allocation model in such a way that minimizing response time to customer by allocating proper datacenter to Clouduser who is geographically distributed.

Minimizing number of servers used: In [12],[13],[16] author presents optimized resource allocation in which try to allocate maximum number of virtual machines on limited number of physical machines.

Improve Utilization of Cloud resources: In [17], [18] author presents virtual machine placement that maximizing the utilization of physical resources in datacenters.

Throughput: L. Chimakurthi et. al. [11] goal is to optimize the throughput i.e., the fractional number of tasks that can be processed in one time unit once steady state has been reached.

Process maximum requests of customers: D. Tammaro et. al.[19] Cloud provider processing maximum requests with satisfying more customers and maximizing revenue of Cloudprovider with Service Level Agreement (SLA).

III. PROBLEM FORMULATION

A. Basic Terminologies in Cloud Computing1) Client (End User): Clients are the devices that the

end user interacts with Cloud to manage their information.

2) Provider: Cloud Service provider is a owner of Cloud infrastructure who provide services to requester via internet on pay-as-you-basis.

3) Datacenter: A data center is a set of physical resources such as CPU, memory, storage.

4) Virtual Machine: Simulation of a Physical machines in the form of software is known as a virtual machine. Hypervisor (virtualization software) provides all the interfacing between the operating system (OS) and the underlying hardware. The hardware is shared and is available on-demand.Hypervisor provides transparent view to the operating system such that OS is made to believe that the hardware on which it is running is real and is fully owned by it and no other OS is sharing it.

5) Physical Machine: Physical machine is a set of hardware like CPU, memory, IO which are request for applications.

B. General Multiobjective Optimization ProblemA general MOP (Multiobjective Optimization Problem)

presented here is taken from [20]. MOP includes a set of n parameters (decision variables), a set of k objective functions and a set of c constraints. Objective functions and constraints are functions of the decision variables. The optimization goal is to

maximize y = f (x) = ( f1(x), f2(x), . . . , fk(x))

subject to e(x) = (e1(x), e2(x), . . . , ec(x)) ���

where x = (x1, x2, . . . , xn�����

y = (y1, y2, . . . , yk�����

and x is the decision vector, y is the objective vector, X isdenoted as the decision space and Y is called the objective space. The constraints e(x) ����determine the set of feasible solutions.

C. Multi-Objective Virtual Machine Placement ProblemMulti-objective virtual machine placement problem is

briefly described as follows. A virtual resource can be abstracted as a node with a lot of attributes, therefore a node

Objectives References

Providers’ Revenue [7]-[9]Power / Energy Consumption [8],[10]-[14]Load Balancing [5],[15]Response Time [2],[11]Minimizing number of servers used [12],[13],[16]Improve Utilization of Cloud resources [17],[18]Throughput [11]Process maximum requests of customers [19]

9999

with attributes CPU, memory and bandwidth can be described formally as v(c,m,b), where c is attribute CPU, m is attribute memory and b is bandwidth. Similarly the physical resource can be described using p(c,m,b).

The number of physical machines available and their resource capacities with respect to dimensions such as CPU, memory and network bandwidth are known. Total numbers of virtual machines to be placed are known. The requirements of these virtual machines are given with respect to dimensions such as CPU, memory and network bandwidth. The objective of the investigation is to find a mapping between VMs and PMs that satisfies the VMs’ resource requirements while fulfilling the following objectives.

1. Maximizing profit.2. Maximizing load balancing.3. Minimizing wastage of resources.

Profit: After allocation of virtual machine to physical machine, profit is obtained. The profit depends upon the units of CPU, memory and bandwidth required for virtual machine. Rate for unit CPU, memory and bandwidth isknown and considered in decreasing order.

Load Balancing: Virtual machines should be distributed among the physical machines.

Resource wastage: The definition of resource wastage and it’s method of calculation is taken from [12]. The residual resources available on each host may vary largely with different VM placement solutions. Unbalanced residual resources may prevent any further VM placement, thus wasting computing resources. The crosshatched area in the figure denotes the residual resources available for future allocation.

In the example of Fig. 1, the host has a lot of unused CPU capacity but little memory available, causing the host to not be able to accept any new VM because of memory scarcity. To balance the resource usage along different dimensions, the following notation is used to calculate the potential cost of wasted resources. Ri represents the normalized residual resource (i.e., the ratio of residual resource to total resource) along dimension i. Using subscript k to identify the dimension that has the smallest normalized residual capacity, the wasted residual resource on a server is calculated as the sum of differences between the smallest normalized residual resource and the others [12].

W = ��i - Rk) (1) i�

Fig. 1. Resource wastage (Taken from [12]).

The relationship between W and resource wasted is linear. More the differences of residual resources are amongdifferent dimensions, the more resources are wasted.

While finding such a mapping, we have to take care that the total resource requirement of the VMs placed on a PMs should not exceed its capacity.

Capacity Constraints: For each dimension of a given PMj, the sum of the resource requirements of all VMs placed on it should be less than or equal to the total available capacity.

Placement Guarantee Constraints: All virtual machines should be placed.

Table II shows sample dataset in which 3 physical machines are available and their resource capacities given along CPU, memory and bandwidth dimensions. Total 6 virtual machines are to be placed on physical machines. The requirements of virtual machines are given along the dimensions of CPU, memory and network bandwidth with profit associated with it.

TABLE II. SAMPLE DATASET

AVAILABLE RESOURCE CAPACITIES OF PMS

PM1 PM2 PM3

CPU 417 417 417

Memory 414 414 414

Bandwith 420 420 420

RESOURCE DEMANDS AND PROFIT OF VMS

VM1 VM2 VM3 VM4 VM5 VM6

CPU 165 180 42 30 54 41

Memory 13 37 160 111 51 13

Bandwidth 28 41 1 18 148 148

Profit 1660 1823 484 348 590 444

IV. GENETIC ALGORITHMS, NSGA AND NSGA-IIGenetic algorithms is evolutionary technique. The major

contribution in developing genetic algorithms is given by J. Holland at university of Michigan and D. Goldberg. Genetic Algorithms (GAs) is randomized yet structured search algorithms based on the natural evolutionary process [21]. GAs does not require problem specific information for their working. GAs simulates the survival of the fittest among individuals over consecutive generations for solving a problem. Every generation consists of a set of individuals (solutions) called as population. Each individual represents a point in a search space. Each individual in the population goes through a process of evaluation by three operatorsnamely selection, crossover and mutation. Selection operator equates the survival of the fittest. Crossover operator represents mating between individuals. Mutation introduces random modification. Genetic algorithms is proven to be oneof the effective techniques to solve different scheduling problems [22]-[25].

10101010

The Non-dominated Sorting Genetic Algorithm is a Multiple Objective Optimization (MOO) algorithm proposed by Srinivas and Deb [26]. NSGA is an extension of the Genetic Algorithms for multi-objective optimization. There are two versions of the algorithm, the classical NSGA and NSGA-II. The objective of the NSGA algorithm is to improve the adaptive fit of a population of candidate solutions to a Pareto front. Pareto front is constrained by a set of given objective functions. NSGA is an evolutionary algorithm which surrogates for evolutionary operators including selection, crossover and mutation. Based on the ordering of Pareto dominance, population is sorted into a hierarchy of sub-populations. Similarity between members of each sub-group is evaluated on the Pareto front. The resulting groups after similarity evaluations and the similarity measures are used to promote a diverse front of non-dominated solutions. NSGA based on several layers of classifications of the individuals. Non-dominated individuals get a certain dummy fitness value and then are removed from the population. The process is repeated until the entire population has been classified. To maintain the diversity of the population, classified individuals are shared (in decision variable space) with their dummy fitness values [27]. NSGA is suited to continuous function multiple objective optimization problem instances.

Non-dominated Sorting Genetic Algorithm II (NSGA-II) is introduced by Deb and Agarwal as an improved version of the NSGA [28]. In NSGA-II, for each solution one has to determine how many solutions dominate it and the set of solutions to which it dominates. The NSGA-II estimates the density of solutions surrounding a particular solution in the population by computing the average distance of two points on either side of this point along each of the objectives of the problem. This value is the so-called crowding distance [29]. During selection, crowded-comparison operator considers non-domination rank of an individual in the population and its crowding distance (i.e., non-dominated solutions are preferred over dominated solutions, but between two solutions with the same non-domination rank, the one that resides in the less crowded region is preferred). Elitist mechanism of the NSGA-II consists of combining the best parents with the best offspring obtained [29].NSGA-II suited to solve various scheduling problems [30]-[32].

V. EXPERIMENTAL EVALUATION

This section gives details of implemented genetic algorithms and NSGA with chromosome representation, initialization process, operators and objective function.

A. Chromosome RepresentationA 1D representation as shown in Fig. 2 is used to solve

the virtual machine placement problem. Number of virtual resource requests of users indicates size of the array. The values in the array indicate the physical resources to which the virtual resource request is assigned. Fig. 2 shows the sample solution with 10 virtual machines and 6 physical machines. For example, VM2 is assigned to PM1. This representation avoids violation of placement guarantee constraint.

Fig. 2. Solution representation.

B. Genetic AlgorithmsThe original MOP is converted to an SOP by forming a

linear combination of the objectives:

maximize y = f (x) = w1·f1(x) + w2·f2(x) + . . . + wk · fk(x))

�����������������fThe virtual machine placement problem is treated as

minimization problem. The objective score of a solution is computed by assigning penalty costs (penalty points) for the violations of constraints. These penalty costs are specified according to the importance of the constraint. The objective function for individual ‘t’ is calculated as follows.

( ) i iO t H��� (2)

where, Hi represent number of hard constraints violated by a solution for ith hard constraint and. �i represents penalty costs for violation of hard constraint.

The main disadvantage of this technique is that it cannot generate all Pareto-optimal solutions with non-convex trade-off surfaces.

C. Nondominated Sorting Genetic AlgorithmNSGA and NSGA-II works with real values. The

parameters selected in genetic algorithms, NSGA and NSGA-II are reported in Table III.

TABLE III. PARAMETERS SELECTED IN GA, NSGA AND NSGA-II

Parameter GA NSGA NSGA-II

Initialization Uniform Random Random

Selection Roulette Wheel Selection

Roulette Wheel Selection Tournament

Crossover Single point Single point Single point

Mutation Swap Swap Polynomial

Population size 20 20 20Probability of crossover 0.8 0.8 0.8

Probability of mutation 0.01 0.1 0.1

VI. RESULT AND DISCUSSION

This section gives details of problem instances and results obtained by GA, NSGA and NSGA-II. GA, NSGA and NSGA-II programs are developed with the help of GAlib [33] and source code developed by Prof. K. Deb at KanGAL, IIT Kanpur [34] respectively.

11111111

Data Generator: We have compared performance of GA, NSGA and NSGA-II on 5 problem instances. These 5 problem instances are generated using data generator implemented in C programming language. For input datasets, we created a mix of CPU intensive, memory intensive and bandwidth intensive VMs. The VM requirements were generated as a mix of different ranges of uniformly distributed random numbers as follows:

<0.7-0.9, 0.1-0.3, 0.1-0.3> : 20 VMs

<0.1-0.3, 0.7-0.9, 0.1-0.3> : 20 VMs

<0.1-0.3, 0.1-0.3, 0.7-0.9> : 20 VMs

Five such configuration files of 60 VMs each were generated for input.

Table IV and Table V shows best results obtained in 10 runs with same seed values for genetic algorithms, NSGA and NSGA-II respectively for Instance I of resource allocation problem described in section III. The results obtained for other four problem instances were similar to instance I. All the algorithms were executed for 5000 generations.

TABLE IV. RESULTS OF GA FOR INSTANCE I.

Solution No.

Genetic Algorithm

Profit Load Wastage

1 38476 6786 9116

2 37306 8343 10010

3 37431 7267 9728

4 37235 7616 9680

5 40254 4069 7925

The implemented genetic algorithms for multi-objective resource allocation problem in Cloud give good solutions. The only problem with genetic algorithm is it converges to only a single solution.

NSGA and NSGA-II gives good quality solutions for all the five instances. NSGA reported multiple duplicate solutions whereas NSGA-II does not reported a single duplicate solution.

TABLE V. RESULTS OF NSGA AND NSGA-II FOR INSTANCE 1.

Sol. No.

NSGA NSGA-IIProfit Load Wastage Profit Load Wastage

1 29872 8156 1805 3483 24324 167

2 29040 8151 1724 5661 23000 149

3 28301 8121 2111 36333 4394 4232

4 29580 8149 1820 9071 20863 1040

5 29872 8156 1955 11717 21618 1835

6 29040 8151 1709 5430 23450 590

7 - - - 15861 19466 2207

8 - - - 14917 20490 2873

9 - - - 33427 9311 3893

10 - - - 30820 12830 5519

11 - - - 34682 6176 6425

12 - - - 33943 8136 5843

13 - - - 17947 18114 2528

14 - - - 20487 16680 3656

15 - - - 18154 18460 3026

16 - - - 11948 21160 2111

17 - - - 31501 10288 3419

18 - - - 26114 13685 3518

19 - - - 29391 11495 4418

20 - - - 23584 17556 5120

Fig. 3. Profit Vs Load balancing in NSGA-II.

Fig. 4. Load balancing Vs Wastage in NSGA-II

Profit and load balancing values reported by NSGA-II are shown in Fig. 3. Profit and load balancing are in proportion with each other. Wastage and load balancing values reported by NSGA-II are shown in Fig. 4. Wastage and load balancing are in conflicting objects.

VII. CONCLUSION

Virtual Machine placement problem is formulated as constrained multi-objective optimization problem. The objectives are to maximize profit, maximize load balancing and minimize resource wastage. To solve the problem of Virtual Machine placement in data centers, we have presented results of three algorithms. Genetic algorithms, NSGA and NSGA-II reported good solutions. But compared to other two algorithms NSGA-II given good and diversified solutions.

12121212

REFERENCES

[1] R. N. Calheiros, R. Ranjan, C. Rose and R. Buyya ,“CloudSim: A Novel Framework for Modeling and Simulation of CloudComputing Infrastructures and Services,” Grid Computing and Distributed Systems (GRIDS) Laboratory.

[2] G. Jung and K. Sim, “Agent-Based Adaptive Resource Allocation on the Cloud Computing Environment,” In Proceedings of the 40th

International Conference on Parallel Processing Workshops (ICPPW’ 11), pp. 345-351, Sept. 13-16, 2011.

[3] G. Lee,“Resource Allocation and Scheduling in Heterogeneous Cloud Environments,” Technical Report No. UCB/EECS-2012-78,2012.

[4] I. Iyoob, E. Zarifoglu and A. B. Dieker, “Cloud Computing Operations Research,” Gravitant and University of Texas at Austin.

[5] J. Zhao, W. Zeng, M. Liu,G. Li and M. Liu, “Multi-objective optimization model of virtual resources scheduling under Cloud computing and it's solution,” In Proceedings of the International Conference on Cloud and Service Computing (CSC’ 11), 2011.

[6] U. Bellur and P. Kulkarni, “Techniques for Virtual Machine Placement in Clouds,” Department of Computer Science and Engineering, Indian Institute of Technology, Bombay, 2010.

[7] M. Hadji and D. Zeghlache, “Minimum Cost Maximum Flow Algorithm for Dynamic Resource Allocation in Clouds,” In Proceedings of the IEEE 5th International Conference on CloudComputing (CLOUD’ 12), pp. 876-882, June 24-29, 2012.

[8] Q.Zhang, Q. Zhu, R. Boutaba, “Dynamic Resource Allocation for Spot Markets in Cloud Computing Environments,” In Proceedingsof the 4th IEEE International Conference on Utility and CloudComputing (UCC’11), pp. 178-185, Dec. 5-8, 2011.

[9] M. Mazzucco, D. Dyachuk, and R. Deters, “Maximizing CloudProviders' Revenues via Energy Aware Allocation Policies,” In Proceedings of the IEEE 3rd International Conference on CloudComputing (CLOUD’ 10), pp. 131-138, July 5-10, 2010.

[10] L. Xu, Z. Zeng, and X. Ye, “Multi-objective Optimization Based Virtual Resource Allocation Strategy for Cloud Computing,” In Proceedings of the IEEE/ACIS 11th International Conference on Computer and Information Science (ICIS’ 12), pp. 56-61, May 30,2012-June 1, 2012.

[11] L. Chimakurthi and S. D. Madhu Kumar, “Power Efficient Resource Allocation for Clouds Using Ant Colony Framework,” Feb. 2011.

[12] J. Xu and J. Fortes, “Multi-Objective Virtual Machine Placement in Virtualized Data Center Environments,” In Proceedings of the IEEE/ACM International Conference on Green Computing and Communications (GreenCom’ 10) & International Conference on Cyber, Physical and Social Computing (CPSCom’ 10), pp. 179-188, Dec. 18-20, 2010.

[13] J. Xu and J. Fortes, “A Multi-objective Approach to Virtual Machine Management in Datacenters,” In Proceedings of the International Conference on Autonomic Computing ( ICAC’11), pp.225-233, June 14–18, 2011.

[14] R. Jansen and P.R. Brenner, “Energy efficient virtual machine allocation in the Cloud,” In Proceeding of International Green Computing Conference and Workshops (IGCC’ 11) , pp. 1-8, July 25-28, 2011.

[15] Z. Zhang, H. Wang, L. Xiao, and L. Ruan, “A statistical based resource allocation scheme in Cloud,” In Proceedings of the International Conference on Cloud and Service Computing (CSC’11) , pp. 266-273, Dec. 12-14, 2011.

[16] X. Zhen, S. Weijia, and Q. Chen, “Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment,” In Proceeding of IEEE Transactions on Parallel and Distributed Systems, vol. 24, no. 6, pp. 1107-1117, June 2013.

[17] G. Jung and M. S. Kwang, “Location-Aware Dynamic Resource Allocation Model for Cloud Computing Environment,” In Proceedings of the International Conference on Information and Computer Applications (ICICA’ 12), IPCSIT vol. 24, pp. 37-41,2012.

[18] X. Zhen, S. Weijia, and Q. Chen, “Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment,” In Proceedings of IEEE Transactions on Parallel and Distributed Systems, vol. 24, no. 6, pp. 1107-1117, June 2013.

[19] D. Tammaro, E.A. Doumith, S.A. Zahr, J. Smets, and M. Gagnaire, “ Dynamic Resource Allocation in Cloud Environment Under Time-variant Job Requests,” In Proceedings of the IEEE Third International Conference on Cloud Computing Technology and Science (CloudCom’ 11), pp. 592-598, Nov. 29, 2011-Dec. 1, 2011.

[20] E.Zitzler, “Evolutionary Algorithms for Multiobjective Optimization:Methods and Applications ,” Swiss Federal Institute of Technology Zurich, 1999.

[21] E. Goldberg, “Genetic Algorithms in Search, Optimization, and Machine Learning, Reading, Mass,” Addison-Wesley, 1989.

[22] A.J. Page and T. J. Naughton, “Dynamic Task Scheduling using Genetic Algorithms for Heterogeneous Distributed Computing,” In Proceedings of the 19th IEEE International on Parallel and Distributed Processing Symposium, pp. 189 -189, April 4-8, 2005.

[23] A. Brezulianu, M. Fira, and L. Fira, “A genetic algorithm approach for a constrained employee scheduling problem as applied to employees at mall type shops,” International Journal of Advanced Science and Technology, vol. 14, January, 2010.

[24] B. Sigl, M. Golub, and V. Mornar, “Solving timetable scheduling problem using genetic algorithms,” In Proceedings of the 25th

International Conference on Information Technology Interfaces, ( ITI’ 2003), pp. 519-524, June 16-19, 2003.

[25] V. Sapru, K. Reddy, B. Sivaselvan, “Time table scheduling using Genetic Algorithms employing guided mutation,” In Proceedings of the IEEE International Conference on Computational Intelligence and Computing Research (ICCIC’ 10), pp. 1-4, Dec. 28-29, 2010.

[26] N. Srinivas and K. Deb, “Multiobjective function optimization usingnondominated sorting genetic algorithms,” Evol. Comput., vol. 2,no. 3, pp. 221–248, 1995.

[27] A. Syed, “Pareto Efficient Multi-Objective Test Case Selection,” School of physical Science & Engineering, King’s College London, July 9, 2007.

[28] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A Fast and Elitist Multiobjective Genetic Algorithm:NSGA-II,” IEEE Evolutionary Computation, vol. 6, no. 2, pp. 182-197, April 2, 2002.

[29] H. Toshev and C. Korsemov, “ Development of the Evolutionary Approaches in Multiobjective Optimization,” Bulgarian Academy Of Sciences, Problems Of Engineering Cybernetics And Robotics,pp. 12-24, 2007.

[30] Reza Salimi, H. Motameni, and H. Omranpour, “Task Scheduling with Load Balancing for Computational Grid Using NSGA II with Fuzzy Mutation, ” In Proceedings of the IEEE 2nd International Conference on Parallel, Distributed and Grid Computing(PDGC’12), pp. 79-84, 2012.

[31] Q. Tan, H. Chen, B. Du, and X. Li, “Two-agent scheduling on a single batch processing machine with non-identical job sizes,” In Proceedings of the IEEE 2nd International Conference on Artificial Intelligence, Management Science and Electronic Commerce (AIMSEC’2011), pp. 7431-7435, Aug. 8-10, 2011.

[32] H. Wang, D. Lin, and M. Li, “A competitive genetic algorithm for resource-constrained project scheduling problem,” In Proceedings of the IEEE International Conference on Machine Learning and Cybernetics, vol. 5, pp. 2945-2949, Aug. 18-21, 2005.

[33] M. Wall, GAlib: A C++ Library of Genetic Algorithm Components. Massachusetts Institute of Technology, 1996.

[34] http://www.iitk.ac.in/kangal/codes.html.

13131313