From a735f1768677fc996da77b239819c55dcd623f5e Mon Sep 17 00:00:00 2001 From: Niels Thiele Date: Mon, 15 Sep 2025 15:34:38 +0200 Subject: Implements fixes to run m100 traces with GPUs (#362) * Updated output format to reduce size * using sum of gpu capacities instead of single max * passing provisioned GPU cores to host view * fix supply update trigger * fixing floating point error, leading to negative demand * fixing double mismatch, due to floating point in precision * adding additional check if demand can be satisfied in the simple way * adds workload invalidation if remaining duration for all resources is 0 * invalidating flow distributors after demand update * spotless apply * updating tests * exporting power consumption of compute resources directly from gpu instead of PSU * using big decimal to avoid floating point in-precision * rolls back to pass-through version of PSU, before GPU implementation * places flowdistributor between PSU and compute resources * adds check to avoid null exception if supply is pushed without demand * fixing task id type * Adds memorizing GPU scheduler * adds boundary for negative remaining work * implemented tests for GPU scheduler filter * Revert "Updated output format to reduce size" This reverts commit 7171de8e0512a863df4962f64560ac7bad1fb48d. * spotless aply --------- Co-authored-by: DanteNiewenhuis --- .../main/java/org/opendc/compute/simulator/service/ComputeService.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'opendc-compute/opendc-compute-simulator/src/main/java/org') diff --git a/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java index fde83ead..8feddf54 100644 --- a/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java +++ b/opendc-compute/opendc-compute-simulator/src/main/java/org/opendc/compute/simulator/service/ComputeService.java @@ -186,6 +186,7 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { hv.provisionedCpuCores -= flavor.getCpuCoreCount(); hv.instanceCount--; hv.availableMemory += flavor.getMemorySize(); + hv.provisionedGpuCores -= flavor.getGpuCoreCount(); } else { LOGGER.error("Unknown host {}", host); } @@ -580,6 +581,7 @@ public final class ComputeService implements AutoCloseable, CarbonReceiver { hv.instanceCount++; hv.provisionedCpuCores += flavor.getCpuCoreCount(); hv.availableMemory -= flavor.getMemorySize(); + hv.provisionedGpuCores += flavor.getGpuCoreCount(); activeTasks.put(task, host); } catch (Exception cause) { -- cgit v1.2.3