wrench::FCFSBatchScheduler Class Reference

A class that implements a FCFS batch scheduler. More...

#include <FCFSBatchScheduler.h>

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

Public Member Functions

 FCFSBatchScheduler (BatchComputeService *cs)
 Constructor. More...
 
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. More...
 
std::shared_ptr< BatchJobpickNextJobToSchedule ()
 Overriden Method to pick the next job to schedule. More...
 
void processJobCompletion (std::shared_ptr< BatchJob > batch_job) override
 No-op method. More...
 
void processJobFailure (std::shared_ptr< BatchJob > batch_job) override
 No-op method. More...
 
void processJobSubmission (std::shared_ptr< BatchJob > batch_job) override
 No-op method. More...
 
void processJobTermination (std::shared_ptr< BatchJob > batch_job) override
 No-op method. More...
 
void processQueuedJobs () override
 Method to process queued jobs.
 
std::map< std::string, std::tuple< unsigned long, double > > scheduleOnHosts (unsigned long, unsigned long, double) override
 Override Method to find hosts on which to scheduled a job. 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 processUnknownJobTermination (std::string job_id) override
 Method to process a job termination when the job is already forgotten (useful for batsched) More...
 
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 implements a FCFS batch scheduler.

Constructor & Destructor Documentation

◆ FCFSBatchScheduler()

wrench::FCFSBatchScheduler::FCFSBatchScheduler ( BatchComputeService cs)
inlineexplicit

Constructor.

Parameters
csthe batch compute service for which this scheduler is operating

Member Function Documentation

◆ getStartTimeEstimates()

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

Method to get start time estimates.

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

Implements wrench::BatchScheduler.

◆ pickNextJobToSchedule()

std::shared_ptr< BatchJob > wrench::FCFSBatchScheduler::pickNextJobToSchedule ( )

Overriden Method to pick the next job to schedule.

Returns
A batch job, or nullptr is none is found

◆ processJobCompletion()

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

No-op method.

Parameters
batch_joba batch job

Implements wrench::BatchScheduler.

◆ processJobFailure()

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

No-op method.

Parameters
batch_joba batch job

Implements wrench::BatchScheduler.

◆ processJobSubmission()

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

No-op method.

Parameters
batch_joba batch job

Implements wrench::BatchScheduler.

◆ processJobTermination()

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

No-op method.

Parameters
batch_joba batch job

Implements wrench::BatchScheduler.

◆ scheduleOnHosts()

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

Override Method to find hosts on which to scheduled a job.

Parameters
num_nodesthe job's requested num nodes
cores_per_nodethe job's num cores per node
ram_per_nodethe job's ram per node
Returns
A resource list

Implements wrench::HomegrownBatchScheduler.


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