WRENCH
1.10
Cyberinfrastructure Simulation Workbench
|
Overview | Installation | Getting Started | WRENCH 101 | WRENCH 102 |
The compute service base class. More...
#include <ComputeService.h>
Public Member Functions | |
std::map< std::string, double > | getCoreFlopRate () |
Get the per-core flop rate of the compute service's hosts. More... | |
double | getFreeScratchSpaceSize () |
Get the free space on the compute service's scratch storage space. More... | |
std::vector< std::string > | getHosts () |
Get the list of the compute service's compute host. More... | |
std::map< std::string, double > | getMemoryCapacity () |
Get the RAM capacities for each of the compute service's hosts. More... | |
unsigned long | getNumHosts () |
Get the number of hosts that the compute service manages. More... | |
std::map< std::string, double > | getPerHostAvailableMemoryCapacity () |
Get ram availability for each of the compute service's host. More... | |
std::map< std::string, unsigned long > | getPerHostNumCores () |
Get core counts for each of the compute service's host. More... | |
std::map< std::string, unsigned long > | getPerHostNumIdleCores () |
Get idle core counts for each of the compute service's host. More... | |
std::shared_ptr< StorageService > | getScratchSharedPtr () |
Get a shared pointer to the compute service's scratch storage space. More... | |
unsigned long | getTotalNumCores () |
Get the total core counts for all hosts of the compute service. More... | |
virtual unsigned long | getTotalNumIdleCores () |
Get the total idle core count for all hosts of the compute service. More... | |
double | getTotalScratchSpaceSize () |
Get the total capacity of the compute service's scratch storage space. More... | |
double | getTTL () |
Get the time-to-live of the compute service. More... | |
bool | hasScratch () |
Checks if the compute service has a scratch space. More... | |
virtual bool | isThereAtLeastOneHostWithIdleResources (unsigned long num_cores, double ram) |
Method to find out if, right now, the compute service has at least one host with some idle number of cores and some available RAM. More... | |
void | stop () override |
Stop the compute service - must be called by the stop() method of derived classes. | |
bool | supportsPilotJobs () |
Get whether the compute service supports pilot jobs or not. More... | |
bool | supportsStandardJobs () |
Get whether the compute service supports standard jobs or not. More... | |
void | terminateJob (std::shared_ptr< WorkflowJob > job) |
Terminate a previously-submitted job (which may or may not be running yet) More... | |
Public Member Functions inherited from wrench::Service | |
void | assertServiceIsUp () |
Throws an exception if the service is not up. More... | |
std::string | getHostname () |
Get the name of the host on which the service is / will be running. More... | |
double | getNetworkTimeoutValue () |
Returns the service's network timeout value. More... | |
bool | getPropertyValueAsBoolean (std::string) |
Get a property of the Service as a boolean. More... | |
double | getPropertyValueAsDouble (std::string) |
Get a property of the Service as a double. More... | |
std::string | getPropertyValueAsString (std::string) |
Get a property of the Service as a string. More... | |
unsigned long | getPropertyValueAsUnsignedLong (std::string) |
Get a property of the Service as an unsigned long. More... | |
bool | isUp () |
Returns true if the service is UP, false otherwise. More... | |
void | resume () |
Resume the service. More... | |
void | setNetworkTimeoutValue (double value) |
Sets the service's network timeout value. More... | |
void | start (std::shared_ptr< Service > this_service, bool daemonize, bool auto_restart) |
Start the service. More... | |
void | suspend () |
Suspend the service. | |
Static Public Attributes | |
static constexpr unsigned long | ALL_CORES = ULONG_MAX |
A convenient constant to mean "use all cores of a physical host" whenever a number of cores is needed when instantiating compute services. | |
static constexpr double | ALL_RAM = DBL_MAX |
A convenient constant to mean "use all ram of a physical host" whenever a ram capacity is needed when instantiating compute services. | |
The compute service base class.
std::map< std::string, double > wrench::ComputeService::getCoreFlopRate | ( | ) |
Get the per-core flop rate of the compute service's hosts.
WorkflowExecutionException |
double wrench::ComputeService::getFreeScratchSpaceSize | ( | ) |
Get the free space on the compute service's scratch storage space.
std::vector< std::string > wrench::ComputeService::getHosts | ( | ) |
Get the list of the compute service's compute host.
WorkflowExecutionException | |
std::runtime_error |
std::map< std::string, double > wrench::ComputeService::getMemoryCapacity | ( | ) |
Get the RAM capacities for each of the compute service's hosts.
WorkflowExecutionException |
unsigned long wrench::ComputeService::getNumHosts | ( | ) |
Get the number of hosts that the compute service manages.
WorkflowExecutionException | |
std::runtime_error |
std::map< std::string, double > wrench::ComputeService::getPerHostAvailableMemoryCapacity | ( | ) |
Get ram availability for each of the compute service's host.
WorkflowExecutionException | |
std::runtime_error |
std::map< std::string, unsigned long > wrench::ComputeService::getPerHostNumCores | ( | ) |
Get core counts for each of the compute service's host.
WorkflowExecutionException | |
std::runtime_error |
std::map< std::string, unsigned long > wrench::ComputeService::getPerHostNumIdleCores | ( | ) |
Get idle core counts for each of the compute service's host.
WorkflowExecutionException | |
std::runtime_error |
std::shared_ptr< StorageService > wrench::ComputeService::getScratchSharedPtr | ( | ) |
Get a shared pointer to the compute service's scratch storage space.
unsigned long wrench::ComputeService::getTotalNumCores | ( | ) |
Get the total core counts for all hosts of the compute service.
WorkflowExecutionException | |
std::runtime_error |
|
virtual |
Get the total idle core count for all hosts of the compute service.
WorkflowExecutionException | |
std::runtime_error |
double wrench::ComputeService::getTotalScratchSpaceSize | ( | ) |
Get the total capacity of the compute service's scratch storage space.
double wrench::ComputeService::getTTL | ( | ) |
Get the time-to-live of the compute service.
WorkflowExecutionException |
bool wrench::ComputeService::hasScratch | ( | ) |
Checks if the compute service has a scratch space.
|
virtual |
Method to find out if, right now, the compute service has at least one host with some idle number of cores and some available RAM.
num_cores | the desired number of cores |
ram | the desired RAM |
bool wrench::ComputeService::supportsPilotJobs | ( | ) |
Get whether the compute service supports pilot jobs or not.
bool wrench::ComputeService::supportsStandardJobs | ( | ) |
Get whether the compute service supports standard jobs or not.
void wrench::ComputeService::terminateJob | ( | std::shared_ptr< WorkflowJob > | job | ) |
Terminate a previously-submitted job (which may or may not be running yet)
job | the job to terminate |
std::invalid_argument | |
WorkflowExecutionException | |
std::runtime_error |