package org.cloudbus.cloudsim.container.containerSelectionPolicies; import org.cloudbus.cloudsim.container.core.PowerContainerHost; import org.cloudbus.cloudsim.container.core.Container; import org.cloudbus.cloudsim.container.core.PowerContainer; import java.util.List; /** * Created by sareh on 4/08/15. */ public class PowerContainerSelectionPolicyMaximumUsage extends PowerContainerSelectionPolicy { /* * (non-Javadoc) * @see * PowerContainerSelectionPolicy#getContainerToMigrate */ @Override public Container getContainerToMigrate(PowerContainerHost host) { List<PowerContainer> migratableContainers = getMigratableContainers(host); if (migratableContainers.isEmpty()) { return null; } Container containerToMigrate = null; double maxMetric = Double.MIN_VALUE; for (Container container : migratableContainers) { if (container.isInMigration()) { continue; } double metric = container.getCurrentRequestedTotalMips(); if (maxMetric < metric) { maxMetric = metric; containerToMigrate = container; } } return containerToMigrate; } }