Commit 9006b427 authored by Anton Beloglazov's avatar Anton Beloglazov

Added power examples using the PlanetLab workload

parent 262b52ea
......@@ -10,7 +10,7 @@ public class Constants {
public final static boolean OUTPUT_CSV = false;
public final static double SCHEDULING_INTERVAL = 300;
public final static double SIMULATION_LIMIT = 24 * 60 * 10;
public final static double SIMULATION_LIMIT = 24 * 60;
public final static int CLOUDLET_LENGTH = 2500 * (int) SIMULATION_LIMIT;
public final static int CLOUDLET_PES = 1;
......
......@@ -2,22 +2,47 @@ package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
import org.cloudbus.cloudsim.examples.power.RunnerAbstract;
public class Dvfs extends RunnerAbstract {
/**
* A simulation of a heterogeneous power aware data center that only applied DVFS, but no dynamic
* optimization of the VM allocation. The adjustment of the hosts' power consumption according to
* their CPU utilization is happening in the PowerDatacenter class.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class Dvfs {
/**
* 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 {
boolean enableOutput = true;
String inputFolder = "workload/planetlab";
boolean outputToFile = false;
String inputFolder = Dvfs.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303";
String vmAllocationPolicy = "dvfs";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "dvfs"; // DVFS policy without VM migrations
String vmSelectionPolicy = "";
String parameter = "";
run(
new PlanetLabRunner(
enableOutput,
false,
outputToFile,
inputFolder,
outputFolder,
workload,
......
......@@ -2,20 +2,51 @@ package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
import org.cloudbus.cloudsim.examples.power.RunnerAbstract;
public class IqrMc extends RunnerAbstract {
/**
* A simulation of a heterogeneous power aware data center that applies the Inter Quartile Range
* (IQR) VM allocation policy and Maximum Correlation (MC) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class IqrMc {
/**
* 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 {
boolean enableOutput = true;
String inputFolder = "input";
boolean outputToFile = false;
String inputFolder = IqrMc.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303";
String vmAllocationPolicy = "iqr";
String vmSelectionPolicy = "mc";
String parameter = "1.0";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "iqr"; // Inter Quartile Range (IQR) VM allocation policy
String vmSelectionPolicy = "mc"; // Maximum Correlation (MC) VM selection policy
String parameter = "1.5"; // the safety parameter of the IQR policy
run(enableOutput, false, inputFolder, outputFolder, workload, vmAllocationPolicy, vmSelectionPolicy,
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
......
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Inter Quartile Range
* (IQR) VM allocation policy and Minimum Migration Time (MMT) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class IqrMmt {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = IqrMmt.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "iqr"; // Inter Quartile Range (IQR) VM allocation policy
String vmSelectionPolicy = "mmt"; // Minimum Migration Time (MMT) VM selection policy
String parameter = "1.5"; // the safety parameter of the IQR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Inter Quartile Range
* (IQR) VM allocation policy and Minimum Utilization (MU) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class IqrMu {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = IqrMu.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "iqr"; // Inter Quartile Range (IQR) VM allocation policy
String vmSelectionPolicy = "mu"; // Minimum Utilization (MU) VM selection policy
String parameter = "1.5"; // the safety parameter of the IQR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Inter Quartile Range
* (IQR) VM allocation policy and Random Selection (RS) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class IqrRs {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = IqrRs.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "iqr"; // Inter Quartile Range (IQR) VM allocation policy
String vmSelectionPolicy = "rs"; // Random Selection (RS) VM selection policy
String parameter = "1.5"; // the safety parameter of the IQR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression (LR) VM
* allocation policy and Maximum Correlation (MC) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrMc {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = LrMc.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lr"; // Local Regression (LR) VM allocation policy
String vmSelectionPolicy = "mc"; // Maximum Correlation (MC) VM selection policy
String parameter = "1.2"; // the safety parameter of the LR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression (LR) VM
* allocation policy and Minimum Migration Time (MMT) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrMmt {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = LrMmt.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lr"; // Local Regression (LR) VM allocation policy
String vmSelectionPolicy = "mmt"; // Minimum Migration Time (MMT) VM selection policy
String parameter = "1.2"; // the safety parameter of the LR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression (LR) VM
* allocation policy and Minimum Utilization (MU) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrMu {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = LrMu.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lr"; // Local Regression (LR) VM allocation policy
String vmSelectionPolicy = "mu"; // Minimum Utilization (MU) VM selection policy
String parameter = "1.2"; // the safety parameter of the LR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression (LR) VM
* allocation policy and Random Selection (RS) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrRs {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = LrRs.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lr"; // Local Regression (LR) VM allocation policy
String vmSelectionPolicy = "rs"; // Random Selection (RS) VM selection policy
String parameter = "1.2"; // the safety parameter of the LR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
......@@ -2,20 +2,51 @@ package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
import org.cloudbus.cloudsim.examples.power.RunnerAbstract;
public class LrrMc extends RunnerAbstract {
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression Robust
* (LRR) VM allocation policy and Maximum Correlation (MC) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrrMc {
/**
* 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 {
boolean enableOutput = true;
String inputFolder = "input";
boolean outputToFile = false;
String inputFolder = LrrMc.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303";
String vmAllocationPolicy = "lrr";
String vmSelectionPolicy = "mc";
String parameter = "1.5";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lrr"; // Local Regression Robust (LRR) VM allocation policy
String vmSelectionPolicy = "mc"; // Maximum Correlation (MC) VM selection policy
String parameter = "1.2"; // the safety parameter of the LRR policy
run(enableOutput, false, inputFolder, outputFolder, workload, vmAllocationPolicy, vmSelectionPolicy,
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
......
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression Robust
* (LRR) VM allocation policy and Minimum Migration Time (MMT) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrrMmt {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = LrrMmt.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lrr"; // Local Regression Robust (LRR) VM allocation policy
String vmSelectionPolicy = "mmt"; // Minimum Migration Time (MMT) VM selection policy
String parameter = "1.2"; // the safety parameter of the LRR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression Robust
* (LRR) VM allocation policy and Minimum Utilization (MU) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrrMu {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = LrrMu.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lrr"; // Local Regression Robust (LRR) VM allocation policy
String vmSelectionPolicy = "mu"; // Minimum Utilization (MU) VM selection policy
String parameter = "1.2"; // the safety parameter of the LRR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Local Regression Robust
* (LRR) VM allocation policy and Random Selection (RS) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class LrrRs {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = LrrRs.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "lrr"; // Local Regression Robust (LRR) VM allocation policy
String vmSelectionPolicy = "rs"; // Random Selection (RS) VM selection policy
String parameter = "1.2"; // the safety parameter of the LRR policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
import org.cloudbus.cloudsim.examples.power.RunnerAbstract;
public class Mad2Mc extends RunnerAbstract {
public static void main(String[] args) throws IOException {
boolean enableOutput = true;
String inputFolder = "input";
String outputFolder = "output";
String workload = "20110303";
String vmAllocationPolicy = "mad2";
String vmSelectionPolicy = "mc";
String parameter = "0.9";
run(enableOutput, false, inputFolder, outputFolder, workload, vmAllocationPolicy, vmSelectionPolicy,
parameter);
}
}
\ No newline at end of file
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Median Absolute
* Deviation (MAD) VM allocation policy and Maximum Correlation (MC) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class MadMc {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = MadMc.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "mad"; // Median Absolute Deviation (MAD) VM allocation policy
String vmSelectionPolicy = "mc"; // Maximum Correlation (MC) VM selection policy
String parameter = "2.5"; // the safety parameter of the MAD policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Median Absolute
* Deviation (MAD) VM allocation policy and Minimum Migration Time (MMT) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class MadMmt {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = MadMmt.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "mad"; // Median Absolute Deviation (MAD) VM allocation policy
String vmSelectionPolicy = "mmt"; // Minimum Migration Time (MMT) VM selection policy
String parameter = "2.5"; // the safety parameter of the MAD policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Median Absolute
* Deviation (MAD) VM allocation policy and Minimum Utilization (MU) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class MadMu {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = MadMu.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "mad"; // Median Absolute Deviation (MAD) VM allocation policy
String vmSelectionPolicy = "mu"; // Minimum Utilization (MU) VM selection policy
String parameter = "2.5"; // the safety parameter of the MAD policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Median Absolute
* Deviation (MAD) VM allocation policy and Random Selection (RS) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class MadRs {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = MadRs.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "mad"; // Median Absolute Deviation (MAD) VM allocation policy
String vmSelectionPolicy = "rs"; // Random Selection (RS) VM selection policy
String parameter = "2.5"; // the safety parameter of the MAD policy
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
......@@ -15,12 +15,38 @@ import org.cloudbus.cloudsim.power.PowerDatacenterNonPowerAware;
import org.cloudbus.cloudsim.power.PowerHost;
import org.cloudbus.cloudsim.power.PowerVmAllocationPolicySimple;
/**
* A simulation of a heterogeneous non-power aware data center: all hosts consume maximum power all
* the time.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class NonPowerAware {
/**
* 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 {
String experimentName = "npa";
String experimentName = "planetlab_npa";
String outputFolder = "output";
String inputFolder = "input";
String inputFolder = NonPowerAware.class.getClassLoader().getResource("workload/planetlab/20110303")
.getPath();
Log.setDisabled(!Constants.ENABLE_OUTPUT);
Log.printLine("Starting " + experimentName);
......@@ -33,7 +59,7 @@ public class NonPowerAware {
List<Cloudlet> cloudletList = PlanetLabHelper.createCloudletListPlanetLab(brokerId, inputFolder);
List<Vm> vmList = Helper.createVmList(brokerId, cloudletList.size());
List<PowerHost> hostList = Helper.createHostList(cloudletList.size() / 2);
List<PowerHost> hostList = Helper.createHostList(PlanetLabConstants.NUMBER_OF_HOSTS);
PowerDatacenterNonPowerAware datacenter = (PowerDatacenterNonPowerAware) Helper.createDatacenter(
"Datacenter",
......@@ -46,6 +72,7 @@ public class NonPowerAware {
broker.submitVmList(vmList);
broker.submitCloudletList(cloudletList);
CloudSim.terminateSimulation(Constants.SIMULATION_LIMIT);
double lastClock = CloudSim.startSimulation();
List<Cloudlet> newList = broker.getCloudletReceivedList();
......@@ -63,7 +90,8 @@ public class NonPowerAware {
} catch (Exception e) {
e.printStackTrace();
Log.printLine("Unwanted errors happen");
Log.printLine("The simulation has been terminated due to an unexpected error");
System.exit(0);
}
Log.printLine("Finished " + experimentName);
......
......@@ -74,6 +74,7 @@ public class PlanetLabRunner extends RunnerAbstract {
} catch (Exception e) {
e.printStackTrace();
Log.printLine("The simulation has been terminated due to an unexpected error");
System.exit(0);
}
}
......
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Static Threshold (THR)
* VM allocation policy and Maximum Correlation (MC) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class ThrMc {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = NonPowerAware.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "thr"; // Static Threshold (THR) VM allocation policy
String vmSelectionPolicy = "mc"; // Maximum Correlation (MC) VM selection policy
String parameter = "0.8"; // the static utilization threshold
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Static Threshold (THR)
* VM allocation policy and Minimum Migration Time (MMT) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class ThrMmt {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = NonPowerAware.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "thr"; // Static Threshold (THR) VM allocation policy
String vmSelectionPolicy = "mmt"; // Minimum Migration Time (MMT) VM selection policy
String parameter = "0.8"; // the static utilization threshold
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Static Threshold (THR)
* VM allocation policy and Minimum Utilization (MU) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class ThrMu {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = NonPowerAware.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "thr"; // Static Threshold (THR) VM allocation policy
String vmSelectionPolicy = "mu"; // Minimum Utilization (MU) VM selection policy
String parameter = "0.8"; // the static utilization threshold
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
package org.cloudbus.cloudsim.examples.power.planetlab;
import java.io.IOException;
/**
* A simulation of a heterogeneous power aware data center that applies the Static Threshold (THR)
* VM allocation policy and Random Selection (RS) VM selection policy.
*
* This example uses a real PlanetLab workload: 20110303.
*
* The remaining configuration parameters are in the Constants and PlanetLabConstants classes.
*
* 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, ISSN: 1532-0626, Wiley
* Press, New York, USA, 2011, DOI: 10.1002/cpe.1867
*
* @author Anton Beloglazov
* @since Jan 5, 2012
*/
public class ThrRs {
/**
* 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 {
boolean enableOutput = true;
boolean outputToFile = false;
String inputFolder = NonPowerAware.class.getClassLoader().getResource("workload/planetlab").getPath();
String outputFolder = "output";
String workload = "20110303"; // PlanetLab workload
String vmAllocationPolicy = "thr"; // Static Threshold (THR) VM allocation policy
String vmSelectionPolicy = "rs"; // Random Selection (RS) VM selection policy
String parameter = "0.8"; // the static utilization threshold
new PlanetLabRunner(
enableOutput,
outputToFile,
inputFolder,
outputFolder,
workload,
vmAllocationPolicy,
vmSelectionPolicy,
parameter);
}
}
......@@ -72,6 +72,7 @@ public class RandomRunner extends RunnerAbstract {
} catch (Exception e) {
e.printStackTrace();
Log.printLine("The simulation has been terminated due to an unexpected error");
System.exit(0);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment