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 |
|