summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java4
-rw-r--r--opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt2
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt24
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt6
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt27
-rw-r--r--opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt8
-rw-r--r--opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt2
-rw-r--r--opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb123
-rw-r--r--opendc-experiments/opendc-experiments-greenifier/src/test/kotlin/org/opendc/experiments/greenifier/GreenifierIntegrationTest.kt2
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt2
-rw-r--r--opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt4
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java2
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java12
-rw-r--r--opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt2
-rw-r--r--opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt2
15 files changed, 139 insertions, 83 deletions
diff --git a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java b/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java
index c0928f1b..d9dba274 100644
--- a/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java
+++ b/opendc-compute/opendc-compute-service/src/main/java/org/opendc/compute/service/driver/telemetry/HostSystemStats.java
@@ -31,7 +31,7 @@ import java.time.Instant;
* @param uptime The cumulative uptime of the host since last boot (in ms).
* @param downtime The cumulative downtime of the host since last boot (in ms).
* @param bootTime The time at which the server started.
- * @param powerUsage Instantaneous power usage of the system (in W).
+ * @param powerDraw Instantaneous power draw of the system (in W).
* @param energyUsage The cumulative energy usage of the system (in J).
* @param guestsTerminated The number of guests that are in a terminated state.
* @param guestsRunning The number of guests that are in a running state.
@@ -42,7 +42,7 @@ public record HostSystemStats(
Duration uptime,
Duration downtime,
Instant bootTime,
- double powerUsage,
+ double powerDraw,
double energyUsage,
int guestsTerminated,
int guestsRunning,
diff --git a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
index ec71f095..461a33f0 100644
--- a/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
+++ b/opendc-compute/opendc-compute-simulator/src/main/kotlin/org/opendc/compute/simulator/SimHost.kt
@@ -229,7 +229,7 @@ public class SimHost(
Duration.ofMillis(_uptime),
Duration.ofMillis(_downtime),
_bootTime,
- machine.psu.powerUsage,
+ machine.psu.powerDraw,
machine.psu.energyUsage,
terminated,
running,
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt
index 3a1fed1f..db875449 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/ComputeMetricReader.kt
@@ -227,8 +227,8 @@ public class ComputeMetricReader(
_cpuIdleTime = table.cpuIdleTime
_cpuStealTime = table.cpuStealTime
_cpuLostTime = table.cpuLostTime
- _powerUsage = table.powerUsage
- _powerTotal = table.powerTotal
+ _powerDraw = table.powerDraw
+ _energyUsage = table.energyUsage
_uptime = table.uptime
_downtime = table.downtime
_bootTime = table.bootTime
@@ -294,13 +294,13 @@ public class ComputeMetricReader(
private var _cpuLostTime = 0L
private var previousCpuLostTime = 0L
- override val powerUsage: Double
- get() = _powerUsage
- private var _powerUsage = 0.0
+ override val powerDraw: Double
+ get() = _powerDraw
+ private var _powerDraw = 0.0
- override val powerTotal: Double
- get() = _powerTotal - previousPowerTotal
- private var _powerTotal = 0.0
+ override val energyUsage: Double
+ get() = _energyUsage - previousPowerTotal
+ private var _energyUsage = 0.0
private var previousPowerTotal = 0.0
override val uptime: Long
@@ -337,8 +337,8 @@ public class ComputeMetricReader(
_cpuIdleTime = hostCpuStats.idleTime
_cpuStealTime = hostCpuStats.stealTime
_cpuLostTime = hostCpuStats.lostTime
- _powerUsage = hostSysStats.powerUsage
- _powerTotal = hostSysStats.energyUsage
+ _powerDraw = hostSysStats.powerDraw
+ _energyUsage = hostSysStats.energyUsage
_uptime = hostSysStats.uptime.toMillis()
_downtime = hostSysStats.downtime.toMillis()
_bootTime = hostSysStats.bootTime
@@ -353,7 +353,7 @@ public class ComputeMetricReader(
previousCpuIdleTime = _cpuIdleTime
previousCpuStealTime = _cpuStealTime
previousCpuLostTime = _cpuLostTime
- previousPowerTotal = _powerTotal
+ previousPowerTotal = _energyUsage
previousUptime = _uptime
previousDowntime = _downtime
@@ -367,7 +367,7 @@ public class ComputeMetricReader(
_cpuDemand = 0.0
_cpuUtilization = 0.0
- _powerUsage = 0.0
+ _powerDraw = 0.0
}
}
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt
index 2a4f27d4..f60fbe6d 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetComputeMonitor.kt
@@ -33,17 +33,17 @@ import java.io.File
*/
public class ParquetComputeMonitor(base: File, partition: String, bufferSize: Int) : ComputeMonitor, AutoCloseable {
private val serverWriter = ParquetServerDataWriter(
- File(base, "server/$partition/data.parquet").also { it.parentFile.mkdirs() },
+ File(base, "$partition/server.parquet").also { it.parentFile.mkdirs() },
bufferSize
)
private val hostWriter = ParquetHostDataWriter(
- File(base, "host/$partition/data.parquet").also { it.parentFile.mkdirs() },
+ File(base, "$partition/host.parquet").also { it.parentFile.mkdirs() },
bufferSize
)
private val serviceWriter = ParquetServiceDataWriter(
- File(base, "service/$partition/data.parquet").also { it.parentFile.mkdirs() },
+ File(base, "$partition/service.parquet").also { it.parentFile.mkdirs() },
bufferSize
)
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt
index 4cf9c6f1..8871570d 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/export/parquet/ParquetHostDataWriter.kt
@@ -134,23 +134,27 @@ public class ParquetHostDataWriter(path: File, bufferSize: Int) :
consumer.addLong(data.cpuLostTime)
consumer.endField("cpu_time_lost", 15)
- consumer.startField("power_total", 16)
- consumer.addDouble(data.powerTotal)
- consumer.endField("power_total", 16)
+ consumer.startField("power_draw", 16)
+ consumer.addDouble(data.powerDraw)
+ consumer.endField("power_draw", 16)
- consumer.startField("uptime", 17)
+ consumer.startField("energy_usage", 17)
+ consumer.addDouble(data.energyUsage)
+ consumer.endField("energy_usage", 17)
+
+ consumer.startField("uptime", 18)
consumer.addLong(data.uptime)
- consumer.endField("uptime", 17)
+ consumer.endField("uptime", 18)
- consumer.startField("downtime", 18)
+ consumer.startField("downtime", 19)
consumer.addLong(data.downtime)
- consumer.endField("downtime", 18)
+ consumer.endField("downtime", 19)
val bootTime = data.bootTime
if (bootTime != null) {
- consumer.startField("boot_time", 19)
+ consumer.startField("boot_time", 20)
consumer.addLong(bootTime.toEpochMilli())
- consumer.endField("boot_time", 19)
+ consumer.endField("boot_time", 20)
}
consumer.endMessage()
@@ -216,7 +220,10 @@ public class ParquetHostDataWriter(path: File, bufferSize: Int) :
.named("cpu_time_lost"),
Types
.required(PrimitiveType.PrimitiveTypeName.DOUBLE)
- .named("power_total"),
+ .named("power_draw"),
+ Types
+ .required(PrimitiveType.PrimitiveTypeName.DOUBLE)
+ .named("energy_usage"),
Types
.required(PrimitiveType.PrimitiveTypeName.INT64)
.named("uptime"),
diff --git a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt
index 3761b4b3..63ddcfe1 100644
--- a/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt
+++ b/opendc-compute/opendc-compute-telemetry/src/main/kotlin/org/opendc/compute/telemetry/table/HostTableReader.kt
@@ -104,14 +104,14 @@ public interface HostTableReader {
public val cpuLostTime: Long
/**
- * The current power usage of the host in W.
+ * The current power draw of the host in W.
*/
- public val powerUsage: Double
+ public val powerDraw: Double
/**
- * The total power consumption of the host since last time in J.
+ * The total energy consumption of the host since last time in J.
*/
- public val powerTotal: Double
+ public val energyUsage: Double
/**
* The uptime of the host since last time in ms.
diff --git a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
index 238242c7..a0c7f07a 100644
--- a/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
+++ b/opendc-experiments/opendc-experiments-capelin/src/test/kotlin/org/opendc/experiments/capelin/CapelinIntegrationTest.kt
@@ -280,7 +280,7 @@ class CapelinIntegrationTest {
activeTime += reader.cpuActiveTime
stealTime += reader.cpuStealTime
lostTime += reader.cpuLostTime
- energyUsage += reader.powerTotal
+ energyUsage += reader.energyUsage
uptime += reader.uptime
}
}
diff --git a/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb b/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb
index 61ae6322..ecef829e 100644
--- a/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb
+++ b/opendc-experiments/opendc-experiments-greenifier/src/main/Python_scripts/OpenDCdemo.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 3,
"id": "18170001",
"metadata": {},
"outputs": [],
@@ -13,7 +13,7 @@
"\n",
"from IPython.display import display, HTML\n",
"\n",
- "base_folder = \"../../../../..\""
+ "base_folder = \"../\""
]
},
{
@@ -26,7 +26,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 4,
"id": "a2d05361",
"metadata": {},
"outputs": [
@@ -165,7 +165,7 @@
},
{
"cell_type": "code",
- "execution_count": 140,
+ "execution_count": 5,
"id": "fd17d88a",
"metadata": {},
"outputs": [
@@ -251,7 +251,7 @@
"4 1019 2013-08-12 14:15:46+00:00 900000 1 0.000000"
]
},
- "execution_count": 140,
+ "execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
@@ -263,7 +263,7 @@
},
{
"cell_type": "code",
- "execution_count": 141,
+ "execution_count": 6,
"id": "346f097f",
"metadata": {
"scrolled": true
@@ -364,7 +364,7 @@
"4 2599.999649 179306 "
]
},
- "execution_count": 141,
+ "execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
@@ -392,7 +392,7 @@
},
{
"cell_type": "code",
- "execution_count": 144,
+ "execution_count": 10,
"id": "0d400ffd",
"metadata": {},
"outputs": [],
@@ -401,14 +401,14 @@
"workload = \"workload=bitbrains-small\"\n",
"seed = \"seed=0\"\n",
"\n",
- "df_host_single = pd.read_parquet(f\"{output_folder}/host/topology=single/{workload}/{seed}/data.parquet\")\n",
- "df_host_multi = pd.read_parquet(f\"{output_folder}/host/topology=multi/{workload}/{seed}/data.parquet\")\n",
+ "df_host_single = pd.read_parquet(f\"{output_folder}/topology=single/{workload}/{seed}/host.parquet\")\n",
+ "df_host_multi = pd.read_parquet(f\"{output_folder}/topology=multi/{workload}/{seed}/host.parquet\")\n",
"\n",
- "df_server_single = pd.read_parquet(f\"{output_folder}/server/topology=single/{workload}/{seed}/data.parquet\")\n",
- "df_server_multi = pd.read_parquet(f\"{output_folder}/server/topology=multi/{workload}/{seed}/data.parquet\")\n",
+ "df_server_single = pd.read_parquet(f\"{output_folder}/topology=single/{workload}/{seed}/server.parquet\")\n",
+ "df_server_multi = pd.read_parquet(f\"{output_folder}/topology=multi/{workload}/{seed}/server.parquet\")\n",
"\n",
- "df_service_single = pd.read_parquet(f\"{output_folder}/service/topology=single/{workload}/{seed}/data.parquet\")\n",
- "df_service_multi = pd.read_parquet(f\"{output_folder}/service/topology=multi/{workload}/{seed}/data.parquet\")\n",
+ "df_service_single = pd.read_parquet(f\"{output_folder}/topology=single/{workload}/{seed}/service.parquet\")\n",
+ "df_service_multi = pd.read_parquet(f\"{output_folder}/topology=multi/{workload}/{seed}/service.parquet\")\n",
"\n",
"def add_absolute_timestamp(df, start_dt):\n",
" df[\"absolute_timestamp\"] = start_dt + (df[\"timestamp\"] - df[\"timestamp\"].min())\n",
@@ -425,76 +425,125 @@
},
{
"cell_type": "code",
- "execution_count": 145,
+ "execution_count": 11,
"id": "a9a61332",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "25922"
+ "Index(['timestamp', 'host_id', 'cpu_count', 'mem_capacity',\n",
+ " 'guests_terminated', 'guests_running', 'guests_error', 'guests_invalid',\n",
+ " 'cpu_limit', 'cpu_usage', 'cpu_demand', 'cpu_utilization',\n",
+ " 'cpu_time_active', 'cpu_time_idle', 'cpu_time_steal', 'cpu_time_lost',\n",
+ " 'power_draw', 'energy_usage', 'uptime', 'downtime', 'boot_time',\n",
+ " 'absolute_timestamp'],\n",
+ " dtype='object')"
]
},
- "execution_count": 145,
+ "execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "len(df_service_single)"
+ "df_host_single.columns"
]
},
{
"cell_type": "code",
- "execution_count": 146,
+ "execution_count": 12,
"id": "d6fb41d9",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "1970-01-01 00:05:00+00:00 1\n",
- "1970-03-01 23:55:00+00:00 1\n",
- "1970-03-02 00:45:00+00:00 1\n",
- "1970-03-02 00:40:00+00:00 1\n",
- "1970-03-02 00:35:00+00:00 1\n",
- " ..\n",
- "1970-01-30 23:50:00+00:00 1\n",
- "1970-01-30 23:45:00+00:00 1\n",
- "1970-01-30 23:40:00+00:00 1\n",
- "1970-01-30 23:35:00+00:00 1\n",
- "1970-04-01 00:10:00+00:00 1\n",
- "Name: timestamp, Length: 25922, dtype: int64"
+ "0 350.000000\n",
+ "1 350.000000\n",
+ "2 350.000000\n",
+ "3 291.779985\n",
+ "4 297.482719\n",
+ " ... \n",
+ "25918 267.445769\n",
+ "25919 276.532201\n",
+ "25920 263.564494\n",
+ "25921 273.482545\n",
+ "25922 200.000186\n",
+ "Name: power_draw, Length: 25923, dtype: float64"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_host_single.power_draw"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "3c271734",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 105000.000000\n",
+ "1 105000.000000\n",
+ "2 105000.000000\n",
+ "3 87533.995628\n",
+ "4 89244.815826\n",
+ " ... \n",
+ "25918 79980.733894\n",
+ "25919 80669.879478\n",
+ "25920 82337.210297\n",
+ "25921 79545.414650\n",
+ "25922 68917.601292\n",
+ "Name: energy_usage, Length: 25923, dtype: float64"
]
},
- "execution_count": 146,
+ "execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "df_host_single.timestamp.value_counts()"
+ "df_host_single.energy_usage"
]
},
{
"cell_type": "code",
- "execution_count": 149,
+ "execution_count": 14,
"id": "89977c44",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "array([50, 49, 48, 47, 46, 45, 44, 35, 34, 16, 15, 14, 13, 12, 11, 10])"
+ "0 1970-01-01 00:05:00+00:00\n",
+ "1 1970-01-01 00:10:00+00:00\n",
+ "2 1970-01-01 00:15:00+00:00\n",
+ "3 1970-01-01 00:20:00+00:00\n",
+ "4 1970-01-01 00:25:00+00:00\n",
+ " ... \n",
+ "25918 1970-03-31 23:55:00+00:00\n",
+ "25919 1970-04-01 00:00:00+00:00\n",
+ "25920 1970-04-01 00:05:00+00:00\n",
+ "25921 1970-04-01 00:10:00+00:00\n",
+ "25922 1970-04-01 00:14:12+00:00\n",
+ "Name: timestamp, Length: 25923, dtype: datetime64[ns, UTC]"
]
},
- "execution_count": 149,
+ "execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
- "df_server_single.timestamp.value_counts().unique()"
+ "df_host_single.timestamp"
]
},
{
diff --git a/opendc-experiments/opendc-experiments-greenifier/src/test/kotlin/org/opendc/experiments/greenifier/GreenifierIntegrationTest.kt b/opendc-experiments/opendc-experiments-greenifier/src/test/kotlin/org/opendc/experiments/greenifier/GreenifierIntegrationTest.kt
index 49a28005..54b35b23 100644
--- a/opendc-experiments/opendc-experiments-greenifier/src/test/kotlin/org/opendc/experiments/greenifier/GreenifierIntegrationTest.kt
+++ b/opendc-experiments/opendc-experiments-greenifier/src/test/kotlin/org/opendc/experiments/greenifier/GreenifierIntegrationTest.kt
@@ -280,7 +280,7 @@ class GreenifierIntegrationTest {
activeTime += reader.cpuActiveTime
stealTime += reader.cpuStealTime
lostTime += reader.cpuLostTime
- energyUsage += reader.powerTotal
+ energyUsage += reader.energyUsage
uptime += reader.uptime
}
}
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt
index 23d5001b..a1fc3fba 100644
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt
+++ b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/SimTFDevice.kt
@@ -168,7 +168,7 @@ public class SimTFDevice(
}
override fun getDeviceStats(): TFDeviceStats {
- return TFDeviceStats(machine.cpuUsage, machine.psu.powerUsage, machine.psu.energyUsage)
+ return TFDeviceStats(machine.cpuUsage, machine.psu.powerDraw, machine.psu.energyUsage)
}
override fun close() {
diff --git a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt
index 016d2a8b..3fea44da 100644
--- a/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt
+++ b/opendc-experiments/opendc-experiments-tf20/src/main/kotlin/org/opendc/experiments/tf20/core/TFDeviceStats.kt
@@ -26,11 +26,11 @@ package org.opendc.experiments.tf20.core
* Statistics about a TensorFlow [TFDevice].
*
* @property resourceUsage The resource usage of the device (in MHz).
- * @property powerUsage The instantaneous power draw of the device (in W).
+ * @property powerDraw The instantaneous power draw of the device (in W).
* @property energyUsage Cumulative energy usage of the device since boot (in J).
*/
data class TFDeviceStats(
val resourceUsage: Double,
- val powerUsage: Double,
+ val powerDraw: Double,
val energyUsage: Double
)
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java
index 7f1f97a0..68dae4bf 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsu.java
@@ -43,7 +43,7 @@ public abstract class SimPsu extends SimPowerInlet {
/**
* Return the instantaneous power usage of the machine (in W) measured at the inlet of the power supply.
*/
- public abstract double getPowerUsage();
+ public abstract double getPowerDraw();
/**
* Return the cumulated energy usage of the machine (in J) measured at the inlet of the powers supply.
diff --git a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java
index 05b40cf8..5b118429 100644
--- a/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java
+++ b/opendc-simulator/opendc-simulator-compute/src/main/java/org/opendc/simulator/compute/SimPsuFactories.java
@@ -82,7 +82,7 @@ public class SimPsuFactories {
}
@Override
- public double getPowerUsage() {
+ public double getPowerDraw() {
return 0;
}
@@ -123,7 +123,7 @@ public class SimPsuFactories {
private double totalUsage;
private long lastUpdate;
- private double powerUsage;
+ private double powerDraw;
private double energyUsage;
private final InHandler handler = new InHandler() {
@@ -154,8 +154,8 @@ public class SimPsuFactories {
}
@Override
- public double getPowerUsage() {
- return powerUsage;
+ public double getPowerDraw() {
+ return powerDraw;
}
@Override
@@ -186,7 +186,7 @@ public class SimPsuFactories {
double usage = model.computePower(totalUsage / targetFreq);
out.push((float) usage);
- powerUsage = usage;
+ powerDraw = usage;
return Long.MAX_VALUE;
}
@@ -207,7 +207,7 @@ public class SimPsuFactories {
long duration = now - lastUpdate;
if (duration > 0) {
// Compute the energy usage of the machine
- energyUsage += powerUsage * duration * 0.001;
+ energyUsage += powerDraw * duration * 0.001;
}
}
}
diff --git a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
index 8c4e01a9..28acaef4 100644
--- a/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
+++ b/opendc-simulator/opendc-simulator-compute/src/test/kotlin/org/opendc/simulator/compute/SimMachineTest.kt
@@ -148,7 +148,7 @@ class SimMachineTest {
yield()
assertAll(
- { assertEquals(100.0, machine.psu.powerUsage) },
+ { assertEquals(100.0, machine.psu.powerDraw) },
{ assertEquals(100.0f, source.powerDraw) }
)
}
diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
index 6801c6e2..774689c9 100644
--- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
+++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/internal/WebComputeMonitor.kt
@@ -41,7 +41,7 @@ internal class WebComputeMonitor : ComputeMonitor {
hostAggregateMetrics.totalIdleTime + reader.cpuIdleTime,
hostAggregateMetrics.totalStealTime + reader.cpuStealTime,
hostAggregateMetrics.totalLostTime + reader.cpuLostTime,
- hostAggregateMetrics.totalPowerDraw + reader.powerTotal,
+ hostAggregateMetrics.totalPowerDraw + reader.energyUsage,
hostAggregateMetrics.totalFailureSlices + slices,
hostAggregateMetrics.totalFailureVmSlices + reader.guestsRunning * slices
)