Research Article
A Decentralized Virtual Machine Migration Approach of Data Centers for Cloud Computing
Algorithm 1
Selecting a VM to migrate on PN
which is overloaded.
(1) double util=this.utilization; //get the current utilization of PN | (2) VirtualMachine vmToMig=null; | (3) while (util > UT) | (4) { | (5) vmToMig=null; | (6) for each (vm in this.VMlist) | (7) { | (8) if (vm.toBeMigrated) continue; //skip the VMs that have been marked | (9) double vmutil=calcutilz(vm); //get the CPU utilization of vm | (10) if (vmutil > util-UT && vmutil <util-LT) | (11) { //case (a) | (12) util = util – vmutil; | (13) vmToMig=vm; | (14) break; //find a VM to migrate | (15) } | (16) } | (17) if (vmToMig==null) | (18) { | (19) for each(vm in this.VMlist) | (20) { | (21) if (vm.toBeMigrated) continue; | (22) double vmutil=calcutilz(vm); | (23) if (vmutil <util-LT) | (24) { //case (b) | (25) util = util – vmutil; | (26) vmToMig=vm; | (27) break; //find a VM to migrate | (28) } | (29) } | (30) if (vmToMig==null) break; //case (c) | (31) findDest(vmToMig); //find a destination for the current VM to migrate to | (32) } |
|