10 #ifndef WRENCH_CONSERVATIVEBACKFILLINGBATCHSCHEDULER_H
11 #define WRENCH_CONSERVATIVEBACKFILLINGBATCHSCHEDULER_H
13 #include "wrench/services/compute/batch/BatchComputeService.h"
14 #include "wrench/services/compute/batch/batch_schedulers/homegrown/HomegrownBatchScheduler.h"
15 #include <wrench/services/compute/batch/batch_schedulers/homegrown/conservative_bf/NodeAvailabilityTimeLine.h>
41 std::map <std::string, std::tuple<unsigned long, double>>
scheduleOnHosts(
unsigned long,
unsigned long,
double)
override;
43 std::map<std::string, double>
44 getStartTimeEstimates(std::set <std::tuple<std::string, unsigned long, unsigned long, double>> set_of_jobs)
override;
48 std::unique_ptr<NodeAvailabilityTimeLine> schedule;
59 #endif //WRENCH_CONSERVATIVEBACKFILLINGBATCHSCHEDULER_H
A class that defines a conservative backfilling batch_standard_and_pilot_jobs scheduler.
Definition: ConservativeBackfillingBatchScheduler.h:26
BatchComputeService * cs
Compute service for which this scheduler is operating.
Definition: BatchScheduler.h:113
void processQueuedJobs() override
Method to schedule (possibly) the next jobs to be scheduled.
Definition: ConservativeBackfillingBatchScheduler.cpp:60
void processJobSubmission(std::shared_ptr< BatchJob > batch_job) override
Method to process a job submission.
Definition: ConservativeBackfillingBatchScheduler.cpp:33
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.
Definition: ConservativeBackfillingBatchScheduler.cpp:231
A batch_standard_and_pilot_jobs-scheduled compute service that manages a set of compute hosts and con...
Definition: BatchComputeService.h:49
Definition: Action.cpp:28
void processJobFailure(std::shared_ptr< BatchJob > batch_job) override
Method to process a job failure.
Definition: ConservativeBackfillingBatchScheduler.cpp:217
ConservativeBackfillingBatchScheduler(BatchComputeService *cs)
Constructor.
Definition: ConservativeBackfillingBatchScheduler.cpp:25
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.
Definition: ConservativeBackfillingBatchScheduler.cpp:287
void processJobTermination(std::shared_ptr< BatchJob > batch_job) override
Method to process a job termination.
Definition: ConservativeBackfillingBatchScheduler.cpp:208
An abstract class that defines a batch_standard_and_pilot_jobs scheduler.
Definition: HomegrownBatchScheduler.h:26
void processJobCompletion(std::shared_ptr< BatchJob > batch_job) override
Method to process a job completion.
Definition: ConservativeBackfillingBatchScheduler.cpp:188
void compactSchedule()
Method to compact the schedule.
Definition: ConservativeBackfillingBatchScheduler.cpp:115