10 #ifndef WRENCH_HOMEGROWNBATCHSCHEDULER_H
11 #define WRENCH_HOMEGROWNBATCHSCHEDULER_H
13 #include "wrench/services/compute/batch/batch_schedulers/BatchScheduler.h"
44 throw std::runtime_error(
"HomegrownBatchScheduler::processUnknownJobTermination(): this method should not be called since this scheduler is not Batsched");
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;
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
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