wrench::ExecutionController
-
class ExecutionController : public wrench::Service
An abstraction of an execution controller, i.e., a running process that interacts with other services to accomplish some computational goal.
Subclassed by wrench::ActionExecutor, wrench::WorkloadTraceFileReplayer, wrench::WorkloadTraceFileReplayerEventReceiver
Public Functions
-
std::shared_ptr<BandwidthMeterService> createBandwidthMeter(const std::map<std::string, double> &measurement_periods)
Instantiate and start a bandwidth meter.
- Parameters
measurement_periods – the measurement period for each metered link
- Returns
a link meter
-
std::shared_ptr<BandwidthMeterService> createBandwidthMeter(const std::vector<std::string> &linknames, double measurement_period)
Instantiate and start a bandwidth meter.
- Parameters
linknames – the list of metered links
measurement_period – the measurement period
- Returns
a link meter
-
virtual std::shared_ptr<DataMovementManager> createDataMovementManager()
Instantiate and start a data movement manager.
- Returns
a data movement manager
-
std::shared_ptr<EnergyMeterService> createEnergyMeter(const std::map<std::string, double> &measurement_periods)
Instantiate and start an energy meter.
- Parameters
measurement_periods – the measurement period for each metered host
- Returns
an energy meter
-
std::shared_ptr<EnergyMeterService> createEnergyMeter(const std::vector<std::string> &hostnames, double measurement_period)
Instantiate and start an energy meter.
- Parameters
hostnames – the list of metered hosts, as hostnames
measurement_period – the measurement period
- Returns
an energy meter
-
virtual std::shared_ptr<JobManager> createJobManager()
Instantiate and start a job manager.
- Returns
a job manager
Process a standard job completion event.
- Parameters
event – a CompoundJobCompletedEvent
Process a standard job failure event.
- Parameters
event – a CompoundJobFailedEvent
Process a file copy completion event.
- Parameters
event – a FileCopyCompletedEvent
Process a file copy failure event.
- Parameters
event – a FileCopyFailedEvent
Process a pilot job expiration event.
- Parameters
event – a PilotJobExpiredEvent
Process a pilot job start event.
- Parameters
event – a PilotJobStartedEvent
Process a standard job completion event.
- Parameters
event – a StandardJobCompletedEvent
Process a standard job failure event.
- Parameters
event – a StandardJobFailedEvent
Process a timer event.
- Parameters
event – a TimerEvent
-
void waitForAndProcessNextEvent()
Wait for an execution event and then call the associated function to process that event.
-
bool waitForAndProcessNextEvent(double timeout)
Wait for an execution event and then call the associated function to process that event.
- Parameters
timeout – a timeout value in seconds
- Throws
wrench::ExecutionException –
- Returns
false if a timeout occurred (in which case no event was received/processed)
-
std::shared_ptr<ExecutionEvent> waitForNextEvent()
Wait for an execution event.
- Returns
the event
-
std::shared_ptr<ExecutionEvent> waitForNextEvent(double timeout)
Wait for an execution event.
- Parameters
timeout – a timeout value in seconds
- Returns
the event
-
std::shared_ptr<BandwidthMeterService> createBandwidthMeter(const std::map<std::string, double> &measurement_periods)