wrench::WorkunitExecutor Class Reference
An service that performs a WorkUnit. More...
#include <WorkunitExecutor.h>
Inheritance diagram for wrench::WorkunitExecutor:
Public Member Functions | |
WorkunitExecutor (Simulation *simulation, std::string hostname, unsigned long num_cores, double ram_utilization, std::string callback_mailbox, Workunit *workunit, StorageService *scratch_space, 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... | |
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 () |
Kill the worker thread. | |
Public Member Functions inherited from wrench::Service | |
std::string | getHostname () |
Get the name of the host on which the service is / will be running. More... | |
double | getMessagePayloadValueAsDouble (std::string) |
Get a message payload of the Service as a double. More... | |
std::string | getMessagePayloadValueAsString (std::string) |
Get a message payload of the Service as a string. 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... | |
bool | isUp () |
Returns true if the service is UP, false otherwise. 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... | |
Public Member Functions inherited from wrench::S4U_Daemon | |
S4U_Daemon (std::string hostname, std::string process_name_prefix, std::string mailbox_prefix) | |
Constructor (daemon with a mailbox) More... | |
virtual | ~S4U_Daemon () |
Constructor (daemon without a mailbox) More... | |
virtual void | cleanup () |
Cleanup function called when the daemon terminates (for whatever reason) | |
void | createLifeSaver (std::shared_ptr< S4U_Daemon > reference) |
Create a life saver for the daemon. More... | |
std::string | getName () |
Retrieve the process name. More... | |
bool | hasCleanlyTerminated () |
Returned the terminated status of the daemon/actor. | |
bool | isSetToAutoRestart () |
Return the auto-restart status of the daemon. More... | |
bool | join () |
Join (i.e., wait for) the daemon. More... | |
void | resume () |
Resume the daemon/actor. | |
void | setCleanlyTerminated () |
Set the terminated status of the daemon/actor. | |
void | startDaemon (bool daemonized, bool auto_restart) |
Start the daemon. More... | |
void | suspend () |
Suspend the daemon/actor. | |
Public Attributes | |
Workunit * | workunit |
The Workunit this WorkunitExecutor is supposed to perform. | |
Public Attributes inherited from wrench::S4U_Daemon | |
std::string | hostname |
The name of the host on which the daemon is running. | |
LifeSaver * | life_saver = nullptr |
The daemon's life saver. | |
std::string | mailbox_name |
The 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 | |
Public Types inherited from wrench::Service | |
enum | State { UP, DOWN } |
Service states. More... | |
Protected Member Functions inherited from wrench::Service | |
Service (std::string hostname, std::string process_name_prefix, std::string mailbox_name_prefix) | |
Constructor. More... | |
void | serviceSanityCheck () |
Check whether the service is properly configured and running. More... | |
void | setMessagePayload (std::string, std::string) |
Set a message payload of the Service. More... | |
void | setMessagePayloads (std::map< std::string, std::string > default_messagepayload_values, std::map< std::string, std::string > 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... | |
Protected Member Functions inherited from wrench::S4U_Daemon | |
void | acquireDaemonLock () |
Lock the daemon's lock. | |
void | killActor () |
Kill the daemon/actor. | |
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) | |
Protected Attributes inherited from wrench::Service | |
std::map< std::string, std::string > | 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. | |
State | state |
The service's state. | |
Protected Attributes inherited from wrench::S4U_Daemon | |
unsigned int | num_starts = 0 |
Detailed Description
An service that performs a WorkUnit.
Constructor & Destructor Documentation
◆ WorkunitExecutor()
wrench::WorkunitExecutor::WorkunitExecutor | ( | Simulation * | simulation, |
std::string | hostname, | ||
unsigned long | num_cores, | ||
double | ram_utilization, | ||
std::string | callback_mailbox, | ||
Workunit * | workunit, | ||
StorageService * | scratch_space, | ||
StandardJob * | job, | ||
double | thread_startup_overhead, | ||
bool | simulate_computation_as_sleep | ||
) |
Constructor.
- Parameters
-
simulation a pointer to the simulation object 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)
Member Function Documentation
◆ getFilesStoredInScratch()
std::set< WorkflowFile * > wrench::WorkunitExecutor::getFilesStoredInScratch | ( | ) |
Retrieve the list of files stored in scratch space storage.
- Returns
- a list of files
◆ getJob()
StandardJob * wrench::WorkunitExecutor::getJob | ( | ) |
Retrieve the job the WorkunitExecutor is working for.
- Returns
- a job
◆ getMemoryUtilization()
double wrench::WorkunitExecutor::getMemoryUtilization | ( | ) |
Returns the RAM the service has been allocated.
- Returns
- a number of bytes
◆ getNumCores()
unsigned long wrench::WorkunitExecutor::getNumCores | ( | ) |
Returns the number of cores the service has been allocated.
- Returns
- a number of cores
The documentation for this class was generated from the following files:
- /Users/rafsilva/Documents/isi/workspace/wrench/wrench/include/wrench/services/compute/workunit_executor/WorkunitExecutor.h
- /Users/rafsilva/Documents/isi/workspace/wrench/wrench/src/wrench/services/compute/work_unit_executor/WorkunitExecutor.cpp