class HomegrownBatchScheduler : public wrench::BatchScheduler

An abstract class that defines a batch scheduler.

Subclassed by wrench::ConservativeBackfillingBatchScheduler, wrench::ConservativeBackfillingBatchSchedulerCoreLevel, wrench::FCFSBatchScheduler

Public Functions

inline explicit HomegrownBatchScheduler(BatchComputeService *cs)



cs – the batch compute service for which this scheduler is operating

inline virtual void init() override

Initialization method.

Virtual methods to override

inline virtual void launch() override

Launch method.

inline virtual void processUnknownJobTermination(std::string job_id) override

Method to process a job termination when the job is already forgotten (useful for batsched)


job_id – the id of the batch job that was terminated

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.

  • num_nodes – number of nodes

  • cores_per_node – number of cores per node

  • ram_per_node – amount of RAM


a host:<core,RAM> map

inline virtual void shutdown() override

Shutdown method.