WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
Public Member Functions | List of all members
wrench::ConservativeBackfillingBatchSchedulerCoreLevel Class Reference

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

#include <ConservativeBackfillingBatchSchedulerCoreLevel.h>

Inheritance diagram for wrench::ConservativeBackfillingBatchSchedulerCoreLevel:
wrench::HomegrownBatchScheduler wrench::BatchScheduler

Public Member Functions

 ConservativeBackfillingBatchSchedulerCoreLevel (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 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 defines a conservative backfilling batch_standard_and_pilot_jobs scheduler.

Constructor & Destructor Documentation

◆ ConservativeBackfillingBatchSchedulerCoreLevel()

wrench::ConservativeBackfillingBatchSchedulerCoreLevel::ConservativeBackfillingBatchSchedulerCoreLevel ( BatchComputeService cs)
explicit

Constructor.

Parameters
csThe BatchComputeService for which this scheduler is working

Member Function Documentation

◆ getStartTimeEstimates()

std::map< std::string, double > wrench::ConservativeBackfillingBatchSchedulerCoreLevel::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::ConservativeBackfillingBatchSchedulerCoreLevel::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::ConservativeBackfillingBatchSchedulerCoreLevel::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::ConservativeBackfillingBatchSchedulerCoreLevel::processJobSubmission ( std::shared_ptr< BatchJob batch_job)
overridevirtual

Method to process a job submission.

Parameters
batch_jobthe newly submitted BatchComputeService job

Implements wrench::BatchScheduler.

◆ processJobTermination()

void wrench::ConservativeBackfillingBatchSchedulerCoreLevel::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::ConservativeBackfillingBatchSchedulerCoreLevel::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
a host:<core,RAM> map

Implements wrench::HomegrownBatchScheduler.


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