WMS.h
70 std::shared_ptr<EnergyMeter> createEnergyMeter(const std::map<std::string, double> &measurement_periods);
71 std::shared_ptr<EnergyMeter> createEnergyMeter(const std::vector<std::string> &hostnames, double measurement_period);
112 // std::set<std::shared_ptr<CloudComputeService>> getAvailableComputeServices<CloudComputeService>() {
void runDynamicOptimizations()
Perform dynamic optimizations. Optimizations are executed in order of insertion.
Definition: WMS.cpp:117
std::shared_ptr< FileRegistryService > getAvailableFileRegistryService()
Obtain the file registry service available to the WMS.
Definition: WMS.cpp:155
void checkDeferredStart()
Check whether the WMS has a deferred start simulation time (likely the first call in the main() routi...
Definition: WMS.cpp:87
virtual void processEventPilotJobStart(std::shared_ptr< PilotJobStartedEvent >)
Process a pilot job start event.
Definition: WMS.cpp:225
virtual void processEventPilotJobExpiration(std::shared_ptr< PilotJobExpiredEvent >)
Process a pilot job expiration event.
Definition: WMS.cpp:234
std::shared_ptr< DataMovementManager > createDataMovementManager()
Instantiate and start a data movement manager.
Definition: WMS.cpp:326
virtual void processEventTimer(std::shared_ptr< TimerEvent >)
Process a timer event.
Definition: WMS.cpp:261
PilotJobScheduler * getPilotJobScheduler()
Get the WMS's pilot scheduler.
Definition: WMS.cpp:381
A (mostly virtual) base class for implementing PilotJob scheduling algorithms to be used by a WMS...
Definition: PilotJobScheduler.h:26
A service that can be added to the simulation and that can be used by a WMS when executing a workflow...
Definition: Service.h:26
virtual void processEventStandardJobFailure(std::shared_ptr< StandardJobFailedEvent >)
Process a standard job failure event.
Definition: WMS.cpp:216
A cloud-based compute service that manages a set of physical hosts and controls access to their resou...
Definition: CloudComputeService.h:37
A virtualized cluster-based compute service.
Definition: VirtualizedClusterComputeService.h:28
std::set< std::shared_ptr< StorageService > > getAvailableStorageServices()
Obtain the list of compute services available to the WMS.
Definition: WMS.cpp:137
std::shared_ptr< EnergyMeter > createEnergyMeter(const std::map< std::string, double > &measurement_periods)
Instantiate and start an energy meter.
Definition: WMS.cpp:352
StandardJobScheduler * getStandardJobScheduler()
Get the WMS's pilot scheduler.
Definition: WMS.cpp:390
void addWorkflow(Workflow *workflow, double start_time=0)
Assign a workflow to the WMS.
Definition: WMS.cpp:272
WMS(std::unique_ptr< StandardJobScheduler > standard_job_scheduler, std::unique_ptr< PilotJobScheduler > pilot_job_scheduler, const std::set< std::shared_ptr< ComputeService >> &compute_services, const std::set< std::shared_ptr< StorageService >> &storage_services, const std::set< std::shared_ptr< NetworkProximityService >> &network_proximity_services, std::shared_ptr< FileRegistryService > file_registry_service, const std::string &hostname, const std::string suffix)
Constructor: a WMS with a workflow instance, a scheduler implementation, and a list of compute servic...
Definition: WMS.cpp:43
std::string hostname
The name of the host on which the daemon is running.
Definition: S4U_Daemon.h:51
A class that provides basic simulation methods. Once the simulation object has been explicitly or imp...
Definition: Simulation.h:45
void addDynamicOptimization(std::unique_ptr< DynamicOptimization >)
Add a dynamic optimization to the list of optimizations. Optimizations are executed in order of inser...
Definition: WMS.cpp:67
A helper daemon (co-located with a WMS) that handles data movement operations.
Definition: DataMovementManager.h:31
std::set< std::shared_ptr< NetworkProximityService > > getAvailableNetworkProximityServices()
Obtain the list of network proximity services available to the WMS.
Definition: WMS.cpp:146
virtual void processEventFileCopyFailure(std::shared_ptr< FileCopyFailedEvent >)
Process a file copy failure event.
Definition: WMS.cpp:252
virtual void processEventStandardJobCompletion(std::shared_ptr< StandardJobCompletedEvent >)
Process a standard job completion event.
Definition: WMS.cpp:206
void setTimer(double date, std::string message)
Sets a timer (which, when it goes off, will generate a TimerEvent)
Definition: WMS.cpp:399
virtual void processEventFileCopyCompletion(std::shared_ptr< FileCopyCompletedEvent >)
Process a file copy completion event.
Definition: WMS.cpp:243
void waitForAndProcessNextEvent()
Wait for a workflow execution event and then call the associated function to process that event...
Definition: WMS.cpp:162
A (mostly virtual) base class for implementing StandardJob scheduling algorithms to be used by a WMS...
Definition: StandardJobScheduler.h:31
A helper daemon (co-located with and explicitly started by a WMS), which is used to handle all job ex...
Definition: JobManager.h:40
Workflow * getWorkflow()
Get the workflow that was assigned to the WMS.
Definition: WMS.cpp:297
std::set< std::shared_ptr< T > > getAvailableComputeServices()
Obtain the list of compute services available to the WMS.
Definition: WMS.h:83
std::shared_ptr< JobManager > createJobManager()
Instantiate and start a job manager.
Definition: WMS.cpp:305
void addStaticOptimization(std::unique_ptr< StaticOptimization >)
Add a static optimization to the list of optimizations. Optimizations are executed in order of insert...
Definition: WMS.cpp:77
void runStaticOptimizations()
Perform static optimizations. Optimizations are executed in order of insertion.
Definition: WMS.cpp:126
Definition: Alarm.cpp:19