Research Article

Virtual Machine Placement Algorithm for Both Energy-Awareness and SLA Violation Reduction in Cloud Data Centers

Algorithm 1

Optimized allocation of VMs.
Require: hostlist    // hostlist is the set of all hosts
Ensure: migrationMap
(1)for each host in hostlist do
(2)if isHostHeavilyLoaded(host) then
(3)  HeavilyLoadedHosts.add(host); // host is heavily-loaded
(4)end if
(5)end for
(6)vmsToMigrate = getVmsFromHeavilyLoadedHosts(HeavilyLoadedHosts);
(7)migrationMap.addAll(getNewVmPlacement(vmsToMigrate));
(8)HeavilyLoadedHosts.clear( );
(9)vmsToMigrate.clear( );
(10) for each host in hostlist do
(11)  if isHostLittleLoaded(host) then
(12)   LittleLoadedHosts.add(host); // host is little-loaded
(13)  end if
(14) end for
(15) vmsToMigrate = getVmsToMigrateFromHosts(LittleLoadedHosts);
(16) migrationMap.addAll(getNewVmPlacement(vmsToMigrate));
(17) return migrationMap