From cc5c5a7eac0ebcf97c283e1e0dd1674c855a261a Mon Sep 17 00:00:00 2001 From: Matthijs Bijman Date: Mon, 27 Feb 2017 13:55:50 +0100 Subject: Implement logging of cores_used in task_states --- Simulator/src/database/Database.cpp | 3 ++- Simulator/src/modeling/machine/CPU.cpp | 8 ++++---- Simulator/src/modeling/machine/Machine.cpp | 9 +++++++++ Simulator/src/simulation/workloads/Workload.cpp | 12 ++++++++++-- Simulator/src/simulation/workloads/WorkloadPool.cpp | 1 + 5 files changed, 26 insertions(+), 7 deletions(-) (limited to 'Simulator/src') diff --git a/Simulator/src/database/Database.cpp b/Simulator/src/database/Database.cpp index b953bc73..5abee41e 100644 --- a/Simulator/src/database/Database.cpp +++ b/Simulator/src/database/Database.cpp @@ -50,8 +50,9 @@ namespace Database uint32_t id = snapshot.id; uint32_t flopsDone = snapshot.flopsDone; + uint32_t coresUsed = snapshot.coresUsed; writeWorkloadStateQuery.reset() - .bindParams(id, experiment.getId(), tick, flopsDone) + .bindParams(id, experiment.getId(), tick, flopsDone, coresUsed) .executeOnce(); }); diff --git a/Simulator/src/modeling/machine/CPU.cpp b/Simulator/src/modeling/machine/CPU.cpp index 6167b133..0caa34ec 100644 --- a/Simulator/src/modeling/machine/CPU.cpp +++ b/Simulator/src/modeling/machine/CPU.cpp @@ -4,22 +4,22 @@ namespace Modeling { CPU::CPU(int speed, int cores, int energyConsumption, int failureModelId) : speed(speed), cores(cores), energyConsumption(energyConsumption), failureModelId(failureModelId) {} - int CPU::getCores() + int CPU::getCores() const { return this->cores; } - int CPU::getEnergyConsumption() + int CPU::getEnergyConsumption() const { return this->energyConsumption; } - int CPU::getFailureModelId() + int CPU::getFailureModelId() const { return this->failureModelId; } - int CPU::getSpeed() + int CPU::getSpeed() const { return this->speed; } diff --git a/Simulator/src/modeling/machine/Machine.cpp b/Simulator/src/modeling/machine/Machine.cpp index d7d4fac7..db336dd8 100644 --- a/Simulator/src/modeling/machine/Machine.cpp +++ b/Simulator/src/modeling/machine/Machine.cpp @@ -77,4 +77,13 @@ namespace Modeling { return this->load; } + + uint32_t Machine::getNumberOfCores() const + { + uint32_t cores = 0; + for (auto& processor : cpus) { + cores += processor.getCores(); + } + return cores; + } } diff --git a/Simulator/src/simulation/workloads/Workload.cpp b/Simulator/src/simulation/workloads/Workload.cpp index b6a3b2d0..ba8ca950 100644 --- a/Simulator/src/simulation/workloads/Workload.cpp +++ b/Simulator/src/simulation/workloads/Workload.cpp @@ -1,7 +1,5 @@ #include "simulation/workloads/Workload.h" -#include - namespace Simulation { Workload::Workload(int size, int startTick, int dbId, int traceId, int dependency) : dependencyId(dependency), remainingFlops(size), TOTAL_FLOPS(size), START_TICK(startTick), ID(dbId), TRACE_ID(traceId) {} @@ -44,4 +42,14 @@ namespace Simulation { return this->dependencyId; } + + void Workload::setCoresUsed(uint32_t cores) + { + this->coresUsed = cores; + } + + uint32_t Workload::getCoresUsed() + { + return coresUsed; + } } diff --git a/Simulator/src/simulation/workloads/WorkloadPool.cpp b/Simulator/src/simulation/workloads/WorkloadPool.cpp index c4910c7f..251dcb9a 100644 --- a/Simulator/src/simulation/workloads/WorkloadPool.cpp +++ b/Simulator/src/simulation/workloads/WorkloadPool.cpp @@ -1,4 +1,5 @@ #include "simulation/workloads/WorkloadPool.h" +#include "simulation/workloads/Workload.h" #include #include -- cgit v1.2.3