package org.cloudbus.cloudsim.examples.container; import java.io.IOException; /** * This Example is following the format for {@link org.cloudbus.cloudsim.examples.power.planetlab.Dvfs} * It specifically studies the placement of containers. * * @author Sareh Fotuhi Piraghaj */ public class ContainerSelectionTest { /** * The main method. * * @param args the arguments * @throws IOException Signals that an I/O exception has occurred. */ public static void main(String[] args) throws IOException { /** * The experiments can be repeated for (repeat - runtime +1) times. * Please set these values as the arguments of the main function or set them bellow: */ int runTime = Integer.parseInt(args[0]); int repeat = Integer.parseInt(args[1]); for (int i = runTime ; i < repeat; ++i) { boolean enableOutput = true; boolean outputToFile = true; /** * Getting the path of the planet lab workload that is included in the cloudSim Package */ String inputFolder = ContainerOverbooking.class.getClassLoader().getResource("workload/planetlab").getPath(); /** * The output folder for the logs. The log files would be located in this folder. */ String outputFolder = "~/Results"; /** * The allocation policy for VMs. */ String vmAllocationPolicy = "MSThreshold-Under_0.80_0.70"; // DVFS policy without VM migrations /** * The selection policy for containers where a container migration is triggered. */ // String containerSelectionPolicy = "MaxUsage"; String containerSelectionPolicy = "Cor"; /** * The allocation policy used for allocating containers to VMs. */ // String containerAllocationPolicy= "MostFull"; String containerAllocationPolicy= "FirstFit"; /** * The host selection policy determines which hosts should be selected as the migration destination. */ String hostSelectionPolicy = "FirstFit"; /** * The VM Selection Policy is used for selecting VMs to migrate when a host status is determined as * "Overloaded" */ String vmSelectionPolicy = "VmMaxC"; /** * The container overbooking factor is used for overbooking resources of the VM. In this specific case * the overbooking is performed on CPU only. */ int OverBookingFactor = 80; new RunnerInitiator( enableOutput, outputToFile, inputFolder, outputFolder, vmAllocationPolicy, containerAllocationPolicy, vmSelectionPolicy, containerSelectionPolicy, hostSelectionPolicy, OverBookingFactor, Integer.toString(i), outputFolder); } } }