Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Resource Provisioning for Cloud Computing

No description
by

Revanth Pobala

on 15 April 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Resource Provisioning for Cloud Computing

Revanth Pobala
Sheheryar Ali Arshad
Ashwin Ramesh Babu
Akilesh Rajavenkatanarayanan

Resource Provisioning for Cloud Computing
Process of assigning available resources to the needed cloud applications.
Resource allocation starves services if the allocation is not managed precisely.
Integrating cloud provider activities for utilizing and allocating scarce resources within the limit of cloud environment so as to meet the needs of the cloud application.
It requires the type and amount of resources needed by each application in order to complete a user job.
Resource Allocation- An Intro
Classification of Resource Provisioning
Performance and Energy Aware Resource Provisioning
Eucalyptus
Open Nebula
Nimbus
Examples
Architecture
Negotiation issues
Resource Management and Control
What is Eucalyptus ?
Open Source Private Cloud Software
Eucalyptus was designed to provide services compatible with Amazon EC2, i.e., it was designed for the rental of virtual machines in the Cloud.
All communications in Eucalyptus are made through WebServices standards.
What is Eucalyptus?
Eucalyptus is intended to bridge the gap between open-source software for Clouds and enterprise solutions.
Fully compatible with Amazon EC2
Architecture
Two different user classes: administrators and developers.
Reflects a business-oriented model view
The former are the users responsible for managing the entire Cloud who have access to all features of Eucalyptus.
The latter are the developers that can request and make use of VM instances directly from Eucalyptus, without the need for administrators’ intervention
Architecture
Eucalyptus has four components
Node Controller(NC)
Cluster Controller(cc)
Cloud Controller (CLC)
Walrus
Architecture
Cluster Controller
Node Controller
NC offers a common layer that abstracts the hypervisor solution employed on each server.
NC's are grouped in clusters managed by the Cluster Controller (CC)
CC gathers state information from each NC, schedules developers’ requests to individual NC's, and manages the configuration of public and private networks.
Cloud Controller (CLC)
Processes requests and makes VM placement decisions.
Top of the Architecture
Walrus
Data storage service compatible with Amazon’s S3, which is responsible for manipulating VM templates and delivering them to NCs when a developer wishes to instantiate a VM.
Negotiation issues
Developed entirely inside a Service-Oriented paradigm

Messages exchanged between Eucalyptus components as well as messages sent by developers requiring a resource are described through WSDL interfaces.
The negotiation or external interface is offered by the CLC and is responsible by translating developers’ requests into operations for the internal components
Eucalyptus supports both SOAP-based and HTTP Query-based interfaces
For maintaining compatibility with Amazon EC2, developers on Eucalyptus may only instantiate VMs from classes previously configured.
Resource Management and Control
OpenNebula
User driven Open-source, Enterprise cloud manager.
used by various international organizations such as CERN , Telefonica , ESA.
Architecture
Classic Cluster like structure
Master and Slave nodes
At least requires one physical network joining all the cluster nodes with the front end.
Architecture
Resource Management and Control
The Scheduler is the OpenNebula module responsible for making VM placement decisions.
The default scheduler on OpenNebula provides a scheduling policy that places
VMs according to a ranking algorithm, which relies on performance data from both the running VMs and physical servers
Resource Management and Control
Algorithm 1: Scheduling algortithm.
Inputs: requirements, rank, hostsList;
Outputs: selectedHost;
1 Begin
2 for each host in hostsList do
3 if (host meets requirements) then
4 candidates.new(host);
5 end
6 end
7 sorted = sortByRank(candidates, rank);
8 selectedHost = sorted(1);
9 end
Dynamic provisioning in cloud computing tries to achieve:
Energy efficiency
High resource utilization
Reliability of services
Low performance interference /failure

Parameters to consider for resource provisioning includes:
Response Time
Minimize Cost
Revenue Maximization
Fault Tolerance
Reduced SLA violation
Reduced Power Consumption





Goals of Dynamic Provisioning
Advantages:

Managing concurrent allocations

Cut-off locks

Consistent information

Priority based transactions

Ease in VM allocation, VM migration and resource discovery

Highly Efficient

Hierarchical Resource Organization
REFERENCES
V.Vinothina, Dr.R.Sridaran, Dr.PadmavathiGanapathi. “A Survey on Resource Allocation Strategies in Cloud Computing.” (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 3, No.6, 2012
G. S. Majumdar, “The “Any-Schedulability” Criterion for Providing QoS Guarantees Through Advance Reservation Requests”, in Proceedings of the IEEE/ACM International Symposium on Cluster Computing and the Grid (International Workshop on Cloud Computing), Shanghai, China, May 2009, pp. 490-495.
Kuo-Chan Huang &Kuan-Po Lai: Processor Allocation policies for Reducing Resource fragmentation in Multi cluster Grid and Cloud Environments (IEEE, 2010), pp.971-976.
Dongwan Shin and HakanAkkan :Domain- based virtualized resource management in cloud computing.
Wei-Yu Lin et al. : Dynamic Auction Mechanism for Cloud Resource Allocation: 2010 IEEE/ACM 10th International Conference on Cluster, Cloud and Grid Computing, pp.591-592.
RerngvitYanggratoke, FetahiWuhib and Rolf Stadler: Gossip-based resource allocation for green computing in Large Clouds: 7th International conference on network and service management, Paris, France, 24-28 October, 2011.
FetahiWuhib and Rolf Stadler : Distributed monitoring and resource management for Large cloud environments(IEEE,2011),pp.970-975.
DusitNiyato, Zhu Kun and Ping Wang : Cooperative Virtual Machine Management for Multi-Organization Cloud Computing Environment.
Dorian Minarolli and Bernd Freisleben: Uitlity –based Resource Allocations for virtual machines in cloud computing(IEEE,2011),pp.410-417.
Yoo, Seunghwan, and Sungchun Kim. "SLA-aware adaptive provisioning method for hybrid workload application on Cloud computing platform." Proceedings of the international multi conference of engineers and computer scientists. Vol. 1. 2013
Nathuji, Ripal, Aman Kansal, and Alireza Ghaffarkhah. "Q-clouds: managing performance interference effects for qos-aware clouds." Proceedings of the 5th European conference on Computer systems. ACM, 2010.
Omara, Fatma A., Sherif M. Khattab, and Radhya Sahal. "Optimum Resource Allocation of Database in Cloud Computing." Egyptian Informatics Journal 15.1 (2014): 1-12.
Javadi, Bahman, Jemal Abawajy, and Rajkumar Buyya. "Failure-aware resource provisioning for hybrid Cloud infrastructure." Journal of parallel and distributed computing 72.10 (2012): 1318-
Y. O. Yazır, C. Matthews, R. Farahbod, A. Guitouni, S. Neville, S. Ganti, and Y. Coady, “Dynamic and Autonomous Resource Management in Computing Clouds through Distributed Multi Criteria Decision Making,”
A. Kochut, “On Impact of Dynamic Virtual Machine Reallocation on Data Center Efficiency,” 2008, pp. 1 –8.
R. Das, J. Kephart, I. Whalley, and P. Vytas, “Towards Commercialization of Utility-based Resource Allocation,” in ICAC ’06: IEEE International Conference on Autonomic Computing, 2006, pp. 287–290
D. Chess, A. Segal, I. Whalley, and S. White, “Unity: Experiences with a Prototype Autonomic Computing System,” in 2004. Proceedings. International Conference on Autonomic Computing, 2004, pp. 140–147
Performance and Service Provider Priorities
Ensure confidentiality, integrity, and availability in a multi-tenant environment.
Effectively meet the advertised SLA, while optimizing cloud resource utilization.
Offer tenants capabilities for self-service, and achieve scaling through automation and simplification.
Meeting Priorities
Power Aware Provisioning
Green Cloud Computing

Workload based Provisioning
Resource Provisioning for HPC

SLA based Provisioning
QoS/Adaptive Provisioning

Failure Aware Provisioning
Fault Tolerant/Optimal Computing

Resource Provisioning and Power Consumption
Green Computing
Green Cloud Computing Architecture
Green Cloud Framework
VM scheduling on Multi-core Systems
There is a nonlinear relationship between the number of processes used and power consumption.

We can schedule VMs to take advantage of this relationship in order to conserve power

Power-aware Scheduling
Schedule as many VMs at once on a multi-core node.
Greedy scheduling algorithm
Keep track of cores on a given node
Match vm requirements with node capacity

485 Watts vs. 552 Watts
VM Management
Monitor Cloud usage and load

When load decreases:
Live migrate VMs to more utilized nodes
Shutdown unused nodes

When load increases:

Start up waiting nodes.
Schedule new VMs to new nodes.



DVS (Dynamic Voltage Scaling)
DVS (Dynamic Voltage Scaling) technique
Reducing the dynamic energy consumption by lowering the supply voltage at the cost of performance degradation
Recent processors support such ability to adjust the supply voltage dynamically.
The dynamic energy consumption =  * Vdd2 * Ncycle
Vdd : the supply voltage
Ncycle : the number of clock cycle
An example



“Power-Aware” Algorithms
Host overload detection
Adaptive utilization threshold based algorithms
Median Absolute Deviation algorithm (MAD)
Interquartile Range algorithm (IQR)
Regression based algorithms
Local Regression algorithm (LR)
Robust Local Regression algorithm (LRR)
Host under load detection algorithms
Migrating the VMs from the least utilized host
VM selection algorithms
Minimum Migration Time policy (MMT)
Random Selection policy (RS)
Maximum Correlation policy (MC)
VM placement algorithms
Heuristic for the bin-packing problem – Power-Aware Best Fit Decreasing algorithm (PABFD)


Resource Provisioning for HPC applications
WHY and WHO should choose (or not choose) cloud for HPC ?

For WHAT applications and how should cloud be used for HPC?

Solution:

By analyzing the performance of HPC applications on a range of platforms varying from supercomputer to cloud
By analyzing the impact of virtualization on HPC applications
By using multiple platforms (dedicated and in the cloud) and use a smart application aware mapping of applications to platforms
By investigating the economic aspects of running in cloud vs. supercomputer
Optimizing Cloud Virtualization for HPC
Cloud Bursting and Benefit
How to find a mapping between application and available resources?
To makes best use of the dedicated HPC-optimized resources?
Minimizes the cost of bursting to the cloud
Meet the performance targets?

By an intelligent mapping algorithms
Which are aware of application characteristics
Understand that application which scale poorly on cloud should be allocated to dedicated resources
SLA-Aware Adaptive Provisioning Method
SLA-Aware Adaptive Provisioning Method
Monitor:
Collects the workload and the performance metric of all running VAEEs, such as the response time, the request arrival rate, the average service time, and the CPU utilization, etc.

Analyzer:
Receives and analyzes the logged parameter from the monitor to estimate next state workload. It also receives the response times of different users.

Resource Scheduler:
Sets up updated configuration metric for each VAEE, and uses its optimizer with the optimization model to determine resource provisioning according to these workload estimates and response time constrains of different users such that the resource requirements of the overall VAEE is minimized.

Virtualized Application Executor:
Assigns the virtual machine configuration, and then runs the VAEEs to satisfy the resource requirements of the different customers according to the optimized decision.

Q-Clouds
Fig. VM Deployment and QoS management with QClouds.
Cloud Scheduler:
Placement of VMs submitted by customers on cloud servers.

Interference Mitigation Control:
Allocate additional resources to impact VMs to bring their performance to the same level as what would have been observed without interference.

Resource Efficiency Control:
The slack in resource can then be dynamically allocated to applications to achieve higher levels of QoS.

Optimum Resource Allocation of Database in Cloud Computing
Virtualization Design Advisor (VDA) architecture
Figure: Virtualization Design Advisor (VDA) architecture
Failure-aware resource provisioning
As resource failures due to the increasing functionality and complexity of hybrid Cloud computing are inevitable
A failure-aware resource provisioning algorithm that is capable of attending to the end-users quality of service (QoS) requirements is paramount.
A failure-aware resource provisioning approach is necessary for the uptake of hybrid Cloud computing.
InterGrid Gateway
Questions ???

Outline
Introduction
Why resource provisioning?
Cloud Entities for Resource Provisioning
Efficient and Inefficient Resource provisioning
Challenges in Resource Provisioning
Overview of Resource provisioning techniques
Classification of Resource Provisioning Algorithms
Goals of Dynamic Provisioning
Performance and Energy aware Resource Provisioning
Comparison of Resource Provisioning Techniques
Current Cloud based systems
Summary
Why Resource Provisioning???

Cloud resources consist of physical and virtual resources. The physical resources are shared across multiple compute requests through virtualization and provisioning.
The request for virtualized resources consists of a set of parameters detailing the processing, memory and disk needs.
Provisioning satisfies the request by mapping virtualized resources to physical ones.
Impractical to predict the dynamic nature of users, user demands, and application demands .
The job should be completed on time with minimal cost .
For this, we need efficient resource allocation system that suits cloud environments.
Cloud Entities for Resource Provisioning
Resource Providers (RPs):
Business companies, cluster managers and even hosts which provide physical resources as IaaS (Infrastructure as a Service).

Clients:
Users/Application that are interested in resource provisioning.
They do not have knowledge regarding or control over the underlying data center infrastructures of the Clouds

Resource Brokers (RBs):
Allocate resources for applications/services on multiple VMs in order to fulfill requests of different Clients
Manage resources provided by several RPs deploying VMs on several Physical Servers in the same Cloud, or even different Clouds.
Resource allocation in order to obtain the most cost-effective resources

Workload Types
Amount of work that needs to be accomplished by computer resources in a certain period of time.
Batch workloads:
operates in the background.
process huge volumes of data
rarely time sensitive and can be scheduled when few real-time tasks are running.
Transactional workloads:
automation of business processes.
complex transactional workloads are best suited to a private cloud
Analytic workloads:
analytic services of organizations, in a cloud environment to make sense of the vast amounts of data across a complex hybrid environment
require much more real-time computing capability.

High-performance workloads:
specialized process with scientific or technical requirements
complex and require significant compute capabilities.
Database workloads:
Most common type of workload.
must be tuned and managed to support the service that’s using that data.

Efficient Resource Provisioning

Type of workload
Type of goal
Type of resources
Type of service provided.

Inefficient Resource Provisioning
The below conditions will lead to inefficient resource allocation.
Resource contention.
Scarcity of resources.
Resource fragmentation.
Over-provisioning.
Under-provisioning.

Over Provisioning
Over-provisioning of resources arises when the application gets surplus resources than the demanded one.

Resource users’ (cloud users) estimates of resource demands to complete a job before the estimated time may lead to an over-provisioning of resources.

Under Provisioning
Under-provisioning of resources occurs when the application is assigned with fewer numbers of resources than the demand.

Resource providers’ allocation of resources may lead to an under-provisioning of resources.
To overcome the above mentioned discrepancies, inputs needed from both cloud providers and users for a RAS.

Below table indicates the list of inputs user and provider should give to an RAS.
The complexity of finding an optimum resource allocation is exponential in huge systems like big clusters, data centers or Grids.

Since resource demand and supply can be dynamic and uncertain, various strategies for resource allocation are proposed.

Challenges in Resource Provisioning
Dynamic scalability
Multi-tenancy
Querying and access
Standardization
Reliability and fault-tolerance
Debugging and profiling
Security and Privacy
Power
Overview of Resource Provisioning Techniques
Execution Time based Resource Provisioning
The actual task execution time and preemptable scheduling is considered for resource allocation.
Overcomes resource contention problem and increases resource utilization by using different modes of renting computing capacities.
Estimating the execution time for a job is a hard task for a user and errors are made very often.
The VM model considered in the below paper is heterogeneous and proposed for IaaS.
[Jiyani et al.: Adaptive resource allocation for preemptable jobs in cloud systems (IEEE, 2010), pp.31-36.]
Based on this strategy, a matchmaking strategy (assign a resource to a job) was proposed.
Does not use detailed knowledge of the scheduling policies used at resources and subjected to AR’s (Advance Reservation).
Jose Orlando Melendez &shikhareshMajumdar: Matchmaking with Limited knowledge of Resources on Clouds and Grids.
Policy based Resource Provisioning
Centralized user and resource management lacks in scalable management of users, resources and organization-level security policy.

A decentralized user and virtualized resource management for IaaS by adding a new layer called domain in between the user and the virtualized resources was proposed.

Resource fragmentation in multi-cluster environment can be controlled by using the most-fit processor policy.

The most-fit policy has higher time complexities but the time overheads are negligible compared to the system long time operation
Kuo-Chan Huang &Kuan-Po Lai: Processor Allocation policies for Reducing Resource fragmentation in Multi cluster Grid and Cloud Environments (IEEE, 2010), pp.971-976.

Auction based Resource Provisioning
The proposed mechanism is based on sealed-bid auction.
The cloud service provider collects all the users’ bids and determines the price. The resource is distributed to the first kth highest bidders under the price of the (k+1)th highest bid.
Reduces the resource provisioning problem into ordering problem.
This mechanism does not ensure profit maximization due to its truth telling property under constraints.
Achieved by using market based resource allocation strategy in which equilibrium theory is introduced (RSA-M).
Wei-Yu Lin et al. : Dynamic Auction Mechanism for Cloud Resource Allocation: 2010 IEEE/ACM 10th International Conference on Cluster, Cloud and Grid Computing, pp.591-592.
Gossip based Resource Provisioning
Resource allocation in large-scale cloud environments.
A distributed scheme that allocates cloud resources to a set of applications that have time-dependent memory demands and it dynamically maximizes a global cloud utility function.
Produces optimal allocation when memory demand is smaller than the available memory in the cloud and the quality of the allocation does not change with the number of applications and the number of machines.
Requires additional functionalities to make resource allocation scheme robust to machine failure.
Organizations can cooperate to share the available resources to reduce the cost.
This system does not consider the dynamic co-operative formation of organizations.
RerngvitYanggratoke, FetahiWuhib and Rolf Stadler: Gossip-based resource allocation for green computing in Large Clouds: 7th International conference on network and service management, Paris, France, 24-28 October, 2011.

Utility Functions based Resource Provisioning
Dynamically managing VMs in IaaS by optimizing objective functions like minimizing cost function, cost performance function and meeting QoS objectives. The objective function is defined as Utility property which is selected based on measures of response time, number of QoS, targets met and profit etc.

Few algorithms that dynamically allocate CPU resources to meet QoS objectives. But they do not try to maximize the objectives.

Utility (profit) based resource allocation for VMs which use live VM migration .

Resource allocation based on response time as a measure of utility function for multi-tier cloud computing systems.

Follows force-directed resource management for resource consolidation. But this system is acceptable only as long as the client behaviors remain stationary.
Dorian Minarolli and Bernd Freisleben: Uitlity –based Resource Allocations for virtual machines in cloud computing (IEEE,2011),pp.410-417.
Virtual Machines (VM)
Virtual network of virtual machines capable of live migration.
Dynamic Application Demand helps in automatic relocation.
Pay on Demand where users can choose what kind of service they demand.

Nature of Application
Resource allocated based on the Application's workflow
Interpret the application logic and exploited to estimate the execution schedule to predict the resource consumed.
For real time applications a prototype model is implemented with a test bed cloud for allocation

Service Level Agreement
Legal Agreement
Segments to be addressed by a service provider is specified.
Example, duration of the service, problem management, customer duties, warranties, disaster recovery, and termination of agreement.
Only based on this for a particular request, the resource can be allocated.
Problem: VM has to monitor in regular interval for SLA

Tasks required to accomplish goals
Indexing all the resources available
Translating the application requirements
Estimating the capacity needs of VMs
Managing resources in order  QoS requirements
Monitoring the usage of allocated resources SLA
Performing load balancing
Dynamically reallocating resources
Application/Services request and authorization
Managing VMs migration at different physical sites.

Servers consume 0.5% of the world’s total electricity usage
Closer to 1.2% when data center systems are factored into the equation

Server energy demand doubles every 4-6 years

Large amounts of CO2 produced by burning fossil fuels

What if we could reduce the energy used with minimal performance impact? (Green Cloud Computing)

Conclusion
VS
Researchers point of view
Performance/Watt: Moore’s law ???
Advanced scheduling techniques.
Power aware
Thermal aware
Power Efficient Data center designs
Cooling systems
Rack design

Number of ways to explore provisioning
to conserve energy within a Cloud.
Schedule VMs to conserve energy.
Management of both VMs and underlying infrastructure.
Minimize operating inefficiencies for non-essential tasks.
Optimize data center design.


Optimize the resources
Utilize the cpu power to the maximum
Propose new algorithms which can perform better
Industry
Quality of service
Customer satisfaction
SLA(Service Level Aggrements)
Power consumption curve on an Intel Core i7 920 Server
(4 cores, 8 virtual cores with Hyperthreading)
Taxonomy of Power Management Techniques
To mitigate the overhead of cloud platform two ways is considered

Lightweight virtualization :
reduces the latency overhead of network virtualization by granting virtual machines native accesses to physical network interfaces

CPU affinity:
instructs the operating system to bind a process (or thread) to a specific CPU core

Prevent migration of process
Prevent multi process share a core
Improving cache locality
In cloud CPU affinity can be enforced in two levels:
Application level: binding process of to the virtual CPUs of a VM
Hypervisor level: binding virtual CPUs to physical CPUs


parallel efficiency
(𝐸): 𝐸 = 𝑆/𝑃
where 𝑃 is the number of processors
Speedup (𝑆) is defined as:
𝑆 =𝑇_𝑠/𝑇_𝑝
where 𝑇_𝑠 is the sequential execution time and 𝑇_𝑝 is the parallel execution time

Mapping of HPC applications to platforms with varying resources (e.g., differentprocessor types and speed, interconnection networks, and virtualization overhead)
Fig: Proposed SAA-Provisioning Framework
Goal: To minimize usage of resources under a workload while satisfying different users for the guaranteed response time.
Yoo, Seunghwan, and Sungchun Kim. "SLA-aware adaptive provisioning method for hybrid workload application on Cloud computing platform."
Proceedings of the international multi conference of engineers and computer scientists. Vol. 1. 2013

Nathuji, Ripal, Aman Kansal, and Alireza Ghaffarkhah. "Q-clouds: managing performance interference effects for qos-aware clouds." Proceedings of the 5th European conference on Computer systems. ACM, 2010.

Virtualization Design Problem (VDP):
N VMs run on a shared physical machine pool and each VM runs its own instance of a N instances of a DBMS. The shared physical pool is represented by M different resources.

Virtual Design Advisor (VDA):
The VDA is divided into two modules:
configuration enumeration, which includes the search algorithm
cost model.

The modules interact to produce the recommended configurations using a calibration process (Tune cost model parameters).

The search algorithm modifies the query optimizer’s tuning parameters using the calibration process.
The calibration process can profile the intensively of workload even CPU-intensive or non-CPU-intensive and guides the VDA to allocate the suitable amounts of resources to each VM.

Omara, Fatma A., Sherif M. Khattab, and Radhya Sahal. "Optimum Resource Allocation of Database in Cloud Computing." Egyptian Informatics Journal 15.1 (2014): 1-12.

Resource provisioning through IGG
Comparison of Resource Provisioning Techniques
Javadi, Bahman, Jemal Abawajy, and Rajkumar Buyya. "Failure-aware resource provisioning for hybrid Cloud infrastructure." Journal of parallel and distributed computing 72.10 (2012): 1318-1331.
Fig. IGG components.
Javadi, Bahman, Jemal Abawajy, and Rajkumar Buyya. "Failure-aware resource provisioning for hybrid Cloud infrastructure." Journal of parallel and distributed computing 72.10 (2012): 1318-1331.

Load Balancing
This Load Balancing has to be performed for the benefit of both the customer and the service provider.
Based on SLA, helps finding the VM, helps distributing work across multiple VMs
This is done to prevent over utilization.
This stands as the mediator between the user requests and the Virtual Machines
They help in achieving higher level of fault tolerance.

Comparison of Resource Provisioning Techniques
V. Vinothina, R. Sridaran, and PadmavathiGanapathi. A survey on resource allocation strategies in cloud computing. International Journal of Advanced Computer Science and Applications, 3(6):97–104, 2012

http://www.dummies.com/how-to/content/types-of-workloads-in-a-hybrid-cloud-environment.html
http://www.dummies.com/how-to/content/types-of-workloads-in-a-hybrid-cloud-environment.html
http://www.dummies.com/how-to/content/types-of-workloads-in-a-hybrid-cloud-environment.html
Resource Allocation Strategies
Minimizing VM Instances
Virtual machines are desktop-based.
Lots of unwanted packages.
Unneeded services.

Are multi-application oriented, not service oriented.
Clouds are based on a Service Oriented Architecture.

Need a custom lightweight (maybe Linux) VM for service oriented science.

Need to keep VM image as small as possible to reduce network latency.
Two main functions to be performed, maintaining the SLA and balancing the load among the PMs.
The resource provisioning technique has been classified into two categories,

1. Offline Static Provisioning
2. Online Dynamic Provisioning
Started with Static and with advancement in infrastructure moved to Dynamic Provisioning

Types Resource Provisioning
Static Resource Proisioning
Initial Technique with low computation.
Resource allocation based on the request’s peak utilization
Initially this was carried out by the providers because of lack of better infrastructure
If the resource is reduced, that might lead to SLA violation.
Problem:
Resource are utilized much lesser than the peak.

Generic Architecture
Each of the Virtual Machine is associated with a Vid.
Load Balancer maintains the list of VMs
Requirement of the request matched with the resource of the Vid
The closest matched VM is allocated with request
This is done by allocating Vid to the request.

Generic Architecture
Analysis of Static Provisioning
This clearly shows the problem of Under Utilization of the resource that was Addressed earlier.

Disadvantages of Static Provisioning
The main problem with this is that, the resource of the PM is wasted which causes huge loss for the resource providers when considered in a large scale

The user has to pay for the whole resource even though the complete utilization of the resource rarely happens.
Dynamic Resource Provisioning
Infrastructure improved as the requirement increased

There was a need for efficiency increase

Provide the Application right amount of resource at right time

Helps in increased service and utilization

All these are performed with the process of Migration.
What is Migration and why is it done?
Migration is the process of moving the VMs from one host or storage location to another that is the Physical Machine.
This is basically performed to balance the load among the physical Machines when new requests are added for service.
There are different types of Migration taking place
Types of Migration
Cold Migration:

Moving a powered-off virtual machine to a new host.
Migrating a Suspended Virtual Machine:
Moving a suspended virtual machine to a new host.
Migration with Vmotion:
Moving a powered-on virtual machine to a new host but this takes place without interruption in the availability of the VM.
Migration with Vmotion storage:
Moving a powered-on virtual machine to a new host but cannot move from one data centre to other.
Advantages of Migration
When there is a suddern spike of requests, the VMs are migrated which helps in balancing the workloads
In case of Disaster in any of the servers and the application is still running in the VMs, they cannot be stopped and hence they are migrated to the other PMs.
Virtual Machine Migration can also migrate Virtual Machines in case of unscheduled server downtime (due to some fault in server), so that users experience high availability of applications at all times.
Generic Architecture
The dynamic allocation till date has been proposed with various approaches with each concentrating on different aspects to increase the efficiency such as
preemption of the tasks
in the virtual machines,
multiple criteria based analysis, priority based allocation
etc.
The architecture mentioned here is a general architecture that contains the essential tasks of a dynamic allocation which concentrates on
1. Balancing the Load whenever a new request comes in
2. Check the SLA regularly if it is satisfies the requirement for a particular service
Architecture Flow
Analysis of Dynamic Provisioning
This addresses the problem that existed in the Static
allocation and the problem of underutilization is stopped

D. Chess, A. Segal, I. Whalley, and S. White, “Unity: Experiences with a Prototype Autonomic Computing System,” in 2004. Proceedings. International Conference on Autonomic Computing, 2004, pp. 140–147.

R. Das, J. Kephart, I. Whalley, and P. Vytas, “Towards Commercialization of Utility-based Resource Allocation,” in ICAC ’06: IEEE International Conference on Autonomic Computing, 2006, pp. 287–290.

A. Kochut, “On Impact of Dynamic Virtual Machine Reallocation on Data Center Efficiency,” 2008, pp. 1 –8.

A. Kochut, “On Impact of Dynamic Virtual Machine Reallocation on Data Center Efficiency,” 2008, pp. 1 –8.

A. Kochut, “On Impact of Dynamic Virtual Machine Reallocation on Data Center Efficiency,” 2008, pp. 1 –8.

Y. O. Yazır, C. Matthews, R. Farahbod, A. Guitouni, S. Neville, S. Ganti, and Y. Coady, “Dynamic and Autonomous Resource Management in Computing Clouds through Distributed Multi Criteria Decision Making,”

Y. O. Yazır, C. Matthews, R. Farahbod, A. Guitouni, S. Neville, S. Ganti, and Y. Coady, “Dynamic and Autonomous Resource Management in Computing Clouds through Distributed Multi Criteria Decision Making,”
Full transcript