WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
Public Member Functions | Protected Attributes | List of all members
wrench::BatchScheduler Class Referenceabstract

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

#include <BatchScheduler.h>

Inheritance diagram for wrench::BatchScheduler:
wrench::BatschedBatchScheduler wrench::HomegrownBatchScheduler wrench::ConservativeBackfillingBatchScheduler wrench::ConservativeBackfillingBatchSchedulerCoreLevel wrench::FCFSBatchScheduler

Public Member Functions

 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 init ()=0
 Initialization method. More...
 
virtual void launch ()=0
 Launch method.
 
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.
 
virtual void processUnknownJobTermination (std::string job_id)=0
 Method to process a job termination when the job is already forgotten (useful for batsched) More...
 
virtual void shutdown ()=0
 Shutdown method.
 

Protected Attributes

BatchComputeServicecs
 Compute service for which this scheduler is operating.
 

Detailed Description

An abstract class that defines a batch_standard_and_pilot_jobs scheduler.

Constructor & Destructor Documentation

◆ BatchScheduler()

wrench::BatchScheduler::BatchScheduler ( BatchComputeService cs)
inlineexplicit

Constructor.

Parameters
csthe batch_standard_and_pilot_jobs compute service to which this scheduler is associated

Member Function Documentation

◆ getStartTimeEstimates()

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

Method to get start time estimates.

Parameters
set_of_jobsthe set of job configurations whose start times should be estimated
Returns
start time estimates

Implemented in wrench::BatschedBatchScheduler, wrench::FCFSBatchScheduler, wrench::ConservativeBackfillingBatchScheduler, and wrench::ConservativeBackfillingBatchSchedulerCoreLevel.

◆ init()

virtual void wrench::BatchScheduler::init ( )
pure virtual

Initialization method.

Virtual methods to override

Implemented in wrench::BatschedBatchScheduler, and wrench::HomegrownBatchScheduler.

◆ processJobCompletion()

virtual void wrench::BatchScheduler::processJobCompletion ( std::shared_ptr< BatchJob batch_job)
pure virtual

Method to process a job completion.

Parameters
batch_jobthe batch_standard_and_pilot_jobs job that has completed

Implemented in wrench::BatschedBatchScheduler, wrench::FCFSBatchScheduler, wrench::ConservativeBackfillingBatchScheduler, and wrench::ConservativeBackfillingBatchSchedulerCoreLevel.

◆ processJobFailure()

virtual void wrench::BatchScheduler::processJobFailure ( std::shared_ptr< BatchJob batch_job)
pure virtual

Method to process a job failure.

Parameters
batch_jobthe batch_standard_and_pilot_jobs job that has failed

Implemented in wrench::BatschedBatchScheduler, wrench::FCFSBatchScheduler, wrench::ConservativeBackfillingBatchScheduler, and wrench::ConservativeBackfillingBatchSchedulerCoreLevel.

◆ processJobSubmission()

virtual void wrench::BatchScheduler::processJobSubmission ( std::shared_ptr< BatchJob batch_job)
pure virtual

Method to process a job submission.

Parameters
batch_jobthe batch_standard_and_pilot_jobs job that was submitted

Implemented in wrench::BatschedBatchScheduler, wrench::FCFSBatchScheduler, wrench::ConservativeBackfillingBatchScheduler, and wrench::ConservativeBackfillingBatchSchedulerCoreLevel.

◆ processJobTermination()

virtual void wrench::BatchScheduler::processJobTermination ( std::shared_ptr< BatchJob batch_job)
pure virtual

Method to process a job termination.

Parameters
batch_jobthe batch_standard_and_pilot_jobs job that was terminated

Implemented in wrench::BatschedBatchScheduler, wrench::FCFSBatchScheduler, wrench::ConservativeBackfillingBatchScheduler, and wrench::ConservativeBackfillingBatchSchedulerCoreLevel.

◆ processUnknownJobTermination()

virtual void wrench::BatchScheduler::processUnknownJobTermination ( std::string  job_id)
pure virtual

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

Parameters
job_idthe id of the batch_standard_and_pilot_jobs job that was terminated

Implemented in wrench::BatschedBatchScheduler, and wrench::HomegrownBatchScheduler.


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