Developing resource consolidation frameworks for moldable virtual machines in clouds
description
Transcript of Developing resource consolidation frameworks for moldable virtual machines in clouds
Developing resource consolidation frameworks for moldable virtual
machines in clouds
Author: Liang He, Deqing Zou, Zhang Zhang, etc
Presenter: Weida Zhong
abstract
• Using Genetic Algorithm to consolidate moldable Virtual Machines
• Developing a reconfiguration algorithm to lower the transition overhead that transiting the Cloud to the optimized system state needs
contents
• System Hierarchy and workload models• Genetic Algorithm• Reconfiguring virtual clusters 1. Categorizing changes in system state 2. Transiting system states 3. Calculating transition time• Experimental studies
System Hierarchy and workload models
System Hierarchy and workload models
• The cloud system aims to maintain a steady level of Quality of Service (QoS) delivered by every VC.
• The desired QoS is expressed as that the total service rate of all VMs in a VC cannot be less than a certain figure
contents
• System Hierarchy and workload models• Genetic Algorithm• Reconfiguring virtual clusters 1. Categorizing changes in system state 2. Transiting system states 3. Calculating transition time• Experimental studies
Classical genetic algorithm procedure
initialization
Evaluation/ fitness
computing
reproduction
Next generation
Stop?
crossover
mutation
begin
endYes
No
Genetic Algorithm• Will be triggered if 1. there are spare resource capabilities in active nodes. 2. the spare resource capabilities in every node are less than the capacity requirements of the new VM in , denoted as 3. the total spare resource capabilities across all used physical nodes are greater than the capacities required by the new VM
Schematic diagram
new
Current active
Genetic Algorithm
• A system state is represented using a 3-D array, S.
• S[i, j, k] is the percentage of the total capacity of resource in node that is allocated to of
• For example, S[2, 3, 4] = 30%• S[*, j, *]: the resource capacity allocated to
Genetic Algorithm -- crossover
• Two parent solutions allocated to : [*, j, *], [*, j, *]
• Randomly select a VC index p from 1 to M• Both of the two parent solutions are
partitioned into two portions at the position p• Merge the head portion of parent solution 1
with the tail of 2
Genetic Algorithm -- crossover
• Validity check:
• For
Genetic Algorithm -- mutation
• 1. determining index i, j, k
The ratio of the probability of selecting the major resource type to other resource types is set to be R :1 (R is the number of resource types in the system)
Select VC
Select Node
Select Resource
Genetic Algorithm -- mutation
• 2. adjusting resource capacities S[i, j, k] is increased by a quantity randomly chosen from [0, min(maxS[i, j, k], )], where is the spare capacity of resource in node
Genetic Algorithm – fitness function
• Standard deviation of () can reflect the convergence level of spare capacity across N nodes
• Standard deviation of () can reflect to what extant there are balanced spare capacities across different types of resource in node
Genetic Algorithm – fitness function
• Standard deviation of () can reflect to what extant there are balanced spare capacities across different types of resource in node
= =
Genetic Algorithm – fitness function
• Fitness function
• = a weight function and used to calculated the weighted sum of the deviation of resource spare capacity in multiple nodes
contents
• System Hierarchy and workload models• Genetic Algorithm• Reconfiguring virtual clusters 1. Categorizing changes in system state 2. Transiting system states 3. Calculating transition time• Experimental studies
Reconfiguring virtual clusters
GAS 𝑺′
cost?
VM Creation
VM Deletion
VM Migration
Changing Capacity
Categorizing changes in system state
• Case 1: S[i, j, *] 0, 0, and S[i, j, *] (1.1) S[i, j, *] is greater; (1.2) is greater• Case 2: S[i, j, *] 0, 0 (2.1) deleting ; (2.2) Migrate to another node• Case 3: S[i, j, *] 0, 0 (3.1) creating ; (3.2) Accept migration of ’s VM from another node
Transiting system states---VM operations during the transition
• DL(), CR(), CH(), MG(, )• RR() =
number of request average
execution time of a request
duration that the current request has
been run
Transiting system states--- VM operations during the transition
• DL(), CH(), MG(, ), CR()
• When both categories of VM operations need to be performed, we have to consider the execution order of the VM operations
releasing allocating
Transiting system states---Performing VM operations without dependency
Performing VM operations without dependency We mark the equation as Eq.(8)• The time for reconfiguring : TR() = +min
Transiting system states---Performing VM operations without dependency
Algorithm 1. Reconfiguration_without_dependency(); for each in Case 1 do Adjust the resource capacity of ; for each in Case 2.1 do Delete ; for each in Case 2.2 do Find a mapping destination node, Call migration() ; return;
Transiting system states---Performing VM operations with dependency
If Eq. (8) does not hold, which means , there must be at least one VM which releases resources during the reconfiguration.• We should release resources first until the first
equation is satisfied
Transiting system states---Performing VM operations with dependency
Algorithm 2. Migration() //migration
If Eq.(8) does not hold for then for each in Case 1.1 do reduce resource allocation and update S[k,j,*] if Eq.(8) holds then migrate and update S[k,j,*], S[i,j,*] return; end for for each in Case 2.1 do delete and update S[k,j,*]
end for
Algorithm 2(cont.)
For each in Case 2.2 do Obtain a mapping node, Call migration() if Eq.(8) holds then Migrate and update S[k,j,*], S[i,j,*] return
else migrate and update S[k,j,*], S[i,j,*]
return
Algorithm 3. Reconfiguration()If Eq.(8) does not hold for then for each in Case 1.1 do reduce resource allocation and update S[i,j,*] if Eq.(8) holds then break end for for each in Case 2.1 do delete and update S[k,j,*] if Eq.(8) holds then break end for for each in Case 2.2 do Obtain the mapping node, Call migration() if Eq.(8) holds then break end forCall Reconfiguration_without_dependency()
Algorithm 4. Reconfiguring the cloud
Input: S[i, j, k] Ω = the set of all nodes in the cloud while(Ω ф) Obtain node (1) from Ω; Call Reconfiguration() ; Ω = Ω - ; end while for each do for each in Case 3 that has not been handled create ;
Calculating transition time• A Directed Acyclic Graph (DAG) can be
constructed based on the dependencies between the VM operations as well as between source nodes and mapping destination nodes.
Calculating transition time
• If the VM operations in all nodes form a single DAG, calculating the transition time of the reconfiguration plan for the cloud can be transformed to compute the critical path in the DAG.
• If there are several DAG graphs, the time of the longest critical path is the transition time of the reconfiguration plan
contents
• System Hierarchy and workload models• Genetic Algorithm• Reconfiguring virtual clusters 1. Categorizing changes in system state 2. Transiting system states 3. Calculating transition time• Experimental studies
Experimental studies
• The simulation experiments about the effectiveness of the GA algorithm
• The performance of the cloud reconfiguration method
Performance of GA--- impact of the number of physical nodes
Performance of GA--- impact of the number of physical nodes
Performance of GA--- impact of free capacity
Performance of GA--- impact of the number of VCs
Performance of the cloud reconfiguration
Performance of the cloud reconfiguration
Conclusion• Develop a resource consolidation framework
for moldable virtual machines in clouds
• A Genetic Algorithm is developed to compute the optimized system state
• A cloud reconfiguration algorithm is developed to transfer the cloud from the current state to the optimized one
Thank you