1 #ifndef LIBFASTER_FASTSCHEDULER_H
2 #define LIBFASTER_FASTSCHEDULER_H
6 #include <unordered_map>
8 #include "definitions.h"
16 unsigned int numProcs;
17 unsigned long int numTasks;
18 std::vector<fastTask *> taskList;
19 std::vector<double> currentWeights;
20 std::vector<std::string> * funcName;
21 bool _dataMigrationNeeded;
26 double * getNewAllocation();
27 void resetProcessWeights();
29 fastScheduler(
unsigned int numProcs, std::vector<std::string> * funcName);
32 fastTask * enqueueTask(fddOpType opT,
unsigned long int idSrc,
unsigned long int idRes,
int funcId,
size_t size, std::vector< std::pair<void*, size_t> > & globalTable);
33 fastTask * enqueueTask(fddOpType opT,
unsigned long int id,
size_t size, std::vector< std::pair<void*, size_t> > & globalTable);
35 void taskProgress(
unsigned long int id,
unsigned long int pid,
size_t time,
procstat & stat);
36 void taskFinished(
unsigned long int id,
size_t time);
38 void setCalibration(std::vector<size_t> time);
40 void printProcstats(
fastTask * task);
42 void printTaskInfo(
size_t task);
44 void updateTaskInfo();
46 bool dataMigrationNeeded();
47 std::vector<std::deque< std::pair<int,long int> >> getDataMigrationInfo();
48 std::vector<size_t> getAllocation(
size_t size);
Definition: fastScheduler.h:14
Definition: _workerFdd.h:11
Definition: fastTask.h:11