wrench::HTCondorComputeService

class HTCondorComputeService : public wrench::ComputeService

A workload management framework compute service.

Public Functions

HTCondorComputeService(const std::string &hostname, const std::set<std::shared_ptr<ComputeService>> &compute_services, WRENCH_PROPERTY_COLLECTION_TYPE property_list = {}, WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE messagepayload_list = {})

Constructor.

Parameters:
  • hostname – the name of the host on which to start the service

  • compute_services – a set of ‘child’ compute services that have been added to the simulation and that are available to and usable through the HTCondor pool.

    • BatchComputeService instances will be used for Condor jobs in the “grid” universe

    • BareMetalComputeService instances will be used for Condor jobs not in the “grid” universe

    • other types of compute services are disallowed

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

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

Throws:

std::runtime_error

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<StorageService> getLocalStorageService() const

Get the service’s local storage service.

Returns:

the local storage service object

void setLocalStorageService(std::shared_ptr<StorageService> local_storage_service)

Set the service’s local storage service.

Parameters:

local_storage_service – a storage service

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

void validateJobsUseOfScratch(std::map<std::string, std::string> &service_specific_args) override

Determine whether compute service has scratch.

Parameters:

service_specific_args – the service-specific arguments (useful for some services)

void validateServiceSpecificArguments(const std::shared_ptr<CompoundJob> &compound_job, std::map<std::string, std::string> &service_specific_args) override

Method the validates service-specific arguments (throws std::invalid_argument if invalid)

Parameters:
  • job – the job that’s being submitted

  • service_specific_args – the service-specific arguments