wrench::FCFSBatchScheduler

class FCFSBatchScheduler : public wrench::HomegrownBatchScheduler

A class that implements a FCFS batch scheduler.

Public Functions

inline explicit FCFSBatchScheduler(BatchComputeService *cs)

Constructor.

Parameters:

cs – the batch compute service for which this scheduler is operating

virtual std::map<std::string, double> getStartTimeEstimates(std::set<std::tuple<std::string, unsigned long, unsigned long, sg_size_t>> set_of_jobs) override

Method to obtain start time estimates.

Parameters:

set_of_jobs – set of jobs for which we need estimates

Returns:

a map a start time estimates

std::shared_ptr<BatchJob> pickNextJobToSchedule() const

Overridden Method to pick the next job to schedule.

Returns:

A BatchComputeService job, or nullptr is none is found

virtual void processJobCompletion(std::shared_ptr<BatchJob> batch_job) override

No-op method.

Parameters:

batch_job – a BatchComputeService job

virtual void processJobFailure(std::shared_ptr<BatchJob> batch_job) override

No-op method.

Parameters:

batch_job – a BatchComputeService job

virtual void processJobSubmission(std::shared_ptr<BatchJob> batch_job) override

No-op method.

Parameters:

batch_job – a BatchComputeService job

virtual void processJobTermination(std::shared_ptr<BatchJob> batch_job) override

No-op method.

Parameters:

batch_job – a BatchComputeService job

virtual void processQueuedJobs() override

Method to process queued jobs.

virtual void processReclaimedHosts(const std::set<simgrid::s4u::Host*> &hosts, std::shared_ptr<BatchJob> reclaim_job) override

Method to process a host being reclaimed.

Parameters:
  • host – the host

  • reclaim_job – the reclaim job

virtual std::map<simgrid::s4u::Host*, std::tuple<unsigned long, sg_size_t>> scheduleOnHosts(unsigned long, unsigned long, sg_size_t) override

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

Parameters:
  • num_nodes – the job’s requested num nodes

  • cores_per_node – the job’s num cores per node

  • ram_per_node – the job’s ram per node

Returns:

A resource list