summaryrefslogtreecommitdiff
path: root/Simulator/src
diff options
context:
space:
mode:
Diffstat (limited to 'Simulator/src')
-rw-r--r--Simulator/src/database/Database.cpp3
-rw-r--r--Simulator/src/modeling/machine/CPU.cpp8
-rw-r--r--Simulator/src/modeling/machine/Machine.cpp9
-rw-r--r--Simulator/src/simulation/workloads/Workload.cpp12
-rw-r--r--Simulator/src/simulation/workloads/WorkloadPool.cpp1
5 files changed, 26 insertions, 7 deletions
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<int, int, int, int>(id, experiment.getId(), tick, flopsDone)
+ .bindParams<int, int, int, int, int>(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 <iostream>
-
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 <iostream>
#include <algorithm>