Added lookahead scheduler.

Most scheduler now use estimated finish time instead of predicted execution time.
This commit is contained in:
Matthias
2017-07-26 18:56:44 +02:00
parent b93d8565a0
commit 19d695d4d8
13 changed files with 468 additions and 110 deletions
@@ -25,13 +25,9 @@ protected:
resource::ResourceManager& resourceManager;
prediction::PredictionManager& predictionManager;
std::map<resource::ComputingResource*, std::vector<std::shared_ptr<SchedulingDecision>>> scheduledTasks;
typedef std::map<resource::ComputingResourceType*, std::pair<wfs::AtomicActivityImplementation*, prediction::ExecutionTimeResult>> ImplementationCacheInnerMap;
std::map<wfs::AtomicActivityType*, ImplementationCacheInnerMap> implementationCache;
double _getResourceEstimatedAvailableTime(resource::ComputingResource* resource);
typedef std::tuple<resource::ComputingResource*, wfs::AtomicActivityImplementation*, double, prediction::ExecutionTimeResult> ECTEntry;
std::pair<wep::AtomicWepNode*, ECTEntry> _getNextTaskToSchedule(std::map<wep::AtomicWepNode*, ECTEntry>& estimatedTaskCompletionTimes);