Research Article

Virtual Machine Consolidation with Minimization of Migration Thrashing for Cloud Data Centers

Algorithm 2

VM placement.
(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