![]() |
WRENCH
1.10
Cyberinfrastructure Simulation Workbench
|
Overview | Installation | Getting Started | WRENCH 101 | WRENCH 102 |
|
An service that performs a WorkUnit. More...
#include <WorkunitExecutor.h>
Public Member Functions | |
WorkunitExecutor (std::string hostname, unsigned long num_cores, double ram_utilization, std::string callback_mailbox, std::shared_ptr< Workunit > workunit, std::shared_ptr< StorageService > scratch_space, std::shared_ptr< StandardJob > job, double thread_startup_overhead, bool simulate_computation_as_sleep) | |
Constructor. More... | |
std::set< WorkflowFile * > | getFilesStoredInScratch () |
Retrieve the list of files stored in scratch space storage. More... | |
std::shared_ptr< StandardJob > | getJob () |
Retrieve the job the WorkunitExecutor is working for. More... | |
double | getMemoryUtilization () |
Returns the RAM the service has been allocated. More... | |
unsigned long | getNumCores () |
Returns the number of cores the service has been allocated. More... | |
void | kill (bool job_termination) |
Kill the worker thread. More... | |
![]() | |
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 | getMessagePayloadValue (std::string) |
Get a message payload of the Service as a double. 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 | setStateToDown () |
Set the state of the service to DOWN. | |
void | start (std::shared_ptr< Service > this_service, bool daemonize, bool auto_restart) |
Start the service. More... | |
virtual void | stop () |
Synchronously stop the service (does nothing if the service is already stopped) More... | |
void | suspend () |
Suspend the service. | |
![]() | |
S4U_Daemon (std::string hostname, std::string process_name_prefix, std::string mailbox_prefix) | |
Constructor (daemon with a mailbox) More... | |
virtual | ~S4U_Daemon () |
void | createLifeSaver (std::shared_ptr< S4U_Daemon > reference) |
Create a life saver for the daemon. More... | |
std::string | getName () |
Retrieve the process name. More... | |
int | getReturnValue () |
Returns the value returned by main() (if the daemon has returned from main) More... | |
S4U_Daemon::State | getState () |
Get the daemon's state. More... | |
bool | hasReturnedFromMain () |
Returns true if the daemon has returned from main() (i.e., not brutally killed) More... | |
bool | isDaemonized () |
Return the daemonized status of the daemon. More... | |
bool | isSetToAutoRestart () |
Return the auto-restart status of the daemon. More... | |
std::pair< bool, int > | join () |
Join (i.e., wait for) the daemon. More... | |
void | resumeActor () |
Resume the daemon/actor. | |
void | setupOnExitFunction () |
Sets up the on_exit functionf for the actor. | |
void | startDaemon (bool _daemonized, bool _auto_restart) |
Start the daemon. More... | |
void | suspendActor () |
Suspend the daemon/actor. | |
Public Attributes | |
std::shared_ptr< Workunit > | workunit |
The Workunit this WorkunitExecutor is supposed to perform. | |
![]() | |
std::string | hostname |
The name of the host on which the daemon is running. | |
std::string | initial_mailbox_name |
The initial name of the daemon's mailbox. | |
LifeSaver * | life_saver = nullptr |
The daemon's life saver. | |
std::string | mailbox_name |
The current name of the daemon's mailbox. | |
std::string | process_name |
The name of the daemon. | |
Simulation * | simulation |
a pointer to the simulation object | |
Additional Inherited Members | |
![]() | |
enum | State { UP, DOWN, SUSPENDED } |
Daemon states. More... | |
![]() | |
static void | cleanupTrackedServices () |
Go through the tracked services and remove all entries with a refcount of 1! | |
static void | clearTrackedServices () |
Forget all tracked services. | |
static void | increaseNumCompletedServicesCount () |
Increase the completed service count. | |
![]() | |
Service (std::string hostname, std::string process_name_prefix, std::string mailbox_name_prefix) | |
Constructor. More... | |
~Service () | |
Destructor. | |
template<class T > | |
std::shared_ptr< T > | getSharedPtr () |
Method to retrieve the shared_ptr to a service. More... | |
void | serviceSanityCheck () |
Check whether the service is properly configured and running. More... | |
void | setMessagePayload (std::string, double) |
Set a message payload of the Service. More... | |
void | setMessagePayloads (std::map< std::string, double > default_messagepayload_values, std::map< std::string, double > overriden_messagepayload_values) |
Set default and user-defined message payloads. More... | |
void | setProperties (std::map< std::string, std::string > default_property_values, std::map< std::string, std::string > overriden_property_values) |
Set default and user-defined properties. More... | |
void | setProperty (std::string, std::string) |
Set a property of the Service. More... | |
![]() | |
void | acquireDaemonLock () |
Lock the daemon's lock. | |
void | killActor () |
Kill the daemon/actor (does nothing if already dead) More... | |
void | releaseDaemonLock () |
Unlock the daemon's lock. | |
void | runMainMethod () |
Method that run's the user-defined main method (that's called by the S4U actor class) | |
![]() | |
static void | assertServiceIsUp (std::shared_ptr< Service > s) |
Assert for the service being up. More... | |
template<class T > | |
static std::shared_ptr< T > | getServiceByName (std::string name) |
Method to retrieve the shared_ptr to a service based on the service's name (not efficient) More... | |
![]() | |
std::map< std::string, double > | messagepayload_list |
The service's messagepayload list. | |
std::string | name |
The service's name. | |
double | network_timeout = 30.0 |
The time (in seconds) after which a service that doesn't send back a reply (control) message causes a NetworkTimeOut exception. (default: 30 second; if <0 never timeout) | |
std::map< std::string, std::string > | property_list |
The service's property list. | |
![]() | |
unsigned int | num_starts = 0 |
The number of time that this daemon has started (i.e., 1 + number of restarts) | |
State | state |
The service's state. | |
An service that performs a WorkUnit.
wrench::WorkunitExecutor::WorkunitExecutor | ( | std::string | hostname, |
unsigned long | num_cores, | ||
double | ram_utilization, | ||
std::string | callback_mailbox, | ||
std::shared_ptr< Workunit > | workunit, | ||
std::shared_ptr< StorageService > | scratch_space, | ||
std::shared_ptr< StandardJob > | job, | ||
double | thread_startup_overhead, | ||
bool | simulate_computation_as_sleep | ||
) |
Constructor.
hostname | the name of the host on which the workunit execution will run |
num_cores | the number of cores available to the workunit executor |
ram_utilization | the number of bytes of RAM used by the service |
callback_mailbox | the callback mailbox to which a "work done" or "work failed" message will be sent |
workunit | the work unit to perform |
scratch_space | the service's scratch storage service (nullptr if none) |
job | the SandardJob the workunit corresponds to |
thread_startup_overhead | the thread_startup overhead, in seconds |
simulate_computation_as_sleep | simulate computation as a sleep instead of an actual compute thread (for simulation scalability reasons) |
std::set< WorkflowFile * > wrench::WorkunitExecutor::getFilesStoredInScratch | ( | ) |
Retrieve the list of files stored in scratch space storage.
std::shared_ptr< StandardJob > wrench::WorkunitExecutor::getJob | ( | ) |
Retrieve the job the WorkunitExecutor is working for.
double wrench::WorkunitExecutor::getMemoryUtilization | ( | ) |
Returns the RAM the service has been allocated.
unsigned long wrench::WorkunitExecutor::getNumCores | ( | ) |
Returns the number of cores the service has been allocated.
void wrench::WorkunitExecutor::kill | ( | bool | job_termination | ) |
Kill the worker thread.
job_termination | if the reason for being killed is that the job was terminated by the submitter (as opposed to being terminated because the above service was also terminated). |