improving resource utilization in cloud using application placement heuristics

24
Improving Resource Utilization in Cloud using Application Placement Heuristics Atakan Aral, Tolga Ovatman Istanbul Technical University, Department of Computer Engineering {aralat, ovatman}@itu.edu.tr

Upload: atakan-aral

Post on 18-Dec-2014

79 views

Category:

Engineering


3 download

DESCRIPTION

Application placement is an important concept when providing software as a service in cloud environments. Because of the potential downtime cost of application migration, most of the time additional resource acquisition is preferred over migrating the applications residing in the virtual machines (VMs). This situation results in under-utilized resources. To overcome this problem static/dynamic estimations on the resource requirements of VMs and/or applications can be performed. A simpler strategy is using heuristics during application placement process instead of naively applying greedy strategies like round-robin. In this paper, we propose a number of novel heuristics and compare them with round robin placement strategy and a few proposed placement heuristics in the literature to explore the performance of heuristics in application placement problem. Our focus is to better utilize the resources offered by the cloud environment and at the same time minimize the number of application migrations. Our results indicate that an application heuristic that relies on the difference between the maximum and minimum utilization rates of the resources not only outperforms other application placement approaches but also significantly improves the conventional approaches present in the literature.

TRANSCRIPT

Page 1: Improving Resource Utilization in Cloud using Application Placement Heuristics

Improving Resource Utilization in Cloudusing Application Placement Heuristics

Atakan Aral, Tolga Ovatman

Istanbul Technical University, Department of Computer Engineering

{aralat, ovatman}@itu.edu.tr

Page 2: Improving Resource Utilization in Cloud using Application Placement Heuristics

Motivation

• Application placement is an important concept when providing software as a service in cloud environments.

• Most of the time additional resource acquisition is preferred over migrating the applications due to the high cost of migration.

• This situation results in under-utilized resources.

2

Page 3: Improving Resource Utilization in Cloud using Application Placement Heuristics

Problem

• Inefficient distribution of cloud applica-tions to virtual machines.

3

Page 4: Improving Resource Utilization in Cloud using Application Placement Heuristics

Aim

• Optimally placing applications to VMs

• Maximize the number of applications assigned.

• Minimize the number of application migrations.

4

Page 5: Improving Resource Utilization in Cloud using Application Placement Heuristics

Candidate Solutions

• Greedy algorithms (e.g. Round-Robin)

– Easy to implement

– Does not produce good placements

• Linear Optimization (e.g. MIP)

– Guaranteed to produce optimal placement

– Costly, Migrations required

• Evenness Heuristics

– May produce good enough placements

– There is no universally accepted heuristic

5

Page 6: Improving Resource Utilization in Cloud using Application Placement Heuristics

Suggested Solution

• Assign using an intelligent heuristic when possible

• Do not make any migrations yet

• When no VM is able to hold the arriving application, use Mixed Integer Programming

• Minimize number of migrations as the objective function

6

Page 7: Improving Resource Utilization in Cloud using Application Placement Heuristics

Suggested Solution

7

Page 8: Improving Resource Utilization in Cloud using Application Placement Heuristics

Contribution

• Novel evenness heuristics

• Comparison of the heuristics with other approaches

• Evaluation of the heuristic approach on various VM counts and capacities

• MIP formulation that minimizes number of migrations

8

Page 9: Improving Resource Utilization in Cloud using Application Placement Heuristics

Heuristics

• Standard Deviation (SD)

– Natural choice but may miss outliers

• Span (SP)

– Focuses only on the outliers

• Cumulative Difference (CD)

– Similar to SD, only simpler

• CD from Minimum (DM)

– Considers only high outliers

• Skewness (SK) by Xiao et al

9

Page 10: Improving Resource Utilization in Cloud using Application Placement Heuristics

MIP Formulation

• Objective: Minimize number of migrations

• Constraints:

– Each app must be assigned to exactly one VM:

– No VM should be overloaded:

10

Page 11: Improving Resource Utilization in Cloud using Application Placement Heuristics

Experimental Results

• Experiment 1: Postponement of Migration

11

Page 12: Improving Resource Utilization in Cloud using Application Placement Heuristics

Experimental Results

• Experiment 1: Postponement of Migration

12

Page 13: Improving Resource Utilization in Cloud using Application Placement Heuristics

Experimental Results

• Experiment 2: Minimization of Migration Count

13

Page 14: Improving Resource Utilization in Cloud using Application Placement Heuristics

Experimental Results

• Experiment 3: Analysis on Constant Total Capacity

14

0%1%2%3%4%5%6%7%8%9%10%11%12%13%14%15%

50,051,052,053,054,055,056,057,058,059,060,061,062,063,064,065,0

3 4 5 6 7 8 9 10 11 12

Greedy Heuristic Improvement

Page 15: Improving Resource Utilization in Cloud using Application Placement Heuristics

Conclusion

• Optimal placement in up to 10,8% of the cases, four times better than greedy

– No migrations necessary, better service quality

• Delay MIP algorithm up to 12,1% w.r.t. greedy

– More applications accepted before migrations

• MIP results in 34,5% less application migrations

15

Page 16: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

• Increasing the performance of cloud software as a whole by optimizing resource allocation

• Graph and Automata based modeling of the cloud environment and RA problem

• Optimization on 3 different but related phases of the cloud software life cycle

16

Page 17: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

17

Page 18: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

• MapReduce Configuration

– «The cost of using 1000 machines for 1 hour, is the same as using 1 machine for 1000 hours in the cloud paradigm.»

– Maximizing the utilization of all nodes for a Hadoop job by calculating the optimum parameters i.e. number of map/reduce

– Higher values mean higher parallelism but may cause resource contention and coordination problems.

18

Page 19: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

• MapReduce Configuration

– Optimum parameters depend on the resource consumption of the software.

– Design model of the software will be statically analyzed in order to guess resource consumption pattern.

– Critical (bottleneck) resources will be identified.

– Optimization at Application Level

19

Page 20: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

• Resource Selection and Optimization

– «In distributed computing environments, up to 85% of computing capacity remains idle due to poor optimization of placement.»

– Optimally assigning interconnected virtual nodes to substrate network with constraints

• Constraints: Datacenter capacities and bandwidth, Incompletely known topology, Locality and Jurisdiction

• Objectives: Less Inter-DC communication, Geographical proximity to user, and Latency

20

Page 21: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

• Resource Selection and Optimization

– VN requests and DC network are represented as undirected weighted graphs.

– Graph similarity - subgraph matching algorithms will be employed.

– Optimization at Infrastructure Level

21

Page 22: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

• Work Distribution to Resources

– «Data flows between nodes only in the shuffle step of the MapReduce job, and tuning it can have a big impact on job execution time.»

– Analysis of the shuffle and scheduling algorithms of Apache Hadoop framework.

– Mapper and reducer nodes should be selected carefully to minimize network traffic.

– Dynamic load balancing should be ensured.

22

Page 23: Improving Resource Utilization in Cloud using Application Placement Heuristics

Future Work

• Work Distribution to Resources

– Cost based formal analysis of the existing schedulers

– Which scheduler is more appropriate for given costs of map, reduce, shuffle phases?

– How can DataNode selection for blocks and clones be optimized to reduce network traffic?

– Optimization at Platform Level

23

Page 24: Improving Resource Utilization in Cloud using Application Placement Heuristics

Thank you!