wrench::DataMovementManager Class Reference

A helper daemon (co-located with a WMS) that handles data movement operations. More...

#include <DataMovementManager.h>

Inheritance diagram for wrench::DataMovementManager:
wrench::Service wrench::S4U_Daemon

Public Member Functions

void doSynchronousFileCopy (WorkflowFile *file, StorageService *src, StorageService *dst, FileRegistryService *file_registry_service=nullptr)
 Ask the data manager to perform a synchronous file copy. More...
 
void doSynchronousFileCopy (WorkflowFile *file, StorageService *src, std::string src_partition, StorageService *dst, std::string dst_partition, FileRegistryService *file_registry_service=nullptr)
 Ask the data manager to perform a synchronous file copy. More...
 
void initiateAsynchronousFileCopy (WorkflowFile *file, StorageService *src, StorageService *dst, FileRegistryService *file_registry_service=nullptr)
 Ask the data manager to initiate an asynchronous file copy. More...
 
void initiateAsynchronousFileCopy (WorkflowFile *file, StorageService *src, std::string src_partition, StorageService *dst, std::string dst_partition, FileRegistryService *file_registry_service=nullptr)
 Ask the data manager to initiate an asynchronous file copy. More...
 
void kill ()
 Kill the manager (brutally terminate the daemon)
 
void stop ()
 Stop the manager. More...
 
- 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...
 
- 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.
 

Protected Member Functions

 DataMovementManager (WMS *wms)
 Constructor. 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)
 

Additional Inherited Members

- Public Types inherited from wrench::Service
enum  State { UP, DOWN }
 Service states. More...
 
- 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.
 
Simulationsimulation
 a pointer to the simulation object
 
- 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

A helper daemon (co-located with a WMS) that handles data movement operations.

Constructor & Destructor Documentation

◆ DataMovementManager()

wrench::DataMovementManager::DataMovementManager ( WMS wms)
explicitprotected

Constructor.

Parameters
wmsthe WMS that uses this data movement manager

Member Function Documentation

◆ doSynchronousFileCopy() [1/2]

void wrench::DataMovementManager::doSynchronousFileCopy ( WorkflowFile file,
StorageService src,
StorageService dst,
FileRegistryService file_registry_service = nullptr 
)

Ask the data manager to perform a synchronous file copy.

Parameters
filethe file to copy
srcthe source storage service (using the "/" partition)
dstthe destination storage service (using the "/" partition)
file_registry_servicea file registry service to update once the file copy has (successfully) completed (none if nullptr)
Exceptions
std::invalid_argument
WorkflowExecutionException

◆ doSynchronousFileCopy() [2/2]

void wrench::DataMovementManager::doSynchronousFileCopy ( WorkflowFile file,
StorageService src,
std::string  src_partition,
StorageService dst,
std::string  dst_partition,
FileRegistryService file_registry_service = nullptr 
)

Ask the data manager to perform a synchronous file copy.

Parameters
filethe file to copy
srcthe source storage service
dstthe destination storage service
file_registry_servicea file registry service to update once the file copy has (successfully) completed (none if nullptr)
Exceptions
std::invalid_argument
WorkflowExecutionException

◆ initiateAsynchronousFileCopy() [1/2]

void wrench::DataMovementManager::initiateAsynchronousFileCopy ( WorkflowFile file,
StorageService src,
StorageService dst,
FileRegistryService file_registry_service = nullptr 
)

Ask the data manager to initiate an asynchronous file copy.

Parameters
filethe file to copy
srcthe source storage service (using the "/" partition)
dstthe destination storage service (using the "/" partition)
file_registry_servicea file registry service to update once the file copy has (successfully) completed (none if nullptr)
Exceptions
std::invalid_argument
WorkflowExecutionException

◆ initiateAsynchronousFileCopy() [2/2]

void wrench::DataMovementManager::initiateAsynchronousFileCopy ( WorkflowFile file,
StorageService src,
std::string  src_partition,
StorageService dst,
std::string  dst_partition,
FileRegistryService file_registry_service = nullptr 
)

Ask the data manager to initiate an asynchronous file copy.

Parameters
filethe file to copy
srcthe source storage service
src_partitionthe source partition
dstthe destination storage service
dst_partitionthe destination partition
file_registry_servicea file registry service to update once the file copy has (successfully) completed (none if nullptr)
Exceptions
std::invalid_argument
WorkflowExecutionException

◆ stop()

void wrench::DataMovementManager::stop ( )
virtual

Stop the manager.

Exceptions
WorkflowExecutionException
std::runtime_error

Reimplemented from wrench::Service.


The documentation for this class was generated from the following files:
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/include/wrench/managers/DataMovementManager.h
  • /Users/rafsilva/Documents/isi/workspace/wrench/wrench/src/wrench/managers/DataMovementManager.cpp