From ce72cf9cdb1599a5eeb0a4534e9fe13e1ceecefb Mon Sep 17 00:00:00 2001 From: Mohammad Shojafar <mshojafar@users.noreply.github.com> Date: Tue, 9 Feb 2021 13:07:48 +0000 Subject: [PATCH] codes --- .../Five_function_definition.txt | 63 +++++++++++++++++++ Zhou2021AFED-EF_Sourcecode/KMIR.java | 34 ++++++++++ 2 files changed, 97 insertions(+) create mode 100644 Zhou2021AFED-EF_Sourcecode/Five_function_definition.txt create mode 100644 Zhou2021AFED-EF_Sourcecode/KMIR.java diff --git a/Zhou2021AFED-EF_Sourcecode/Five_function_definition.txt b/Zhou2021AFED-EF_Sourcecode/Five_function_definition.txt new file mode 100644 index 0000000..d4e3c50 --- /dev/null +++ b/Zhou2021AFED-EF_Sourcecode/Five_function_definition.txt @@ -0,0 +1,63 @@ +protected boolean isHostOverUtilized(PowerHost host) { + addHistoryEntry(host, getUtilizationThreshold()); + double totalRequestedMips = 0; + for (Vm vm : host.getVmList()) { + totalRequestedMips += vm.getCurrentRequestedTotalMips(); + } + double utilization = totalRequestedMips / host.getTotalMips(); + return utilization > getUtilizationThreshold(); + } + + //new adding + + + protected boolean isHostLowUtilized(PowerHost host) { + //addHistoryEntry(host, getUtilizationThreshold()); + double totalRequestedMips = 0; + for (Vm vm : host.getVmList()) { + totalRequestedMips += vm.getCurrentRequestedTotalMips(); + } + double utilization = totalRequestedMips / host.getTotalMips(); + return utilization < getLowUtilizationThreshold(); + } + + + + + protected boolean isHostLightUtilized(PowerHost host) { + //addHistoryEntry(host, getUtilizationThreshold()); + double totalRequestedMips = 0; + for (Vm vm : host.getVmList()) { + totalRequestedMips += vm.getCurrentRequestedTotalMips(); + } + double utilization = totalRequestedMips / host.getTotalMips(); + return ((utilization < getMiddleUtilizationThreshold()) && utilization < getLowUtilizationThreshold())); + } + //new adding + + + + protected boolean isHostMiddleUtilized(PowerHost host) { + //addHistoryEntry(host, getUtilizationThreshold()); + double totalRequestedMips = 0; + for (Vm vm : host.getVmList()) { + totalRequestedMips += vm.getCurrentRequestedTotalMips(); + } + double utilization = totalRequestedMips / host.getTotalMips(); + return utilization > getMiddleUtilizationThreshold(); + } + //new adding + + + protected boolean isHostMediumUtilized(PowerHost host) { + //addHistoryEntry(host, getUtilizationThreshold()); + double totalRequestedMips = 0; + for (Vm vm : host.getVmList()) { + totalRequestedMips += vm.getCurrentRequestedTotalMips(); + } + double utilization = totalRequestedMips / host.getTotalMips(); + return utilization > getMediumUtilizationThreshold(); + } + + //new adding + \ No newline at end of file diff --git a/Zhou2021AFED-EF_Sourcecode/KMIR.java b/Zhou2021AFED-EF_Sourcecode/KMIR.java new file mode 100644 index 0000000..96558cb --- /dev/null +++ b/Zhou2021AFED-EF_Sourcecode/KMIR.java @@ -0,0 +1,34 @@ +package org.cloudbus.cloudsim.examples.power.planetlab; + +import java.io.IOException; + + +public class KMIR { + + /** + * 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 = KMIR.class.getClassLoader().getResource("workload/planetlab").getPath(); + String outputFolder = "output"; + String workload = "20110303"; // PlanetLab workload//计算密集型任务 + String vmAllocationPolicy = "KMeansMadIQR"; + String vmSelectionPolicy = "mmt"; // Minimum Migration Time (MMT) VM selection policy + String parameter = "1.0"; // the safety parameter of the MAD policy + new PlanetLabRunner( + enableOutput, + outputToFile, + inputFolder, + outputFolder, + workload, + vmAllocationPolicy, + vmSelectionPolicy, + parameter); + } + +} \ No newline at end of file -- GitLab