420 likes | 560 Views
Developing resource consolidation frameworks for moldable virtual machines in clouds. Author: Liang He, Deqing Zou , Zhang Z hang , etc Presenter: Weida Z hong. abstract. Using Genetic Algorithm to consolidate moldable Virtual Machines
E N D
Developing resource consolidation frameworks for moldable virtual machines in clouds Author: Liang He, DeqingZou, Zhang Zhang, etc Presenter: WeidaZhong
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 • 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 begin initialization Next generation Evaluation/ fitness computing mutation crossover reproduction No Stop? Yes end
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 Current active new
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 Resource Select Node
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 GA S cost? Changing Capacity VM Creation VM Migration VM Deletion
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 duration that the current request has been run average execution time of a request
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() IfEq.(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 for Call 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
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