wrench::CONSERVATIVEBFBatchScheduler Class Reference

A class that defines a conservative backfilling batch scheduler. More...

#include <CONSERVATIVEBFBatchScheduler.h>

Inheritance diagram for wrench::CONSERVATIVEBFBatchScheduler:
wrench::HomegrownBatchScheduler wrench::BatchScheduler

Public Member Functions

 CONSERVATIVEBFBatchScheduler (BatchComputeService *cs)
 Constructor. More...
 
void compactSchedule ()
 Method to compact the schedule.
 
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. More...
 
void processJobCompletion (std::shared_ptr< BatchJob > batch_job) override
 Method to process a job completion. More...
 
void processJobFailure (std::shared_ptr< BatchJob > batch_job) override
 Method to process a job failure. More...
 
void processJobSubmission (std::shared_ptr< BatchJob > batch_job) override
 Method to process a job submission. More...
 
void processJobTermination (std::shared_ptr< BatchJob > batch_job) override
 Method to process a job termination. More...
 
void processQueuedJobs () override
 Method to schedule (possibly) the next jobs to be scheduled.
 
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. More...
 
- Public Member Functions inherited from wrench::HomegrownBatchScheduler
 HomegrownBatchScheduler (BatchComputeService *cs)
 Constructor. More...
 
void init () override
 Initialization method. More...
 
void launch () override
 Launch method.
 
void shutdown () override
 Shutdown method.
 
- Public Member Functions inherited from wrench::BatchScheduler
 BatchScheduler (BatchComputeService *cs)
 Constructor. More...
 
virtual ~BatchScheduler ()=default
 Destructor.
 

Additional Inherited Members

- Protected Attributes inherited from wrench::BatchScheduler
BatchComputeServicecs
 Compute service for which this scheduler is operating.
 

Detailed Description

A class that defines a conservative backfilling batch scheduler.

Constructor & Destructor Documentation

◆ CONSERVATIVEBFBatchScheduler()

wrench::CONSERVATIVEBFBatchScheduler::CONSERVATIVEBFBatchScheduler ( BatchComputeService cs)
explicit

Constructor.

Parameters
csThe BatchComputeService for which this scheduler is working

Member Function Documentation

◆ getStartTimeEstimates()

std::map< std::string, double > wrench::CONSERVATIVEBFBatchScheduler::getStartTimeEstimates ( std::set< std::tuple< std::string, unsigned long, unsigned long, double >>  set_of_jobs)
overridevirtual

Method to obtain start time estimates.

Parameters
set_of_jobsa set of job specs
Returns
map of estimates

Implements wrench::BatchScheduler.

◆ processJobCompletion()

void wrench::CONSERVATIVEBFBatchScheduler::processJobCompletion ( std::shared_ptr< BatchJob batch_job)
overridevirtual

Method to process a job completion.

Parameters
batch_jobthe job that completed

Implements wrench::BatchScheduler.

◆ processJobFailure()

void wrench::CONSERVATIVEBFBatchScheduler::processJobFailure ( std::shared_ptr< BatchJob batch_job)
overridevirtual

Method to process a job failure.

Parameters
batch_jobthe job that failed

Implements wrench::BatchScheduler.

◆ processJobSubmission()

void wrench::CONSERVATIVEBFBatchScheduler::processJobSubmission ( std::shared_ptr< BatchJob batch_job)
overridevirtual

Method to process a job submission.

Parameters
batch_jobthe newly submitted batch job

Implements wrench::BatchScheduler.

◆ processJobTermination()

void wrench::CONSERVATIVEBFBatchScheduler::processJobTermination ( std::shared_ptr< BatchJob batch_job)
overridevirtual

Method to process a job termination.

Parameters
batch_jobthe job that was terminated

Implements wrench::BatchScheduler.

◆ scheduleOnHosts()

std::map< std::string, std::tuple< unsigned long, double > > wrench::CONSERVATIVEBFBatchScheduler::scheduleOnHosts ( unsigned long  num_nodes,
unsigned long  cores_per_node,
double  ram_per_node 
)
overridevirtual

Method to figure out on which actual resources a job could be scheduled right now.

Parameters
num_nodesnumber of nodes
cores_per_nodenumber of cores per node
ram_per_nodeamount of RAM
Returns

Implements wrench::HomegrownBatchScheduler.


The documentation for this class was generated from the following files: