PilotJobScheduler.h
1 
11 #ifndef WRENCH_PILOTJOBSCHEDULER_H
12 #define WRENCH_PILOTJOBSCHEDULER_H
13 
14 
15 #include <set>
16 
17 namespace wrench {
18 
19  class ComputeService;
20  class DataMovementManager;
21  class JobManager;
22 
27 
28  public:
29 
34  this->data_movement_manager = nullptr;
35  this->job_manager = nullptr;
36  }
37 
38  /***********************/
40  /***********************/
41  virtual ~PilotJobScheduler() = default;
42  /***********************/
44  /***********************/
45 
46 
47  /***********************/
49  /***********************/
50 
56  virtual void schedulePilotJobs(const std::set<ComputeService *> &compute_services) = 0;
57 
63  return this->data_movement_manager;
64  }
65 
71  return this->job_manager;
72  }
73 
74  /***********************/
76  /***********************/
77 
78  /***********************/
80  /***********************/
81 
86  void setDataMovementManager(DataMovementManager *data_movement_manager) {
87  this->data_movement_manager = data_movement_manager;
88  }
89 
94  void setJobManager(JobManager *job_manager) {
95  this->job_manager = job_manager;
96  }
97 
98  /***********************/
100  /***********************/
101 
102  private:
103 
104  DataMovementManager *data_movement_manager;
105  JobManager *job_manager;
106 
107  };
108 };
109 
110 
111 #endif //WRENCH_PILOTJOBSCHEDULER_H
JobManager * getJobManager()
Get the job manager to be used by this scheduler (nullptr: none is used)
Definition: PilotJobScheduler.h:70
A (mostly virtual) base class for implementing PilotJob scheduling algorithms to be used by a WMS...
Definition: PilotJobScheduler.h:26
virtual void schedulePilotJobs(const std::set< ComputeService *> &compute_services)=0
A method that schedules pilot jobs, according to whatever decision algorithm it implements, over a set of compute services.
PilotJobScheduler()
Constructor.
Definition: PilotJobScheduler.h:33
A helper daemon (co-located with a WMS) that handles data movement operations.
Definition: DataMovementManager.h:31
DataMovementManager * getDataMovementManager()
Get the data movement manager to be used by this scheduler (nullptr: none is used) ...
Definition: PilotJobScheduler.h:62
A helper daemon (co-located with and explicitly started by a WMS), which is used to handle all job ex...
Definition: JobManager.h:40
Definition: TerminalOutput.cpp:15