ComputeService.h
113 submitStandardJob(StandardJob *job, std::map<std::string, std::string> &service_specific_arguments) = 0;
115 virtual void submitPilotJob(PilotJob *job, std::map<std::string, std::string> &service_specific_arguments) = 0;
unsigned long getTotalNumIdleCores()
Get the total idle core counts for all hosts of the compute service.
Definition: ComputeService.cpp:295
StorageService * getScratch()
Get the compute service's scratch storage space.
Definition: ComputeService.cpp:441
std::shared_ptr< StorageService > getScratchSharedPtr()
Get a shared pointer to the compute service's scratch storage space.
Definition: ComputeService.cpp:449
A service that can be added to the simulation and that can be used by a WMS when executing a workflow...
Definition: Service.h:26
static constexpr double ALL_RAM
A convenient constant to mean "use all ram of a physical host" whenever a ram capacity is needed when...
Definition: ComputeService.h:59
unsigned long getTotalNumCores()
Get the total core counts for all hosts of the compute service.
Definition: ComputeService.cpp:248
Abstraction of a job used for executing tasks in a Workflow.
Definition: WorkflowJob.h:31
unsigned long getNumHosts()
Get the number of hosts that the compute service manages.
Definition: ComputeService.cpp:193
void stop() override
Stop the compute service - must be called by the stop() method of derived classes.
Definition: ComputeService.cpp:32
double getFreeScratchSpaceSize()
Get the free space on the compute service's scratch storage space.
Definition: ComputeService.cpp:433
bool hasScratch()
Checks if the compute service has a scratch space.
Definition: ComputeService.cpp:457
std::string hostname
The name of the host on which the daemon is running.
Definition: S4U_Daemon.h:47
bool supportsPilotJobs()
Get whether the compute service supports pilot jobs or not.
Definition: ComputeService.cpp:182
A pilot (i.e., non-standard) workflow job that can be submitted to a ComputeService by a WMS (via a J...
Definition: PilotJob.h:29
A standard (i.e., non-pilot) workflow job that can be submitted to a ComputeService by a WMS (via a J...
Definition: StandardJob.h:38
static constexpr unsigned long ALL_CORES
A convenient constant to mean "use all cores of a physical host" whenever a number of cores is needed...
Definition: ComputeService.h:54
std::map< std::string, double > getCoreFlopRate()
Get the per-core flop rate of the compute service's hosts.
Definition: ComputeService.cpp:312
double getTotalScratchSpaceSize()
Get the total capacity of the compute service's scratch storage space.
Definition: ComputeService.cpp:425
StorageService * scratch_space_storage_service
A scratch storage service associated to the compute service.
Definition: ComputeService.h:136
void submitJob(WorkflowJob *job, std::map< std::string, std::string >={})
Submit a job to the compute service.
Definition: ComputeService.cpp:56
std::map< std::string, unsigned long > getNumIdleCores()
Get idle core counts for each of the compute service's host.
Definition: ComputeService.cpp:266
void terminateJob(WorkflowJob *job)
Terminate a previously-submitted job (which may or may not be running yet)
Definition: ComputeService.cpp:93
std::map< std::string, unsigned long > getNumCores()
Get core counts for each of the compute service's host.
Definition: ComputeService.cpp:219
static StorageService * SCRATCH
A convenient constant to mean "the scratch storage space" of a ComputeService. This is used to move d...
Definition: ComputeService.h:68
std::map< std::string, double > getMemoryCapacity()
Get the RAM capacities for each of the compute service's hosts.
Definition: ComputeService.cpp:339
double getTTL()
Get the time-to-live of the compute service.
Definition: ComputeService.cpp:367
bool supportsStandardJobs()
Get whether the compute service supports standard jobs or not.
Definition: ComputeService.cpp:174
Definition: TerminalOutput.cpp:15
ComputeService(const std::string &hostname, std::string service_name, std::string mailbox_name_prefix, double scratch_space_size)
Constructor.
Definition: ComputeService.cpp:129