wrench::ConservativeBackfillingBatchScheduler
-
class ConservativeBackfillingBatchScheduler : public wrench::HomegrownBatchScheduler
A class that defines a conservative backfilling batch scheduler.
Public Functions
-
explicit ConservativeBackfillingBatchScheduler(BatchComputeService *cs)
Constructor.
- Parameters:
cs – The BatchComputeService for which this scheduler is working
-
void compactSchedule()
Method to compact the schedule.
-
virtual std::map<std::string, double> getStartTimeEstimates(std::set<std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs) override
Method to obtain start time estimates.
- Parameters:
set_of_jobs – a set of job specs
- Returns:
map of estimates
Method to process a job completion.
- Parameters:
batch_job – the job that completed
Method to process a job failure.
- Parameters:
batch_job – the job that failed
Method to process a job submission.
- Parameters:
batch_job – the newly submitted BatchComputeService job
Method to process a job termination.
- Parameters:
batch_job – the job that was terminated
-
virtual void processQueuedJobs() override
Method to schedule (possibly) the next jobs to be scheduled.
-
virtual std::map<std::string, std::tuple<unsigned long, double>> scheduleOnHosts(unsigned long, unsigned long, double) override
Method to figure out on which actual resources a job could be scheduled right now.
- Parameters:
num_nodes – number of nodes
cores_per_node – number of cores per node
ram_per_node – amount of RAM
- Returns:
a host:<core,RAM> map
-
explicit ConservativeBackfillingBatchScheduler(BatchComputeService *cs)