wrench::HTCondorCentralManagerService

class HTCondorCentralManagerService : public wrench::ComputeService

A HTCondor central manager service implementation.

Public Functions

HTCondorCentralManagerService(const std::string &hostname, double negotiator_startup_overhead, double grid_pre_overhead, double grid_post_overhead, double non_grid_pre_overhead, double non_grid_post_overhead, bool fast_bmcs_resource_availability, bool fcfs, std::set<std::shared_ptr<ComputeService>> compute_services, WRENCH_PROPERTY_COLLECTION_TYPE property_list = {}, WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE messagepayload_list = {})

Constructor.

Parameters:
  • hostname – the hostname on which to start the service

  • negotiator_startup_overhead – negotiator startup overhead

  • grid_pre_overhead – grid job pre-overhead

  • grid_post_overhead – grid job post-overhead

  • non_grid_pre_overhead – non-grid job pre-overhead

  • non_grid_post_overhead – non-grid job post-overhead

  • fast_bmcs_resource_availability – whether to obtain direct availabily information from bare-metal services

  • fcfs – whether to enforce FCFS scheduling of jobs

  • compute_services – a set of ‘child’ compute resources available to and via the HTCondor pool

  • property_list – a property list ({} means “use all defaults”)

  • messagepayload_list – a message payload list ({} means “use all defaults”)

Throws:

std::runtime_error

~HTCondorCentralManagerService() override

Destructor.

void addComputeService(std::shared_ptr<ComputeService> compute_service)

Add a new ‘child’ compute service.

Parameters:

compute_service – the compute service to add

std::shared_ptr<FailureCause> jobCanRunSomewhere(const std::shared_ptr<CompoundJob> &job, std::map<std::string, std::string> service_specific_arguments)

Helper function to check whether a job can run on at least one child compute service.

Parameters:
  • job – the job

  • service_specific_arguments – the service-specific argument

Returns:

true or false

virtual void submitCompoundJob(std::shared_ptr<CompoundJob> job, const std::map<std::string, std::string> &service_specific_arguments) override

Submit a compound job to the HTCondor service.

Parameters:
  • job – a compound job

  • service_specific_args – service specific arguments

Throws:
virtual bool supportsCompoundJobs() override

Returns true if the service supports compound jobs.

Returns:

true or false

virtual bool supportsPilotJobs() override

Returns true if the service supports pilot jobs.

Returns:

true or false

virtual bool supportsStandardJobs() override

Returns true if the service supports standard jobs.

Returns:

true or false

inline virtual void terminateCompoundJob(std::shared_ptr<CompoundJob> job) override

Method to terminate a compound job.

Parameters:

job – the standard job