Research Article
Virtual Machine Consolidation with Minimization of Migration Thrashing for Cloud Data Centers
(1) | Input: serversList, vmsToMigrate Output: migrationMap, which is a type of Map<Server, Vm> | (2) | ascServers ← sortAsending(serverList) | (3) | descVms ← sortDecreasing(vmsToMigrate) | (4) | FOR vm IN descVms | (5) | allocatedServer ← NULL | (6) | FOR server IN ascServer | (7) | sUtil ← s.getUtil() | (8) | IF sUtil + vm.getUtil() < UpperThreshold | (9) | allocatedServer ← server | (10) | migrationMap.put(allocatedServer, vm) | (11) | descVms.remove(vm) | (12) | break | (13) | END | (14) | END | (15) | IF allocatedServer = = NULL | (16) | server ← create a new server for vm | (17) | allocatedServer ← server | (18) | migrationMap.put(allocatedServer, vm) | (19) | descVms.remove(vm) | (20) | newServerList ← ascServers | (21) | newServerList.add(server) | (22) | ascServers ← sortAsending(newServerList) | (23) | END | (24) | END | (25) | return migrationMap |
|