summaryrefslogtreecommitdiff
path: root/Simulator/include/simulation/schedulers/Scheduler.h
diff options
context:
space:
mode:
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;
+ };
+}