HomegrownBatchScheduler.h
1 
10 #ifndef WRENCH_HOMEGROWNBATCHSCHEDULER_H
11 #define WRENCH_HOMEGROWNBATCHSCHEDULER_H
12 
13 #include "wrench/services/compute/batch/batch_schedulers/BatchScheduler.h"
14 #include <stdexcept>
15 
16 
17 namespace wrench {
18 
19 /***********************/
21 /***********************/
22 
27 
28  public:
29 
36 
37  void init() override {};
38 
39  void launch() override {};
40 
41  void shutdown() override {};
42 
43  void processUnknownJobTermination(std::string job_id) override {
44  throw std::runtime_error("HomegrownBatchScheduler::processUnknownJobTermination(): this method should not be called since this scheduler is not Batsched");
45  }
46 
54  virtual std::map<std::string, std::tuple<unsigned long, double>> scheduleOnHosts(unsigned long num_nodes, unsigned long cores_per_node, double ram_per_node) = 0;
55 
56 
57 
58  };
59 
60 /***********************/
62 /***********************/
63 
64 }
65 
66 
67 #endif //WRENCH_HOMEGROWNBATCHSCHEDULER_H
BatchComputeService * cs
Compute service for which this scheduler is operating.
Definition: BatchScheduler.h:113
void shutdown() override
Shutdown method.
Definition: HomegrownBatchScheduler.h:41
virtual std::map< std::string, std::tuple< unsigned long, double > > scheduleOnHosts(unsigned long num_nodes, unsigned long cores_per_node, double ram_per_node)=0
Virtual method to figure out on which actual resources a job could be scheduled right now.
A batch-scheduled compute service that manages a set of compute hosts and controls access to their re...
Definition: BatchComputeService.h:49
Definition: Alarm.cpp:20
An abstract class that defines a batch scheduler.
Definition: BatchScheduler.h:27
void launch() override
Launch method.
Definition: HomegrownBatchScheduler.h:39
void init() override
Initialization method.
Definition: HomegrownBatchScheduler.h:37
An abstract class that defines a batch scheduler.
Definition: HomegrownBatchScheduler.h:26
void processUnknownJobTermination(std::string job_id) override
Method to process a job termination when the job is already forgotten (useful for batsched)
Definition: HomegrownBatchScheduler.h:43
HomegrownBatchScheduler(BatchComputeService *cs)
Constructor.
Definition: HomegrownBatchScheduler.h:35