summaryrefslogtreecommitdiff
path: root/Simulator/src
diff options
context:
space:
mode:
authorMatthijs Bijman <matthijs@bijman.org>2017-02-27 15:19:15 +0100
committerMatthijs Bijman <matthijs@bijman.org>2017-02-27 15:19:15 +0100
commit34aaaad34e72c921ea72d7b023e5a5270e76dd40 (patch)
tree64c65d557c5323a23f4ce6f31b20da744d44badb /Simulator/src
parentcc5c5a7eac0ebcf97c283e1e0dd1674c855a261a (diff)
Add tasks that run on 1 machine
Diffstat (limited to 'Simulator/src')
-rw-r--r--Simulator/src/database/Database.cpp12
-rw-r--r--Simulator/src/simulation/workloads/Workload.cpp7
2 files changed, 15 insertions, 4 deletions
diff --git a/Simulator/src/database/Database.cpp b/Simulator/src/database/Database.cpp
index 5abee41e..d1bb2af5 100644
--- a/Simulator/src/database/Database.cpp
+++ b/Simulator/src/database/Database.cpp
@@ -260,7 +260,7 @@ namespace Database
{
Simulation::WorkloadPool pool;
- std::vector<QueryResult<int, int, int, int, int>> tasks;
+ std::vector<QueryResult<int, int, int, int, int, std::string>> tasks;
// Fetch tasks from database
{
// Retrieves the traceId corresponding to the simulation section
@@ -272,7 +272,7 @@ namespace Database
.get<int, 0>();
// Retrieves the tasks that belong to the traceId
- QueryExecuter<int, int, int, int, int> q2(db);
+ QueryExecuter<int, int, int, int, int, std::string> q2(db);
tasks = q2
.setQuery(Queries::GET_TASKS_OF_TRACE)
.bindParams<int>(traceId)
@@ -287,9 +287,15 @@ namespace Database
int totalFlopCount = row.get<int, 2>();
int traceId = row.get<int, 3>();
int dependency = row.get<int, 4>();
+ std::string parallelizability = row.get<std::string, 5>();
+ bool parallel = false;
+ if (parallelizability == "PARALLEL")
+ {
+ parallel = true;
+ }
// TODO possibly wait and batch?
- Simulation::Workload workload(totalFlopCount, startTick, id, traceId, dependency);
+ Simulation::Workload workload(totalFlopCount, startTick, id, traceId, dependency, parallel);
if(dependency == 0)
workload.dependencyFinished = true;
diff --git a/Simulator/src/simulation/workloads/Workload.cpp b/Simulator/src/simulation/workloads/Workload.cpp
index ba8ca950..f8fe1444 100644
--- a/Simulator/src/simulation/workloads/Workload.cpp
+++ b/Simulator/src/simulation/workloads/Workload.cpp
@@ -2,7 +2,7 @@
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) {}
+ Workload::Workload(int size, int startTick, int dbId, int traceId, int dependency, bool parallel) : dependencyId(dependency), remainingFlops(size), TOTAL_FLOPS(size), START_TICK(startTick), ID(dbId), TRACE_ID(traceId), isParallel(parallel) {}
void Workload::doOperations(uint32_t opCount)
{
@@ -52,4 +52,9 @@ namespace Simulation
{
return coresUsed;
}
+
+ bool Workload::isParallelizable()
+ {
+ return isParallel;
+ }
}