Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource...

Preview:

Citation preview

Meta-heuristic Based Cloud Resource Provisioning Approach

Agenda for Today• Introduction

• What is meta-heuristics?

• How is it different from heuristics?

• What makes them appropriate for resource provisioning as compared to heuristics?

• Using a meta-heuristics approaches to solve the resource provisioning problem

– Problem statement formulation and analysis of its complexity

• What are the research question that are answered by meta-heuristics algorithms?

• What are the open research questions in this area?

Introduction

• The cloud computing paradigm is increasingly becoming mainstream and a growing number of companies and research organizations seek to gain value from its unique characteristics, service models, and deployment forms.

• This gives rise to many different optimization problems both from the consumers’ and providers’ perspective.

Sample Problems

• Cloud service providers need algorithms that can

– reduce operational expenses and improve economies of scale to maximize profits and provide competitive prices in a highly competitive market.

– algorithm that can predict for incoming request of VMs from the cloud users;

– Algorithms that help improve utilization of the system

– Efficient algorithms to optimize the current VM allocation.

Sample Problems

• Cloud service users also need algorithms

– prediction model to react to the dynamic price model of the CSPs

– Algorithms that allow them to efficiently negotiate SLA with the Cloud service providers

• Combined optimization issues

– Algorithms for multi-criteria optimizations such as maximizing QoS while at the same time maximizing resource utilization

Agenda for Today• Introduction

• What is meta-heuristics?

• How is it different from heuristics?

• What makes them appropriate for resource provisioning as compared to heuristics?

• Using a meta-heuristics approaches to solve the resource provisioning problem

– Problem statement formulation and analysis of its complexity

• What are the research question that are answered by meta-heuristics algorithms?

• What are the open research questions in this area?

What is a Meta-heuristic Method?

• Meta-heuristic methods are one of the common strategies for solving NP-hard optimization problems

• Meta-heuristic Heuristic + Randomization

• We use the definition given by [Osman and Laporte 1996]

– “An iterative generation process which guides a subordinate heuristic by combining intelligently different concepts for exploring and exploiting the search space, learning strategies are used to structure information in

order to find efficiently near-optimal solutions. “

Meta-heuristic Properties

• Meta-heuristics properties

– not problem-specific.

– efficiently explore the search space to find (near-)optimal solutions.

– approximate and usually non-deterministic.

Meta-heuristic Approaches

• There are many meta-heuristic approaches that range from simple local search procedures to complex learning processes

– simulated annealing (SA), [e.g., single solution approach]

– evolutionary algorithms (EA), [e.g., population-based ]

– ant colony optimization (ACO), [eg, of swarm intelligence]

– particle swarm optimization(PSO) [e.g., population-based and swarm intelligence approaches]

• Many different new variants are continually being proposed.

• We will discuss Particle Swarm Optimization

Particle Swarm Optimization• Particle Swarm Optimization (PSO) [Kennedy and

Eberhart 1995] algorithm – An adaptive method

– Characterized by simplicity and effectiveness in wide range of application with low computational cost.

– It also has fewer algorithm parameters than genetic algorithm.

– PSO algorithm works well on most global optimal problems.

• The above characteristics make PSO appealing to solve cloud resource allocation problem.

– has become popular in solving resource allocation optimization problem

Particle Swarm Background

• The particles are randomly placed in a problem search space.

• A search area specifies an area that contains all possible solutions of a combinatorial problem.

• Each particle in search space adjusts its “flying” pattern according to its own flying experience as well as the flying experience of other particles

Particle Attributes

• Each particle will have

– Velocity: The particle flying speed, which directs the flying of the particle.

– Fitness: a fitness value (the objective function value), which will be evaluated by a fitness function to be optimised in each iteration.

– Particle position (pbest): Each particle knows its best position (this is the best fitness value so far reached by the particle)

– Group position (gbest): The best position so far among the entire group of particles (this is the best particle in terms of fitness in an entire population)

Particle Swarm Background

• PSO is based on a set of flying particles that constitute a swarm move within the search space looking for the best solution.

• Movement towards a promising area to get the global optimum

Velocity Update• Each particle adjusts its velocity (ie. travelling speed)

dynamically corresponding to the flying experiences of itself and its neighbors

pbest

velocity

gbest

• At each time step, a particle moves toward its pBest and gBest.

Velocity Update..

Velocity and Position Updates

Illustration of PSO Process

From Andry Pinto, et. al

Illustration of PSO Process

From Andry Pinto, et. al

Illustration of PSO Process

From Andry Pinto, et. al

Illustration of PSO Process

From Andry Pinto, et. al

Illustration of PSO Process

From Andry Pinto, et. al

Illustration of PSO Process

From Andry Pinto, et. al

Particle Swarm Optimization Pseudo code

Algorithm: PSOINPUT: N: number of tasks, I: number of iterationsOUTPUT:1. D[]=N //particle dimension2. Initialize position randomly3. Initialize velocity randomly4. REPEAT5. Evaluate fitness of individual particle.6. IF fitness is better than pbest

7. pbest = fitness ;8. END

9. gbest = neighboughr (pbest);

10. Modify velocities based on personal best and global best.11. Modify position based on current location and velocity.12. UNTIL Terminate on some condition.13. Return result 14. END algorithm

Particle Swarm Optimization

Initialization step

F(p) F(p) F(p)

Update velocity, position,

gbest, pbest

The set of particles

# o

f it

era

tion

s

Convergence

Agenda for Today• Introduction

• What is meta-heuristics?

• How is it different from heuristics?

• What makes them appropriate for resource provisioning as compared to heuristics?

• Meta-heuristics Cloud resource provisioning approach

– Problem statement formulation and analysis of its complexity

• What are the research question that are answered by meta-heuristics algorithms?

• What are the open research questions in this area?

Preliminaries

Problem Formulation

Illustration

1 0 0

0 1 0

0 0 1

1 0 0

0 0 1

0 1 0

0 0 1

1 0 0

1 0 0

• Which task to machine assignment is the best?

NP Hardness

• Even though this problem has been intensively investigated, exact polynomial algorithms have not been found yet.

• Furthermore, we can verify that the problem is NP-hard by reduction to the partition set problem, that, even for n = 2, this problem is NP-hard.

• Meta-heuristic optimization algorithm can be used to solve NP-hard problems.

Meta-heuristic Resource Allocation• Application of meta-heuristic techniques to Cloud

Resource Allocation

MalaKalraaSarbjeetSingh, A review of metaheuristic scheduling techniques in cloud computing, Egyptian Informatics Journal, Volume 16, Issue 3, November 2015, Pages 275-295

League Championship Algorithm (LCA)

Cloud Resource Allocation

1 0 0

0 1 0

0 0 1

1 0 0

0 0 1

0 1 0

0 0 1

1 0 0

1 0 0

Applying PSO to Resource Provisioning

Particle in PSO 1 2 3 4 5 6 7 8

A representation of task to resource mapping as a PSO particle

Task to resource mapping instance

• Each position in the particle represents a task and the value at that position represents the mapping of the task to a resource.

• Thus the particle represents mapping of resource to a task.

Open Problems• Research question 1: Develop a hybrid algorithm that

combines metaheuristic techniques and classical Artificial Intelligence (AI) and Operation Research (OR) methods such as greedy algorithm, backtracking techniques, beam search or constrained programming for cloud data center resource management.

• Research question 2: Investigation and development of a hybrid approach that combines single solution approach (eg., simulated annealing (SA) and population-based metaheuristic technique for cloud data center resource management.

• Research question 3: Metaheuristic algorithm that can (i) predict for incoming request of VMs from the cloud users; (ii) prediction model to react to the dynamic price model of the CSPs

Open Problems

• Research question 3: Cloud service providers (CSPs) aim to reduce operational expenses and improve economies of scale to maximize profits and provide competitive prices in a highly competitive market.

– Very little work exists in the space of meta-heuristic algorithm with respect to reducing operational expenses and improving economies of scale to maximize profits and provide competitive prices

Cloud broker

• In the context of this ecosystem, the role of cloud broker schemes has been intensively discussed, in particular with regard to decision support. That is, a cloud broker (e.g., in form of decision support or a third-party) can interact between consumers and providers as well as between consumers to increase the value creation.

• Research question 4: Metaheuristics for cloud brokerage specially in Multi-Cloud Computing

Hybrid Meta-heuristics Algorithm for Resource Allocation

• Although POS’s simplicity is appealing, its suffers from

– Tendency to a fast and premature convergence in mid optimum points

– Slow convergence in refined search stage (weak local search ability)

• A hybrid algorithm (PSO–GELS) based on the following paper for our scheduling problem to decreases makespanand minimizes the number of tasks that miss their deadlines.

Zahra Pooranian, Mohammad Shojafar, Jemal H. Abawajy and Ajith Abraham, Journal of Combinatorial Optimization, Volume 30 Issue 3, October 2015, Pages 413-434

Hybrid Meta-heuristics Algorithm for Resource Allocation

• The proposed scheduling algorithm uses PSO as the main search algorithm, while gravitational emulation local search (GELS) is used to improve the population.

• Reasons for using both algorithms.– First, we need an algorithm that is based on a population that

can search the entire search space for this problem.

– Second, the cloud environment is dynamic, so the scheduling algorithm must be fast enough to adapt with the natural cloud environment and must be able to converge faster than other algorithms.

– Moreover, although PSO is weak for local searches, our combination of PSO with an algorithm that is strong in

Evaluation

• Default # of particles = 25

• Number of iterations = 20

• On each evaluation, the pbest and gbest values are updated according to Equation (1) and Equation 2.

• The evaluation is carried out in a loop until the results converge or until the specified number of iterations (user specified stopping criteria).

Makespan average

SA: simulated annealing GA: Genetic algorithm

Number of tasksNumber of machines

Execution Time Analysis

Open Problems

• Research question 5: Develop meta-heuristic algorithm for federated cloud resource provisioning.

• Research question 6: Which meta-heuristic algorithm is appropriate for scientific workload on cloud computing?

• Research question 7: How do the meta-heuristic algorithm perform under spot instance provisioning environment?

• Research question 8: In the studied literature, most of the authors have focused on reduction of makespan and execution cost whereas others have given significance to response time, throughput, flowtime and average resource utilization.– Develop a SLA and cost-aware meta-heuristic resource provisioning

a task scheduling approach that is tailored for Big Data applications in the Cloud.

• Research question 9: An efficient selection and utilization of cloud providers and cloud services in Federated Cloud environment.

• Research question 10: Application of metaheuristics in fog computing environments

• Research question 10: Develop reward-based adaptive resource management for Federated Cloud computing

References

• Zahra Pooranian · Mohammad Shojafar · Jemal H. Abawajy · Ajith Abraham, An efficient meta-heuristic algorithm for grid computing

• Habib Shah, Tutut Herawan, Rozaida Ghazali, Rashid Naseem, Maslina Abdul Aziz, Jemal H. Abawajy: An Improved Gbest Guided Artificial Bee Colony (IGGABC) Algorithm for Classification and Prediction Tasks. ICONIP (1) 2014: 559-569

• Nazri Mohd Nawi, Abdullah khan, M.Z. Rehman, Maslina Abdul Aziz, Tutut Herawan, and Jemal H. Abawajy,” Neural Network Training by Hybrid Accelerated Cuckoo Particle Swarm Optimization Algorithm”, Springer International Publishing Switzerland 2014 .

• Nazri Mohd Nawi, Abdullah Khan, M. Z. Rehman, Maslina Abdul Aziz, Tutut Herawan, Jemal H. Abawajy: An Accelerated Particle Swarm Optimization Based Levenberg Marquardt Back Propagation Algorithm. 2014: 245-253

• Nazri Mohd Nawi, Abdullah Khan, M. Z. Rehman, Maslina Abdul Aziz, Tutut Herawan, Jemal H. Abawajy: Neural Network Training by Hybrid Accelerated Cuckoo Particle Swarm Optimization Algorithm. 2014: 237-244

Thank You… Questions, Comments, …?

Practical Today

• This lab, we implement the PSO scheduling

• You can download the code from here and try it

– https://www.javatips.net/api/CS249_Workflow_project-master/cloudsim-3.0.1/sources/org/cloudbus/cloudsim/network/datacenter/PSO.java

Recommended