1 #ifndef LIBFASTER_FASTSCHEDULER_H     2 #define LIBFASTER_FASTSCHEDULER_H     6 #include <unordered_map>     9 #include "definitions.h"    17             unsigned int numProcs;
    18             unsigned long int numTasks;
    19             std::vector<fastTask *> taskList;
    20             std::vector<double> currentWeights;
    21             std::vector<std::string> * funcName;
    22             bool _dataMigrationNeeded;
    27             std::shared_ptr<std::vector<double>> getNewAllocation();
    28             void resetProcessWeights();
    30             fastScheduler(
unsigned int numProcs, std::vector<std::string> * funcName);
    33             fastTask * enqueueTask(
fddOpType opT, 
unsigned long int idSrc, 
unsigned long int idRes, 
int funcId, 
size_t size, std::vector< std::tuple<void*, size_t, int> > & globalTable);
    34             fastTask * enqueueTask(
fddOpType opT, 
unsigned long int id, 
size_t size, std::vector< std::tuple<void*, size_t, int> > & globalTable);
    36             void taskProgress(
unsigned long int id, 
unsigned long int pid, 
size_t time, 
procstat & stat);
    37             void taskFinished(
unsigned long int id, 
size_t time);
    39             void setCalibration(std::vector<size_t> time);
    41             void printProcstats(
fastTask * task);
    43             void printTaskInfo(
size_t task);
    45             void updateTaskInfo();
    47             bool dataMigrationNeeded();
    48             std::vector<std::deque< std::pair<int,long int> >> getDataMigrationInfo();
    49             std::vector<size_t> getAllocation(
size_t size);
    50             void setAllocation(std::vector<size_t> & alloc, 
size_t size);
 unsigned int fddOpType
Dataset operation type.