wrench::BatschedBatchScheduler

class BatschedBatchScheduler : public wrench::BatchScheduler

A class that defines a batsched batch scheduler.

Public Functions

inline explicit BatschedBatchScheduler(BatchComputeService *cs)

Constructor.

Parameters

cs – The computer service for which this scheduler is operating

virtual std::map<std::string, double> getStartTimeEstimates(std::set<std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs) override

Method to get start time estimates.

Parameters

set_of_jobs – the set of job configurations whose start times should be estimated. Each job configuration is :(i) a name; (ii) a number of nodes; (iii) a number of cores per node; and (iv) an execution duration in seconds.

Returns

a map of estimated start dates (in seconds), indexed by job configuration name

virtual void init() override

Initialization method.

virtual void launch() override

Launch method.

Method to launch Batsched.

virtual void processJobCompletion(std::shared_ptr<BatchJob> batch_job) override

Method to process a job completion.

Parameters

batch_job – the batch job that has completed

virtual void processJobFailure(std::shared_ptr<BatchJob> batch_job) override

Method to process a job failure.

Parameters

batch_job – the batch job that has failed

virtual void processJobSubmission(std::shared_ptr<BatchJob> batch_job) override

Method to process a job submission.

Parameters

batch_job – the batch job that was submitted

virtual void processJobTermination(std::shared_ptr<BatchJob> batch_job) override

Method to process a job termination.

Parameters

batch_job – the batch job that was terminated

virtual void processQueuedJobs() override

Method to process queued jobs.

virtual void processUnknownJobTermination(std::string job_id) override

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

Parameters

job_id – the id of the batch job that was terminated

virtual void shutdown() override

Shutdown method.

Method to shutdown Batsched.