package org.cloudbus.cloudsim.examples.power.random; import java.util.Calendar; import org.cloudbus.cloudsim.Log; import org.cloudbus.cloudsim.core.CloudSim; import org.cloudbus.cloudsim.examples.power.Helper; import org.cloudbus.cloudsim.examples.power.RunnerAbstract; /** * The example runner for the random workload. * * If you are using any algorithms, policies or workload included in the power package please cite * the following paper: * * Anton Beloglazov, and Rajkumar Buyya, "Optimal Online Deterministic Algorithms and Adaptive * Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in * Cloud Data Centers", Concurrency and Computation: Practice and Experience (CCPE), Volume 24, * Issue 13, Pages: 1397-1420, John Wiley & Sons, Ltd, New York, USA, 2012 * * @author Anton Beloglazov * @since Jan 5, 2012 */ public class RandomRunner extends RunnerAbstract { /** * @param enableOutput * @param outputToFile * @param inputFolder * @param outputFolder * @param workload * @param vmAllocationPolicy * @param vmSelectionPolicy * @param parameter */ public RandomRunner( boolean enableOutput, boolean outputToFile, String inputFolder, String outputFolder, String workload, String vmAllocationPolicy, String vmSelectionPolicy, String parameter) { super( enableOutput, outputToFile, inputFolder, outputFolder, workload, vmAllocationPolicy, vmSelectionPolicy, parameter); } /* * (non-Javadoc) * * @see org.cloudbus.cloudsim.examples.power.RunnerAbstract#init(java.lang.String) */ @Override protected void init(String inputFolder) { try { CloudSim.init(1, Calendar.getInstance(), false); broker = Helper.createBroker(); int brokerId = broker.getId(); cloudletList = RandomHelper.createCloudletList(brokerId, RandomConstants.NUMBER_OF_VMS); vmList = Helper.createVmList(brokerId, cloudletList.size()); hostList = Helper.createHostList(RandomConstants.NUMBER_OF_HOSTS); } catch (Exception e) { e.printStackTrace(); Log.printLine("The simulation has been terminated due to an unexpected error"); System.exit(0); } } }