46
Meta-heuristic Based Cloud Resource Provisioning Approach

Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Meta-heuristic Based Cloud Resource Provisioning Approach

Page 2: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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?

Page 3: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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.

Page 4: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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.

Page 5: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 6: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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?

Page 7: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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. “

Page 8: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Meta-heuristic Properties

• Meta-heuristics properties

– not problem-specific.

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

– approximate and usually non-deterministic.

Page 9: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 10: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 11: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 12: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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)

Page 13: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 14: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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.

Page 15: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Velocity Update..

Page 16: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Velocity and Position Updates

Page 17: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Illustration of PSO Process

From Andry Pinto, et. al

Page 18: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Illustration of PSO Process

From Andry Pinto, et. al

Page 19: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Illustration of PSO Process

From Andry Pinto, et. al

Page 20: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Illustration of PSO Process

From Andry Pinto, et. al

Page 21: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Illustration of PSO Process

From Andry Pinto, et. al

Page 22: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Illustration of PSO Process

From Andry Pinto, et. al

Page 23: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 24: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 25: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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?

Page 26: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Preliminaries

Page 27: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Problem Formulation

Page 28: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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?

Page 29: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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.

Page 30: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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)

Page 31: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 32: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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.

Page 33: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 34: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 35: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 36: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 37: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 38: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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).

Page 39: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Makespan average

SA: simulated annealing GA: Genetic algorithm

Page 40: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Number of tasksNumber of machines

Page 41: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Execution Time Analysis

Page 42: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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.

Page 43: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

• 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

Page 44: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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

Page 45: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

Thank You… Questions, Comments, …?

Page 46: Meta-heuristic Based Cloud Resource Provisioning Approach · Meta-heuristic Based Cloud Resource Provisioning Approach. Agenda for Today •Introduction ... –Algorithms that help

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