WRENCH  1.11
Cyberinfrastructure Simulation Workbench
Overview Installation Getting Started WRENCH 101 WRENCH 102
Classes | Typedefs | Functions | Variables
wrench Namespace Reference

Classes

class  Action
 An abstract class that implements the concept of an action. More...
 
class  ActionExecutionService
 An action execution service that: More...
 
class  ActionExecutionServiceActionDoneMessage
 A message sent by an ActionExecutionService to notify of an action's completion. More...
 
class  ActionExecutionServiceMessage
 Top-level class for messages received/sent by a ActionExecutionService. More...
 
class  ActionExecutionServiceProperty
 Configurable properties for a ActionExecutionService. More...
 
class  ActionExecutionServiceSubmitActionAnswerMessage
 A message sent by an ActionExecutionService in answer to an Action submission. More...
 
class  ActionExecutionServiceSubmitActionRequestMessage
 A message sent to an ActionExecutionService to submit an Action. More...
 
class  ActionExecutionServiceTerminateActionAnswerMessage
 A message sent by an ActionExecutionService in response to an action termination. More...
 
class  ActionExecutionServiceTerminateActionRequestMessage
 A message sent to an ActionExecutionService to terminate an Action. More...
 
class  ActionExecutor
 An service that performs an Action. More...
 
class  ActionExecutorDoneMessage
 A message sent by an ActionExecutor when it's successfully completed an action. More...
 
class  ActionExecutorMessage
 Top-level class for messages received/sent by an ActionExecutor. More...
 
class  Alarm
 A one-shot service that sends a message to a mailbox after some specified amount of time and terminates. More...
 
class  AlarmJobTimeOutMessage
 A message sent by an alarm when a job goes over its requested execution time. More...
 
class  AmdahlParallelModel
 A class that defines an Amdahl's Law-based parallel task performance model. More...
 
class  BandwidthMeterService
 A service that measures and records bandwidth usage on a set of links at regular time intervals. More...
 
class  BareMetalComputeService
 A compute service that manages a set of multi-core compute hosts and provides access to their resources. More...
 
class  BareMetalComputeServiceMessagePayload
 Configurable message payloads for a MultiHostMulticoreComputeService. More...
 
class  BareMetalComputeServiceOneShot
 A bare-metal compute service that only runs one job, provided to its constructor. More...
 
class  BareMetalComputeServiceProperty
 Configurable properties for a bare_metal_standard_jobs. More...
 
class  BatchComputeService
 A batch_standard_and_pilot_jobs-scheduled compute service that manages a set of compute hosts and controls access to their resource via a batch_standard_and_pilot_jobs queue. More...
 
class  BatchComputeServiceJobRequestMessage
 A message sent to a BatchComputeService to submit a batch_standard_and_pilot_jobs job for execution. More...
 
class  BatchComputeServiceMessage
 Top-level class for messages received/sent by a BatchComputeService. More...
 
class  BatchComputeServiceMessagePayload
 Configurable message payloads for a batch_standard_and_pilot_jobs. More...
 
class  BatchComputeServiceProperty
 Configurable properties for a BatchComputeService. More...
 
class  BatchExecuteJobFromBatSchedMessage
 A message sent by a BatschedNetworkListener to a Batsched-enabled BatchComputeService to tell it to start a job execution, passing it the JSON reply received from Batsched. More...
 
class  BatchJob
 A batch_standard_and_pilot_jobs job, which encapsulates a Job and additional information used by a batch_standard_and_pilot_jobs. More...
 
class  BatchQueryAnswerMessage
 A message send by a BatschedNetworkListener to a Batsched-enabled BatchComputeService with a job start time estimate obtained from Batsched. More...
 
class  BatchScheduler
 An abstract class that defines a batch_standard_and_pilot_jobs scheduler. More...
 
class  BatschedBatchScheduler
 A class that defines a batsched batch_standard_and_pilot_jobs scheduler. More...
 
class  BatschedNetworkListener
 An empty class to make Doxygen happy when Batsched is not enabled. More...
 
class  Block
 A class that implements a "block" abstraction for memory management. More...
 
class  CentralManagerWakeUpMessage
 A message received by a HTCondorCentralManagerService so that it wakes up and tries to dispatch jobs again. More...
 
class  CloudComputeService
 A cloud-based compute service that manages a set of physical hosts and controls access to their resources by (transparently) executing jobs in VM instances. More...
 
class  CloudComputeServiceCreateVMAnswerMessage
 A message sent by a CloudComputeService in answer to a VM creation request. More...
 
class  CloudComputeServiceCreateVMRequestMessage
 A message sent to a CloudComputeService to request a VM creation. More...
 
class  CloudComputeServiceDestroyVMAnswerMessage
 A message sent by a CloudComputeService in answer to a VM destroy request. More...
 
class  CloudComputeServiceDestroyVMRequestMessage
 A message sent to a CloudComputeService to request a VM destruction. More...
 
class  CloudComputeServiceGetExecutionHostsAnswerMessage
 A message sent by a CloudComputeService in answer to a list of execution hosts request. More...
 
class  CloudComputeServiceGetExecutionHostsRequestMessage
 A message sent to a CloudComputeService to request the list of its execution hosts. More...
 
class  CloudComputeServiceMessage
 Top-level class for messages received/sent by a CloudComputeService. More...
 
class  CloudComputeServiceMessagePayload
 Configurable message payloads for a CloudService. More...
 
class  CloudComputeServiceProperty
 Configurable properties for a CloudComputeService. More...
 
class  CloudComputeServiceResumeVMAnswerMessage
 A message sent by a CloudComputeService in answer to a VM resume request. More...
 
class  CloudComputeServiceResumeVMRequestMessage
 A message sent to a CloudComputeService to request a VM resume. More...
 
class  CloudComputeServiceShutdownVMAnswerMessage
 A message sent by a CloudComputeService in answer to a VM shutdown request. More...
 
class  CloudComputeServiceShutdownVMRequestMessage
 A message sent to a CloudComputeService to request a VM shutdown. More...
 
class  CloudComputeServiceStartVMAnswerMessage
 A message sent by a CloudComputeService in answer to a VM start request. More...
 
class  CloudComputeServiceStartVMRequestMessage
 A message sent to a CloudComputeService to request a VM start. More...
 
class  CloudComputeServiceSuspendVMAnswerMessage
 A message sent by a CloudComputeService in answer to a VM suspend request. More...
 
class  CloudComputeServiceSuspendVMRequestMessage
 A message sent to a CloudComputeService to request a VM suspend. More...
 
class  CompoundJob
 A compound job. More...
 
class  CompoundJobCompletedEvent
 A "compound job has completed" ExecutionEvent. More...
 
class  CompoundJobFailedEvent
 A "standard job has failed" ExecutionEvent. More...
 
class  ComputeAction
 A class that implements a compute action. More...
 
class  ComputeService
 The compute service base class. More...
 
class  ComputeServiceCompoundJobDoneMessage
 A message sent by a ComputeService when a CompoundJob has completed execution. More...
 
class  ComputeServiceCompoundJobFailedMessage
 A message sent by a ComputeService when a CompoundJob has failed to execute. More...
 
class  ComputeServiceIsThereAtLeastOneHostWithAvailableResourcesAnswerMessage
 A message sent by a ComputeService in answer to a "does at least one host have these available resources" request. More...
 
class  ComputeServiceIsThereAtLeastOneHostWithAvailableResourcesRequestMessage
 A message sent to a ComputeService to asks if at least one host has some available resources right now. More...
 
class  ComputeServiceMessage
 Top-level class for messages received/sent by a ComputeService. More...
 
class  ComputeServiceMessagePayload
 Configurable message payloads for a ComputeService. More...
 
class  ComputeServicePilotJobExpiredMessage
 A message sent by a ComputeService when a PilotJob has expired. More...
 
class  ComputeServicePilotJobFailedMessage
 A message sent by a ComputeService when a PilotJob has failed. More...
 
class  ComputeServicePilotJobStartedMessage
 A message sent by a ComputeService when a PilotJob has started its execution. More...
 
class  ComputeServiceProperty
 Configurable properties for a ComputeService. More...
 
class  ComputeServiceResourceInformationAnswerMessage
 A message sent by a ComputeService in answer to a resource information request. More...
 
class  ComputeServiceResourceInformationRequestMessage
 A message sent to a ComputeService to request information on its compute resources. More...
 
class  ComputeServiceSubmitCompoundJobAnswerMessage
 A message sent by a ComputeService in answer to a CompoundJob submission request. More...
 
class  ComputeServiceSubmitCompoundJobRequestMessage
 A message sent to a ComputeService to submit a CompoundJob for execution. More...
 
class  ComputeServiceTerminateCompoundJobAnswerMessage
 A message sent by a ComputeService in answer to a CompoundJob termination request. More...
 
class  ComputeServiceTerminateCompoundJobRequestMessage
 A message sent to a ComputeService to terminate a CompoundJob previously submitted for execution. More...
 
class  ComputeServiceTerminatePilotJobAnswerMessage
 A message sent by a ComputeService in answer to a PilotJob termination request. More...
 
class  ComputeServiceTerminatePilotJobRequestMessage
 A message sent to a ComputeService to terminate a PilotJob previously submitted for execution. More...
 
class  ComputeThread
 A one-shot service that simulates a CPU-bound thread that performs a given number of flops and then reports to some mailbox saying "I am done". More...
 
class  ComputeThreadDoneMessage
 A message sent by a ComputeTherad when it's successfully completed. More...
 
class  ComputeThreadHasDied
 A "compute thread has died" failure cause. More...
 
class  ComputeThreadMessage
 Top-level class for messages received/sent by an ComputeThread. More...
 
class  ConservativeBackfillingBatchScheduler
 A class that defines a conservative backfilling batch_standard_and_pilot_jobs scheduler. More...
 
class  ConservativeBackfillingBatchSchedulerCoreLevel
 A class that defines a conservative backfilling batch_standard_and_pilot_jobs scheduler. More...
 
class  ConstantEfficiencyParallelModel
 A class the implemens a constant-efficiency parallel task performance model. More...
 
class  CoordinateLookupAnswerMessage
 A message sent by a NetworkProximityService in answer to a coordinate lookup request. More...
 
class  CoordinateLookupRequestMessage
 A message sent to a NetworkProximityService to request a coordinate lookup. More...
 
class  CustomAction
 A class that implements a custom action. More...
 
class  CustomParallelModel
 A class that defines a custom parallel task performance model. More...
 
class  DagOfTasks
 An internal class that uses the Boost Graph Library to implement a DAG of WorkflowTask objects. More...
 
class  DataFile
 A data file used/produced by a WorkflowTask in a Workflow. More...
 
class  DataMovementManager
 A helper daemon (co-located with an execution controler) that handles data movement operations. More...
 
class  EnergyMeterService
 A service that measures and records energy consumption on a set of hosts at regular time intervals. More...
 
class  ExecutionController
 An abstraction of an execution controller, i.e., a running process that interacts with other services to accomplish some computational goal. More...
 
class  ExecutionControllerAlarmTimerMessage
 Message sent when a timer set by a ExecutionController goes off. More...
 
class  ExecutionControllerMessage
 Top-level class for messages received/sent by a ExecutionController. More...
 
class  ExecutionEvent
 A class to represent the various execution events that are relevant to the execution of a workflow. More...
 
class  ExecutionException
 An generic exception that is thrown whenever something unexpected (but simulation-valid) occurs during the simulated execution of a WMS. More...
 
class  FailureCause
 A top-level class to describe all simulation-valid failures that can occur during workflow execution (and should/could be handled by a WMS) More...
 
class  FatalFailure
 An "Unknown" failure cause (should not happen) More...
 
class  FCFSBatchScheduler
 A class that implements a FCFS batch_standard_and_pilot_jobs scheduler. More...
 
class  FileAlreadyBeingCopied
 A "file is already being copied" failure cause. More...
 
class  FileCopyAction
 A class that implements a file copy action. More...
 
class  FileCopyCompletedEvent
 A "file copy has completed" ExecutionEvent. More...
 
class  FileCopyFailedEvent
 A "file copy has failed" ExecutionEvent. More...
 
class  FileDeleteAction
 A class that implements a file deletion action. More...
 
class  FileLocation
 A class that encodes a file location. More...
 
class  FileNotFound
 A "file was not found" failure cause. More...
 
class  FileReadAction
 A class that implements a file read action. More...
 
class  FileRegistryAction
 A class that implements a file registry (abstract) action. More...
 
class  FileRegistryAddEntryAction
 A class that implements a file registry (add entry) action. More...
 
class  FileRegistryAddEntryAnswerMessage
 A message sent by a FileRegistryService in answer to an entry addition request. More...
 
class  FileRegistryAddEntryRequestMessage
 A message sent to a FileRegistryService to request the addition of an entry. More...
 
class  FileRegistryDeleteEntryAction
 A class that implements a file registry (delete entry) action. More...
 
class  FileRegistryFileLookupAnswerMessage
 A message sent by a FileRegistryService in answer to a file lookup request. More...
 
class  FileRegistryFileLookupByProximityAnswerMessage
 A message sent by a FileRegistryService in answer to a file lookup request, in which file locations are sorted by decreasing proximity to some reference host. More...
 
class  FileRegistryFileLookupByProximityRequestMessage
 A message sent to a FileRegistryService to request a file lookup, expecting a reply in which file locations are sorted by decreasing proximity to some reference host. More...
 
class  FileRegistryFileLookupRequestMessage
 A message sent to a FileRegistryService to request a file lookup. More...
 
class  FileRegistryMessage
 Top-level FileRegistryMessage class. More...
 
class  FileRegistryRemoveEntryAnswerMessage
 A message sent by a FileRegistryService in answer to an entry removal request. More...
 
class  FileRegistryRemoveEntryRequestMessage
 A message sent to a FileRegistryService to request the removal of an entry. More...
 
class  FileRegistryService
 A file registry service (a.k.a. replica catalog) that holds a database of which files are available at which storage services. Specifically, the database holds a set of <file, storage service> entries. A WMS can add, lookup, and remove entries at will from this database. More...
 
class  FileRegistryServiceMessagePayload
 Configurable message payload for a FileRegistryService. More...
 
class  FileRegistryServiceProperty
 Configurable properties for a FileRegistryService. More...
 
class  FileTransferThread
 A helper class that implements the concept of a communication thread that performs a file transfer. More...
 
class  FileTransferThreadMessage
 Top-level class for messages received/sent by a DataCommunicationThread. More...
 
class  FileTransferThreadNotificationMessage
 A message sent to by a FileTransferThread to report on success/failure of the transfer. More...
 
class  FileWriteAction
 A class that implements a file write action. More...
 
class  FunctionalityNotAvailable
 A "requested functionality is not available on that service" failure cause. More...
 
class  HomegrownBatchScheduler
 An abstract class that defines a batch_standard_and_pilot_jobs scheduler. More...
 
class  HostError
 A "host error" failure cause (e.g., attempted to start a daemon on a host that is off) More...
 
class  HostHasChangedSpeedMessage
 A message sent by the HostStateChangeDetector to notify some listener that a host has changed speed. More...
 
class  HostHasTurnedOffMessage
 A message sent by the HostStateChangeDetector to notify some listener that a host has turned off. More...
 
class  HostHasTurnedOnMessage
 A message sent by the HostStateChangeDetector to notify some listener that a host has turned on. More...
 
class  HostStateChangeDetector
 A service that detects and reports on host state changes (turned on, turned off) More...
 
class  HostStateChangeDetectorMessage
 Top-level class for messages received/sent by a HostStateChangeDetector. More...
 
class  HostStateChangeDetectorProperty
 Configurable properties for a HostStateChangeDetector. More...
 
class  HTCondorCentralManagerService
 A HTCondor central manager service implementation. More...
 
class  HTCondorCentralManagerServiceMessage
 Top-level class for messages received/sent by a HTCondorCentralManagerService. More...
 
class  HTCondorCentralManagerServiceMessagePayload
 Configurable message payloads for an HTCondor Central Manager service. More...
 
class  HTCondorComputeService
 A workload management framework compute service. More...
 
class  HTCondorComputeServiceMessagePayload
 Configurable message payloads for an htcondor. More...
 
class  HTCondorComputeServiceProperty
 Properties for an HTCondor service. More...
 
class  HTCondorNegotiatorService
 A HTCondor negotiator service. More...
 
class  InvalidDirectoryPath
 A "unknown mount point storage service" failure cause. More...
 
class  Job
 Abstraction of a job used for executing tasks in a Workflow. More...
 
class  JobKilled
 A "job has been killed" failure cause. More...
 
class  JobManager
 A helper daemon (co-located with and explicitly started by an execution controller), which is used to handle all job executions. More...
 
class  JobManagerCompoundJobCompletedMessage
 A message sent by the JobManager to notify some submitter that a CompoundJob has completed. More...
 
class  JobManagerCompoundJobFailedMessage
 A message sent by the JobManager to notify some submitter that a CompoundJob has failed. More...
 
class  JobManagerMessage
 Top-level class for messages received/sent by a JobManager. More...
 
class  JobManagerPilotJobFailedMessage
 A message sent by the JobManager to notify some submitter that a PilotJob has failed. More...
 
class  JobManagerStandardJobCompletedMessage
 A message sent by the JobManager to notify some submitter that a StandardJob has completed. More...
 
class  JobManagerStandardJobFailedMessage
 A message sent by the JobManager to notify some submitter that a StandardJob has failed. More...
 
class  JobManagerWakeupMessage
 A message sent to a JobManager to wake it up. More...
 
class  JobTimeout
 A "job has timed out" failure cause. More...
 
class  LogicalFileSystem
 A class that implements a weak file system abstraction. More...
 
class  MemoryManager
 A class that implemnets a MemoryManager service to simulate Linux in-memory page caching for I/O operations. More...
 
class  NegotiatorCompletionMessage
 A message received by a HTCondorCentralManagerService so that it is notified of a negotiator cycle completion. More...
 
class  NetworkError
 A "network error (or endpoint is down)" failure cause. More...
 
class  NetworkProximityComputeAnswerMessage
 A message received by a NetworkProximityService that updates its database of proximity values. More...
 
class  NetworkProximityDaemon
 A daemon used by a NetworkProximityService to run network measurements (proximity is computed between two such running daemons) More...
 
class  NetworkProximityLookupAnswerMessage
 A message sent by a NetworkProximityService in answer to a network proximity lookup request. More...
 
class  NetworkProximityLookupRequestMessage
 A message sent to a NetworkProximityService to request a network proximity lookup. More...
 
class  NetworkProximityMessage
 Top-level class for messages received/sent by a NetworkProximityService. More...
 
class  NetworkProximityService
 A network proximity service that continuously estimates inter-host latencies and can be queried for such estimates. More...
 
class  NetworkProximityServiceMessagePayload
 Configurable message payloads for a NetworkProximityService. More...
 
class  NetworkProximityServiceProperty
 Configurable properties for a NetworkProximityService. More...
 
class  NetworkProximityTransferMessage
 A message sent between NetworkProximityDaemon processes to perform network measurements. More...
 
class  NextContactDaemonAnswerMessage
 A message sent by a NetworkProximityService to a NetworkProximityDaemon to tell it which other NetworkProximityDaemons it should do measurements with next. More...
 
class  NextContactDaemonRequestMessage
 A message sent to a NetworkProximityService by a NetworkProximityDaemon to ask which other NetworkProximityDaemons it should do measurements with next. More...
 
class  NoScratchSpace
 A "no scratch space" failure cause. More...
 
class  NotAllowed
 A "operation not allowed" failure cause. More...
 
class  NotEnoughResources
 A "compute service doesn't have enough cores" failure cause. More...
 
class  ParallelModel
 A virtual class (with convenient static methods) to define parallel task performance models. More...
 
class  PilotJob
 A pilot (i.e., non-standard) workflow job that can be submitted to a ComputeService by a WMS (via a JobManager) More...
 
class  PilotJobExpiredEvent
 A "pilot job has expired" ExecutionEvent. More...
 
class  PilotJobStartedEvent
 A "pilot job has started" ExecutionEvent. More...
 
class  PointerUtil
 A helper class that implements useful smart pointer operations. More...
 
class  S4U_Daemon
 A generic "running daemon" abstraction that serves as a basis for all simulated processes. More...
 
class  S4U_DaemonActor
 The S4U actor that's the foundation for the S4U_Daemon abstraction. More...
 
class  S4U_Mailbox
 Wrappers around S4U's communication methods. More...
 
class  S4U_PendingCommunication
 This is a simple wrapper class around S4U asynchronous communication checking methods. More...
 
class  S4U_Simulation
 Wrappers around S4U's basic simulation methods. More...
 
class  S4U_VirtualMachine
 A wrapper for the simgrid::s4u::VirtualMachine class. More...
 
class  Service
 A service that can be added to the simulation and that can be used by a WMS when executing a workflow. More...
 
class  ServiceDaemonStoppedMessage
 A message sent by a Service to acknowledge a terminate request. More...
 
class  ServiceHasCrashedMessage
 A message sent by the ServiceTerminationDetector to notify some listener that the monitored service has crashed. More...
 
class  ServiceHasTerminatedMessage
 A message sent by the ServiceTerminationDetector to notify some listener that the monitored service has terminated. More...
 
class  ServiceIsDown
 A "service is down" failure cause. More...
 
class  ServiceIsSuspended
 A "service is suspended" failure cause. More...
 
class  ServiceMessage
 Top-level class for messages received/sent by a Service. More...
 
class  ServiceMessagePayload
 Configurable message payloads for a Service. More...
 
class  ServiceProperty
 Configurable properties for a Service. More...
 
class  ServiceStopDaemonMessage
 A message sent to a Service to request for it to terminate. More...
 
class  ServiceTerminationDetector
 A service that immediately detects when some service crashes and then notifies some other service of the crash. More...
 
class  ServiceTerminationDetectorMessage
 Top-level class for messages received/sent by a ServiceTerminationDetector. More...
 
class  ServiceTTLExpiredMessage
 A message sent to a Service to notify it that its time-to-live has expired (which will cause the service to terminate) More...
 
class  SimpleStorageService
 A storage service that provides direct access to some storage resources (e.g., one or more disks). An important (configurable) property of the storage service is SimpleStorageServiceProperty::BUFFER_SIZE (see documentation thereof), which defines the buffer size that the storage service uses. Specifically, when the storage service receives/sends data from/to the network, it does so in a loop over data "chunks", with pipelined network and disk I/O operations. The smaller the buffer size the more "fluid" the model, but the more time-consuming the simulation. A large buffer size, however, may lead to less realistic simulations. At the extreme, an infinite buffer size would correspond to fully sequential executions (first a network receive/send, and then a disk write/read). Setting the buffer size to "0" corresponds to a fully fluid model in which individual data chunk operations are not simulated, thus achieving both accuracy (unless one specifically wishes to study the effects of buffering) and quick simulation times. For now, setting the buffer size to "0" is not implemented. The default buffer size is 10 MiB (note that the user can always declare a disk with arbitrary bandwidth in the platform description XML). More...
 
class  SimpleStorageServiceMessagePayload
 Configurable message payloads for a SimpleStorageService. More...
 
class  SimpleStorageServiceProperty
 Configurable properties for a SimpleStorageService. More...
 
class  Simulation
 A class that provides basic simulation methods. Once the simulation object has been explicitly or implicitly destroyed, then any call to the WRENCH APIs has undefied behavior (due to memory_manager_service being de-allocated). More...
 
class  SimulationMessage
 Top-level class to describe a message communicated by processes in the simulation. More...
 
class  SimulationOutput
 A class that contains post-mortem simulation-generated data. More...
 
class  SimulationTimestamp
 A time-stamped simulation event stored in SimulationOutput. More...
 
class  SimulationTimestampDiskRead
 A base class for simulation timestamps regarding disk reads. More...
 
class  SimulationTimestampDiskReadCompletion
 A simulation timestamp class for disk read completions. More...
 
class  SimulationTimestampDiskReadFailure
 A simulation timestamp class for disk read failure times. More...
 
class  SimulationTimestampDiskReadStart
 A simulation timestamp class for disk read start times. More...
 
class  SimulationTimestampDiskWrite
 A base class for simulation timestamps regarding disk writes. More...
 
class  SimulationTimestampDiskWriteCompletion
 A simulation timestamp class for disk write completions. More...
 
class  SimulationTimestampDiskWriteFailure
 A simulation timestamp class for disk write failure times. More...
 
class  SimulationTimestampDiskWriteStart
 A simulation timestamp class for disk write start times. More...
 
class  SimulationTimestampEnergyConsumption
 A simulation timestamp class for energy consumption. More...
 
class  SimulationTimestampFileCopy
 A base class for simulation timestamps regarding file copies. More...
 
class  SimulationTimestampFileCopyCompletion
 A simulation timestamp class for file copy completions. More...
 
class  SimulationTimestampFileCopyFailure
 A simulation timestamp class for file copy failure times. More...
 
class  SimulationTimestampFileCopyStart
 A simulation timestamp class for file copy start times. More...
 
class  SimulationTimestampFileRead
 A base class for simulation timestamps regarding file reads. More...
 
class  SimulationTimestampFileReadCompletion
 A simulation timestamp class for file read completions. More...
 
class  SimulationTimestampFileReadFailure
 A simulation timestamp class for file read failure times. More...
 
class  SimulationTimestampFileReadStart
 A simulation timestamp class for file read start times. More...
 
class  SimulationTimestampFileWrite
 A base class for simulation timestamps regarding file writes. More...
 
class  SimulationTimestampFileWriteCompletion
 A simulation timestamp class for file write completions. More...
 
class  SimulationTimestampFileWriteFailure
 A simulation timestamp class for file write failure times. More...
 
class  SimulationTimestampFileWriteStart
 A simulation timestamp class for file write start times. More...
 
class  SimulationTimestampLinkUsage
 A simulation timestamp class for link usage. More...
 
class  SimulationTimestampPair
 A base class for simulation timestamps. More...
 
class  SimulationTimestampPstateSet
 A simulation timestamp class for changes in a host's pstate. More...
 
class  SimulationTimestampTask
 A base class for simulation timestamps regarding workflow tasks. More...
 
class  SimulationTimestampTaskCompletion
 A simulation timestamp class for WorkflowTask completion times. More...
 
class  SimulationTimestampTaskFailure
 A simulation timestamp class for WorkflowTask failure times. More...
 
class  SimulationTimestampTaskStart
 A simulation timestamp class for WorkflowTask start times. More...
 
class  SimulationTimestampTaskTermination
 A simulation timestamp class for WorkflowTask termination times. More...
 
class  SimulationTimestampType
 File, Source, Whoami used to be hashed as key for unordered multimap for ongoing file operations. More...
 
class  SimulationTrace
 A template class to represent a trace of timestamps. More...
 
class  SimulationTrace< SimulationTimestampPstateSet >
 A specialized class to represent a trace of SimulationTimestampPstateSet timestamps. More...
 
class  SleepAction
 A class that implements a sleep action. More...
 
class  SomeActionsHaveFailed
 An "Unknown" failure cause (should not happen) More...
 
class  StandardJob
 A standard (i.e., non-pilot) workflow job that can be submitted to a ComputeService by a WMS (via a JobManager) More...
 
class  StandardJobCompletedEvent
 A "standard job has completed" ExecutionEvent. More...
 
class  StandardJobFailedEvent
 A "standard job has failed" ExecutionEvent. More...
 
class  StorageService
 The storage service base class. More...
 
class  StorageServiceAckMessage
 A message sent by a StorageService as an ack. More...
 
class  StorageServiceFileContentChunkMessage
 A message sent/received by a StorageService that has a file size as a payload. More...
 
class  StorageServiceFileCopyAnswerMessage
 A message sent by a StorageService in answer to a file copy request. More...
 
class  StorageServiceFileCopyRequestMessage
 A message sent to a StorageService to copy a file from another StorageService. More...
 
class  StorageServiceFileDeleteAnswerMessage
 A message sent by a StorageService in answer to a file deletion request. More...
 
class  StorageServiceFileDeleteRequestMessage
 A message sent to a StorageService to delete a file. More...
 
class  StorageServiceFileLookupAnswerMessage
 A message sent by a StorageService in answer to a file lookup request. More...
 
class  StorageServiceFileLookupRequestMessage
 A message sent to a StorageService to lookup a file. More...
 
class  StorageServiceFileReadAnswerMessage
 A message sent by a StorageService in answer to a file read request. More...
 
class  StorageServiceFileReadRequestMessage
 A message sent to a StorageService to read a file. More...
 
class  StorageServiceFileWriteAnswerMessage
 A message sent by a StorageService in answer to a file write request. More...
 
class  StorageServiceFileWriteRequestMessage
 A message sent to a StorageService to write a file. More...
 
class  StorageServiceFreeSpaceAnswerMessage
 A message sent by a StorageService in answer to a free space enquiry. More...
 
class  StorageServiceFreeSpaceRequestMessage
 A message sent to a StorageService to enquire about its free space. More...
 
class  StorageServiceMessage
 Top-level class for messages received/sent by a StorageService. More...
 
class  StorageServiceMessagePayload
 Configurable message payloads for a StorageService. More...
 
class  StorageServiceNotEnoughSpace
 A "not enough space on storage service" failure cause. More...
 
class  StorageServiceProperty
 Configurable properties for a StorageService. More...
 
class  TerminalOutput
 Color-enabling wrappers around Simgrid's XBT_INFO, XBT_DEBUG, XBT_WARN logging macros. More...
 
class  TimerEvent
 A "timer went off" ExecutionEvent. More...
 
class  TraceFileLoader
 A class that can load a job submission trace (a.k.a. supercomputer workload) in the SWF format (see http://www.cs.huji.ac.il/labs/parallel/workload/swf.html) and store it as a vector of simulation-relevant fields. More...
 
class  UnitParser
 A class used to part string specification of values with units into a single value (e.g., "2KB" -> 2048 bytes, "2Kb" -> 256 bytes) More...
 
struct  VertexProperties
 Data structure to store vertex properties. More...
 
class  VirtualizedClusterComputeService
 A virtualized cluster-based compute service. More...
 
class  VirtualizedClusterComputeServiceMessage
 Top-level class for messages received/sent by a VirtualizedClusterComputeService. More...
 
class  VirtualizedClusterComputeServiceMessagePayload
 Configurable message payloads for a VirtualizedClusterComputeService. More...
 
class  VirtualizedClusterComputeServiceMigrateVMAnswerMessage
 A message sent by a VirtualizedClusterComputeService in answer to a VM migration request. More...
 
class  VirtualizedClusterComputeServiceMigrateVMRequestMessage
 A message sent to a VirtualizedClusterComputeService to request a VM migration. More...
 
class  VirtualizedClusterComputeServiceProperty
 Configurable properties for a VirtualizedClusterComputeService. More...
 
class  WfCommonsWorkflowParser
 A class that implement methods to read workflow files provided by the WfCommons project. More...
 
class  Workflow
 A workflow (to be executed by a WMS) More...
 
class  WorkflowTask
 A computational task in a Workflow. More...
 
class  WorkloadTraceFileReplayer
 A service that goes through a job submission trace (as loaded by a TraceFileLoader), and "replays" it on a given BatchComputeService. More...
 
class  WorkloadTraceFileReplayerEventReceiver
 A WMS that only submits a single job to a given batch_standard_and_pilot_jobs service, which is used to implement batch_standard_and_pilot_jobs workload replay. More...
 

Typedefs

typedef boost::adjacency_list< boost::listS, boost::vecS, boost::bidirectionalS, VertexPropertiesDAG
 Convenient DAG typedef.
 
typedef unsigned long vertex_t
 Convenient vertext_t typedef.
 
typedef std::unordered_map< WRENCH_MESSAGEPAYLOAD_TYPE,double > WRENCH_MESSAGE_PAYLOADCOLLECTION_TYPE
 
typedef int WRENCH_MESSAGEPAYLOAD_TYPE
 
typedef std::map< WRENCH_PROPERTY_TYPE, std::string > WRENCH_PROPERTY_COLLECTION_TYPE
 
typedef int WRENCH_PROPERTY_TYPE
 

Functions

bool compare_last_access (Block *blk1, Block *blk2)
 Helper function to compare block by last access. More...
 
void generateHostUtilizationGraphLayout (std::vector< WorkflowTaskExecutionInstance > &data)
 Generates graph layout for host utilization and adds that information to the JSON object. More...
 
std::string generateRandomUsername (unsigned long userid)
 A method to generate a random username, so that generated workload traces look more realistic. More...
 
bool isPointOnSegment (std::pair< unsigned long long, unsigned long long > segment, unsigned long long point)
 Determines if a point lies on a line segment. More...
 
bool isSegmentOverlappingXAxis (std::pair< unsigned long long, unsigned long long > segment1, std::pair< unsigned long long, unsigned long long > segment2)
 Determines if two line segments overlap along the x-axis and allows for a slight overlap. More...
 
bool isSegmentOverlappingYAxis (std::pair< unsigned long long, unsigned long long > segment1, std::pair< unsigned long long, unsigned long long > segment2)
 Determines if two line segments overlap along the y-axis using exact values. More...
 
bool operator== (const BatchJobSet &left, const BatchJobSet &right)
 Overloaded operator. More...
 
bool operator== (const BatchJobSetCoreLevel &left, const BatchJobSetCoreLevel &right)
 Overloaded operator. More...
 
static std::tuple< std::string, unsigned long > parseResourceSpec (const std::string &spec)
 Helper static method to parse resource specifications to the <cores,ram> format. More...
 
void processUnknownJobTermination (std::string job_id)
 No-op method. More...
 
bool searchForLayout (std::vector< WorkflowTaskExecutionInstance > &data, std::size_t index)
 Searches for a possible host utilization gantt chart layout and updates the data to include what vertical position to plot each rectangle. More...
 
void to_json (nlohmann::json &j, const WorkflowTaskExecutionInstance &w)
 Function called by the nlohmann::json constructor when a WorkflowTaskExecutionInstance is passed in as a parameter. This returns the JSON representation of a WorkflowTaskExecutionInstance. The name of this function is important and should not be changed as it is what nlohmann expects (hardcoded in there). More...
 

Variables

WRENCH_MESSAGEPAYLOAD_TYPE WRENCH_MESSAGEPAYLOAD_COUNT =0
 
WRENCH_PROPERTY_TYPE WRENCH_PROPERTY_COUNT =0
 

Detailed Description

Copyright (c) 2017-2021. The WRENCH Team.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Copyright (c) 2017. The WRENCH Team.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Copyright (c) 2020. The WRENCH Team.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Copyright (c) 2017-2019. The WRENCH Team.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Copyright (c) 2017-2018. The WRENCH Team.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Copyright (c) 2017-2020. The WRENCH Team.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Function Documentation

◆ compare_last_access()

bool wrench::compare_last_access ( Block blk1,
Block blk2 
)

Helper function to compare block by last access.

Parameters
blk1: a block
blk2: another block
Returns
true if blk1 was accessed before blk2, false otherwise

◆ generateHostUtilizationGraphLayout()

void wrench::generateHostUtilizationGraphLayout ( std::vector< WorkflowTaskExecutionInstance > &  data)

Generates graph layout for host utilization and adds that information to the JSON object.

Searches for a possible gantt chart layout to represent host utilization. If a layout is found (no tasks overlap), then information about where to plot what is added to the JSON object. Note that this is a possible layout and does not reflect what task ran on what core specifically. For example, we may hav a task that was allocated 2-cores on a idle 4-core host. The task, when plotted on the gantt chart may end up in 1 of 3 positions (using cores 0 and 1, 1 and 2, or 2 and 3).

Parameters
dataJSON workflow execution data
Exceptions
std::runtime_error

◆ generateRandomUsername()

std::string wrench::generateRandomUsername ( unsigned long  userid)

A method to generate a random username, so that generated workload traces look more realistic.

Parameters
useridnumerical userid
Returns
a generated alpha userid

◆ isPointOnSegment()

bool wrench::isPointOnSegment ( std::pair< unsigned long long, unsigned long long >  segment,
unsigned long long  point 
)

Determines if a point lies on a line segment.

Parameters
segmentpair of start and end points that make up the line segment
pointpoint on a 1D plane
Returns
bool

◆ isSegmentOverlappingXAxis()

bool wrench::isSegmentOverlappingXAxis ( std::pair< unsigned long long, unsigned long long >  segment1,
std::pair< unsigned long long, unsigned long long >  segment2 
)

Determines if two line segments overlap along the x-axis and allows for a slight overlap.

Parameters
segment1first segment
segment2second segment
Returns
bool

◆ isSegmentOverlappingYAxis()

bool wrench::isSegmentOverlappingYAxis ( std::pair< unsigned long long, unsigned long long >  segment1,
std::pair< unsigned long long, unsigned long long >  segment2 
)

Determines if two line segments overlap along the y-axis using exact values.

Parameters
segment1first segment
segment2second segment
Returns
bool

◆ operator==() [1/2]

bool wrench::operator== ( const BatchJobSet &  left,
const BatchJobSet &  right 
)

Overloaded operator.

Parameters
leftleft-hand side
rightright-hand side
Returns

◆ operator==() [2/2]

bool wrench::operator== ( const BatchJobSetCoreLevel &  left,
const BatchJobSetCoreLevel &  right 
)

Overloaded operator.

Parameters
leftleft-hand side
rightright-hand side
Returns

◆ parseResourceSpec()

static std::tuple<std::string, unsigned long> wrench::parseResourceSpec ( const std::string &  spec)
static

Helper static method to parse resource specifications to the <cores,ram> format.

Parameters
specspecification string
Returns
a <cores, ram> tuple
Exceptions
std::invalid_argument

◆ processUnknownJobTermination()

void wrench::processUnknownJobTermination ( std::string  job_id)

No-op method.

Parameters
job_ida BatchComputeService job id

◆ searchForLayout()

bool wrench::searchForLayout ( std::vector< WorkflowTaskExecutionInstance > &  data,
std::size_t  index 
)

Searches for a possible host utilization gantt chart layout and updates the data to include what vertical position to plot each rectangle.

Recursive backtracking search for a valid gantt chart layout. This algorithm looks for a vertical position to place each task execution event such that it doesn't overlap with any other task.

Parameters
dataJSON workflow execution data
indexthe index of the workflow execution data up to where we would like to check for a valid layout
Returns
bool

◆ to_json()

void wrench::to_json ( nlohmann::json &  j,
const WorkflowTaskExecutionInstance &  w 
)

Function called by the nlohmann::json constructor when a WorkflowTaskExecutionInstance is passed in as a parameter. This returns the JSON representation of a WorkflowTaskExecutionInstance. The name of this function is important and should not be changed as it is what nlohmann expects (hardcoded in there).

Parameters
jreference to a JSON object
wreference to a WorkflowTaskExecutionInstance