WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
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
wrench::BatchScheduler::cs
BatchComputeService * cs
Compute service for which this scheduler is operating.
Definition: BatchScheduler.h:113
wrench::HomegrownBatchScheduler::shutdown
void shutdown() override
Shutdown method.
Definition: HomegrownBatchScheduler.h:41
wrench::HomegrownBatchScheduler::scheduleOnHosts
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.
wrench::BatchComputeService
A batch_standard_and_pilot_jobs-scheduled compute service that manages a set of compute hosts and con...
Definition: BatchComputeService.h:49
wrench
Definition: Action.cpp:28
wrench::BatchScheduler
An abstract class that defines a batch_standard_and_pilot_jobs scheduler.
Definition: BatchScheduler.h:27
wrench::HomegrownBatchScheduler::launch
void launch() override
Launch method.
Definition: HomegrownBatchScheduler.h:39
wrench::HomegrownBatchScheduler::init
void init() override
Initialization method.
Definition: HomegrownBatchScheduler.h:37
wrench::HomegrownBatchScheduler
An abstract class that defines a batch_standard_and_pilot_jobs scheduler.
Definition: HomegrownBatchScheduler.h:26
wrench::HomegrownBatchScheduler::processUnknownJobTermination
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
wrench::HomegrownBatchScheduler::HomegrownBatchScheduler
HomegrownBatchScheduler(BatchComputeService *cs)
Constructor.
Definition: HomegrownBatchScheduler.h:35