and Scheduling Techniques Agenda for Today Resource management - - PowerPoint PPT Presentation
and Scheduling Techniques Agenda for Today Resource management - - PowerPoint PPT Presentation
Day 5 Heuristic Resource Provisioning and Scheduling Techniques Agenda for Today Resource management encompasses all the characteristics and usage of cloud resources including resource provisioning and resource scheduling The resource
Agenda for Today
- Resource management encompasses all the
characteristics and usage of cloud resources including resource provisioning and resource scheduling
- The resource allocation problem is a recurring issue in
distributed computing.
- It has remained a topic of research in various fields such
as
– job shop, flow shop or open shop scheduling in production environment, printed circuit board assembly scheduling – scheduling of tasks in distributed computing systems such as cluster, grid or cloud.
- We will look at heuristic approaches today..
Cloud Data Center Model
- The Cloud resource provisioning enables virtualized resources
to be allocated to Cloud consumers based on three provisioning plans.
J1 J1 Jn
Cloud consumer Virtualized Resources
request Result
Service Provisioning On-demand Advance Reservation Spot Instances
- Cloud services and basic functions are provided based on
Virtual Resources which are abstracted from Physical Resources.
resource provisioning resource allocation VM scheduling
Resource provisioning
J1 J1 Jn
Cloud consumer Virtualized Resources
request Result
Service Provisioning On-demand Advance Reservation Spot Instances
- Resource provisioning is responsible
– To understand the user needs – To prepare VMs with appropriate resources to match the workloads and QoS requirements – SLA Negotiation – Etc.
resource provisioning resource allocation VM scheduling
Resource Allocation
J1 J1 Jn
Cloud consumer Virtualized Resources
request Result
Service Provisioning On-demand Advance Reservation Spot Instances
- Resource allocation is responsible
– To select an optimal set of physical machines to host the received services (VMs), – To ensure the resource and QoS constraints are met. – To manage changes in resources availability through VMs restore or migration
resource provisioning resource allocation VM scheduling
VM Scheduling
J1 J1 Jn
Cloud consumer Virtualized Resources
request Result
Service Provisioning On-demand Advance Reservation Spot Instances
- VM scheduling is responsible
– A resource can be used either in shared (time sharing) mode or exclusive mode (space sharing). – To ensure that the VMs receive the required services based on the rule (policy) description.
resource provisioning resource allocation VM scheduling
Cloud resource provisioning problem
- The Cloud resource provisioning problem involves
tasks that must be scheduled on cloud resources subject to some constraints to optimize some
- bjective function.
- The growing scale of Cloud computing and the
increasing complexity of users’ requirements introduce additional constraints and make allocation decisions more challenging with difficult tradeoffs between user satisfaction and profit maximization.
Resource Provision and Allocation
- A wide variety of resource provisioning goals exist:
– High resource utilization – Energy efficiency – reliability of services – Low performance interference
- Optimally achieving the above goals in cloud
computing environment has been proved to be an NP-complete problem due to its combinatorial
- ptimization nature.
- There are no algorithms which may produce optimal
solution within polynomial time for such kind of problems.
Optimization algorithms
- Optimization algorithms can be roughly divided into two
categories: exact algorithms and heuristics.
- Exact algorithms are designed in such a way that it is
guaranteed that they will find the optimal solution in a finite amount of time.
– For scheduling optimization problems (e.g. NP-hard or global
- ptimization) this "finite amount of time" may increase
exponentially in respect to the dimensions of the problem.
- Heuristics do not have this guarantee, and therefore
generally return solutions that are worse than optimal.
– Heuristic algorithms usually find "good" solutions in a "reasonable" amount of time.
Heuristic algorithms
- Heuristic algorithms usually are
– adapted to the problem at hand and they try to take full advantage of the particularities of this problem. – However, because they are often too greedy, they usually get trapped in a local optimum and thus fail, in general, to
- btain the global optimum solution.
– Heuristic algorithms are generally make simplifying assumptions to relax constrains.
Relevant Information
- When developing resource provisioning algorithms, it
is imperative to consider information such as
- highly heterogeneous and time-varying workloads.
– daily demand distribution of a typical Internet application – request arrivals and departures statistics
https://gigaom.com/2012/02/11/which-is-less-expensive-amazon-or-self-hosted/, https://github.com/google/cluster-data/blob/master/ClusterData2011_2.md,
stochastic request arrivals and departures
Relevant Information
- Need to consider fundamental challenges that
arise from aspects such as
– the multi-tenant, – resource-abundant, – elastic resource model and – quality of service requirements expressed in terms
- f execution time and cost.
- How about cloud user’s job that often requires
cooperation among multiple VM instances?
Relevant Information
J1 J1 Jn
Cloud consumer
request
Service Provisioning On-demand Advance Reservation Spot Instances
What do we want to minimize:power consumption, SLA violation, etc.? What do we want to maximize: resource usage, revenue, etc.?
What do we want to Minimize: completion time, cost, etc. ?
What are the workload characteristics? What are the VM capability Cloud providers are faced with stochastic request arrivals and departures, which generates highly heterogeneous and time-varying workloads.
Relevant Information
- What type of resources the application needs?
– VM that is abundant in a particular type of resource: bandwidth, CPU, or storage.
- VMs types oblivious Cloud resource
provisioning is most common.
VM type-oblivious Heuristic Algorithms
- This question usually not considered in the heuristic
algorithm as it is usually assumed that
– A single type of VMs is usable by all applications, or – VMs are substitutes in that a high-end VM is equivalent to a number of low-end VMs. For example, a Type II (2 × Core, 2 GB RAM, 40 GB Disk) VM equals two Type I (1 × Core, 1 GB RAM, 20 GB Disk) VMs.
- Such type-oblivious VM heuristic algorithm do not
handle the existing VM heterogeneity in today’s cloud computing platforms.
Resource provisioning classification
- Resource provisioning can be generally classified as
– Static Resource Provisioning
- Given information such as highly heterogeneous and time-varying
workloads , allocation solutions based on static resource
provisioning lead to poor performance and hinder providers from achieving expected profits. – Dynamic Resource Provisioning
- With dynamic provisioning, the provider allocates more
resources as they are needed and removes them when they are not. – Hybrid Resource Provisioning
- Combines other resource provisioning approaches
Plan-oblivious Heuristic Algorithms
- Cloud providers can offer cloud consumers three
different provisioning plans for computing resources, namely reservation and on‐demand plans.
- Cloud resource provisioning that are oblivious to
various plans offered by the service provider is common
– Can we run FCFS on shared systems following the on- demand plan? – How about system with advanced reservations?
Over provisioning problem
- Over-provisioning to handle demand peaks
can result in significant costs and unused capacities
Resource waste
Under provisioning problem
- Planning resources for only usual workloads
request rejection and QoS degradation
applicat ion
QoS violation
Example of Heuristic Algorithms
- Rule-based heuristics
– First Come First Serve (FCFS), – Minimum Completion Time (MCT), – Minimum Execution Time (MET), – Max-min, – Min-min and – Sufferage.
Question
- How do I compare my algorithm with existing
heuristic algorithms for tasks scheduling?
- It is difficult to compare heuristic algorithms
due to the contrasting underlying assumption by each heuristic algorithm.
- The results of the simulation for all the
heuristics are considered under the same assumption.
Performance Implications of VM Co-locations
- Independent VMs can share a
physical machine.
- The extent of interference impact
depends on the type of application
- The analysis of co-located data-
intensive applications [Chiang and Huang] shows that the effects for such applications is more pronounced than others
Task 2 Task 4 VM 1 Task 3 Task 4 VM 2 Hypervisor Virtualization Processor Mem Disk Co-hosted VMs share hardware and software
Data Intensive Application Interference
- Interference slows down the tasks dramatically
- Three approaches for interference prediction model
is proposed.
– Linear Model – Quadratic Model – Exponential Model
- Also, an Interference-Aware Task Scheduling
approach is proposed
TRACON: Interference-Aware Scheduling for Data-Intensive Applications in Virtualized Environments. SC’11 Interference and Locality-Aware Task Scheduling for MapReduce Applications in Virtual Clusters HPDC’ 13
Reinforcement Learning Method
- Other methods that can be classified as Optimizes
long-term reward
- Current decision may have delayed consequences on
both future reward and future state.
- Avoid Local optimum: mathematical optimization
- Q-Learning
System Agent
Adjustm ent of resource
state feedback
- A variety of learning
methods exits including the following:
- Optimal control,
feedback control
- Statistical Modeling
25