wrench::HomegrownBatchScheduler Class Referenceabstract

An abstract class that defines a batch scheduler. More...

#include <HomegrownBatchScheduler.h>

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

Public Member Functions

 HomegrownBatchScheduler (BatchComputeService *cs)
 Constructor. More...
 
void init () override
 Initialization method. More...
 
void launch () override
 Launch method.
 
void processUnknownJobTermination (std::string job_id) override
 Method to process a job termination when the job is already forgotten (useful for batsched) More...
 
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. More...
 
void shutdown () override
 Shutdown method.
 
- Public Member Functions inherited from wrench::BatchScheduler
 BatchScheduler (BatchComputeService *cs)
 Constructor. More...
 
virtual ~BatchScheduler ()=default
 Destructor.
 
virtual std::map< std::string, double > getStartTimeEstimates (std::set< std::tuple< std::string, unsigned long, unsigned long, double >> set_of_jobs)=0
 Method to get start time estimates. More...
 
virtual void processJobCompletion (std::shared_ptr< BatchJob > batch_job)=0
 Method to process a job completion. More...
 
virtual void processJobFailure (std::shared_ptr< BatchJob > batch_job)=0
 Method to process a job failure. More...
 
virtual void processJobSubmission (std::shared_ptr< BatchJob > batch_job)=0
 Method to process a job submission. More...
 
virtual void processJobTermination (std::shared_ptr< BatchJob > batch_job)=0
 Method to process a job termination. More...
 
virtual void processQueuedJobs ()=0
 Method to process queued jobs.
 

Additional Inherited Members

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

Detailed Description

An abstract class that defines a batch scheduler.

Constructor & Destructor Documentation

◆ HomegrownBatchScheduler()

wrench::HomegrownBatchScheduler::HomegrownBatchScheduler ( BatchComputeService cs)
inlineexplicit

Constructor.

Parameters
csthe batch compute service for which this scheduler is operating

Member Function Documentation

◆ init()

void wrench::HomegrownBatchScheduler::init ( )
inlineoverridevirtual

Initialization method.

Virtual methods to override

Implements wrench::BatchScheduler.

◆ processUnknownJobTermination()

void wrench::HomegrownBatchScheduler::processUnknownJobTermination ( std::string  job_id)
inlineoverridevirtual

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

Parameters
job_idthe id of the batch job that was terminated

Implements wrench::BatchScheduler.

◆ scheduleOnHosts()

virtual std::map<std::string, std::tuple<unsigned long, double> > wrench::HomegrownBatchScheduler::scheduleOnHosts ( unsigned long  num_nodes,
unsigned long  cores_per_node,
double  ram_per_node 
)
pure virtual

Virtual 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
a host:<core,RAM> map

Implemented in wrench::FCFSBatchScheduler, wrench::CONSERVATIVEBFBatchScheduler, and wrench::CONSERVATIVEBFBatchSchedulerCoreLevel.


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