Cloudsim 中虚拟机的功耗
Power consumption of virtual machines in Cloudsim
我们是否可以像在 Cloudsim(模拟工具)中为主机添加 powerModel 一样为虚拟机添加 powerModel?以便我们可以跟踪每个虚拟机的功耗。
使用 CloudSim Plus 您可以在您的示例中使用以下代码计算 CPU 虚拟机的使用情况和功耗:
private void printVmsCpuUtilizationAndPowerConsumption() {
for (Vm vm : vmList) {
System.out.println("Vm " + vm.getId() + " at Host " + vm.getHost().getId() + " CPU Usage and Power Consumption");
double vmPower; //watt-sec
double utilizationHistoryTimeInterval, prevTime = 0;
final UtilizationHistory history = vm.getUtilizationHistory();
for (final double time : history.getHistory().keySet()) {
utilizationHistoryTimeInterval = time - prevTime;
vmPower = history.powerConsumption(time);
final double wattsPerInterval = vmPower*utilizationHistoryTimeInterval;
System.out.printf(
"\tTime %8.1f | Host CPU Usage: %6.1f%% | Power Consumption: %8.0f Watt-Sec * %6.0f Secs = %10.2f Watt-Sec\n",
time, history.vmCpuUsageFromHostCapacity(time) *100, vmPower, utilizationHistoryTimeInterval, wattsPerInterval);
prevTime = time;
}
System.out.println();
}
}
您没有为 VM 实施特定的 PowerModel。 VM 功耗由其 CPU 利用率和主机的 PowerModel 决定。
您可以获得完整的示例here。
我们是否可以像在 Cloudsim(模拟工具)中为主机添加 powerModel 一样为虚拟机添加 powerModel?以便我们可以跟踪每个虚拟机的功耗。
使用 CloudSim Plus 您可以在您的示例中使用以下代码计算 CPU 虚拟机的使用情况和功耗:
private void printVmsCpuUtilizationAndPowerConsumption() {
for (Vm vm : vmList) {
System.out.println("Vm " + vm.getId() + " at Host " + vm.getHost().getId() + " CPU Usage and Power Consumption");
double vmPower; //watt-sec
double utilizationHistoryTimeInterval, prevTime = 0;
final UtilizationHistory history = vm.getUtilizationHistory();
for (final double time : history.getHistory().keySet()) {
utilizationHistoryTimeInterval = time - prevTime;
vmPower = history.powerConsumption(time);
final double wattsPerInterval = vmPower*utilizationHistoryTimeInterval;
System.out.printf(
"\tTime %8.1f | Host CPU Usage: %6.1f%% | Power Consumption: %8.0f Watt-Sec * %6.0f Secs = %10.2f Watt-Sec\n",
time, history.vmCpuUsageFromHostCapacity(time) *100, vmPower, utilizationHistoryTimeInterval, wattsPerInterval);
prevTime = time;
}
System.out.println();
}
}
您没有为 VM 实施特定的 PowerModel。 VM 功耗由其 CPU 利用率和主机的 PowerModel 决定。
您可以获得完整的示例here。