summaryrefslogtreecommitdiff
path: root/Simulator/include/simulation/schedulers/Scheduler.h
diff options
context:
space:
mode:
authorMDBijman <matthijs@bijman.org>2017-01-24 12:15:26 +0100
committerMDBijman <matthijs@bijman.org>2017-01-24 12:15:26 +0100
commit070ce923574dcc57435cb3fb2dfe86b6a38cd249 (patch)
treeffd69a842ac4ad22aaf7161f923b9f0b47c7147a /Simulator/include/simulation/schedulers/Scheduler.h
Initial code commit with organized dependencies
Diffstat (limited to 'Simulator/include/simulation/schedulers/Scheduler.h')
-rw-r--r--Simulator/include/simulation/schedulers/Scheduler.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/Simulator/include/simulation/schedulers/Scheduler.h b/Simulator/include/simulation/schedulers/Scheduler.h
new file mode 100644
index 00000000..b084e8f6
--- /dev/null
+++ b/Simulator/include/simulation/schedulers/Scheduler.h
@@ -0,0 +1,25 @@
+#pragma once
+#include "simulation/workloads/Workload.h"
+#include "modeling/machine/Machine.h"
+
+#include <vector>
+
+namespace Simulation
+{
+ /*
+ Provides a strategy for load balancing.
+ */
+ class Scheduler
+ {
+ public:
+ virtual ~Scheduler()
+ {
+
+ }
+
+ /*
+ Divides the workloads over the given machines.
+ */
+ virtual void schedule(std::vector<std::reference_wrapper<Modeling::Machine>>& machines, std::vector<Workload*> workloads) = 0;
+ };
+}