WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
FCFSBatchScheduler.h
1 
10 #ifndef WRENCH_FCFSBATCHSCHEDULER_H
11 #define WRENCH_FCFSBATCHSCHEDULER_H
12 
13 /***********************/
15 /***********************/
16 
17 #include "wrench/services/compute/batch/batch_schedulers/homegrown/HomegrownBatchScheduler.h"
18 #include "wrench/services/compute/batch/BatchComputeService.h"
19 
20 namespace wrench {
21 
25  class FCFSBatchScheduler : public HomegrownBatchScheduler {
26 
27  public:
28 
34  explicit FCFSBatchScheduler(BatchComputeService *cs) : HomegrownBatchScheduler(cs) {}
35 
36  void processQueuedJobs() override;
37 
38  void processJobSubmission(std::shared_ptr<BatchJob> batch_job) override;
39  void processJobFailure(std::shared_ptr<BatchJob> batch_job) override;
40  void processJobCompletion(std::shared_ptr<BatchJob> batch_job) override;
41  void processJobTermination(std::shared_ptr<BatchJob> batch_job) override;
42 
43  std::shared_ptr<BatchJob> pickNextJobToSchedule();
44 
45  std::map <std::string, std::tuple<unsigned long, double>> scheduleOnHosts(unsigned long, unsigned long, double) override;
46 
47  std::map<std::string, double> getStartTimeEstimates(std::set <std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs) override;
48  };
49 
50 }
51 
52 /***********************/
54 /***********************/
55 
56 
57 
58 #endif //WRENCH_FCFSBATCHSCHEDULER_H
wrench
Definition: Action.cpp:28