10 #ifndef WRENCH_FCFSBATCHSCHEDULER_H
11 #define WRENCH_FCFSBATCHSCHEDULER_H
17 #include <wrench/services/compute/batch/batch_schedulers/homegrown/HomegrownBatchScheduler.h>
18 #include <wrench/services/compute/batch/BatchComputeService.h>
46 std::map <std::string, std::tuple<unsigned long, double>>
scheduleOnHosts(
unsigned long,
unsigned long,
double)
override;
48 std::map<std::string, double>
getStartTimeEstimates(std::set <std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs)
override;
60 #endif //WRENCH_FCFSBATCHSCHEDULER_H
BatchComputeService * cs
Compute service for which this scheduler is operating.
Definition: BatchScheduler.h:107
A class that implements a FCFS batch scheduler.
Definition: FCFSBatchScheduler.h:25
void processQueuedJobs() override
Method to process queued jobs.
Definition: FCFSBatchScheduler.cpp:336
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.
Definition: FCFSBatchScheduler.cpp:162
A batch-scheduled compute service that manages a set of compute hosts and controls access to their re...
Definition: BatchComputeService.h:49
std::shared_ptr< BatchJob > pickNextJobToSchedule()
Overriden Method to pick the next job to schedule.
Definition: FCFSBatchScheduler.cpp:24
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.
Definition: FCFSBatchScheduler.cpp:40
void processJobSubmission(std::shared_ptr< BatchJob > batch_job) override
Method to process a job submission.
Definition: FCFSBatchScheduler.cpp:382
An abstract class that defines a batch scheduler.
Definition: HomegrownBatchScheduler.h:25
void processJobCompletion(std::shared_ptr< BatchJob > batch_job) override
Method to process a job completion.
Definition: FCFSBatchScheduler.cpp:390
HomegrownBatchScheduler(BatchComputeService *cs)
Constructor.
Definition: HomegrownBatchScheduler.h:34
void processJobTermination(std::shared_ptr< BatchJob > batch_job) override
Method to process a job termination.
Definition: FCFSBatchScheduler.cpp:394
void processJobFailure(std::shared_ptr< BatchJob > batch_job) override
Method to process a job failure.
Definition: FCFSBatchScheduler.cpp:386