StandardJobExecutor.h
static const std::string STANDARD_JOB_DONE_MESSAGE_PAYLOAD
The number of bytes in the control message sent by the executor to state that it has completed a job...
Definition: StandardJobExecutorMessagePayload.h:30
static const std::string HOST_SELECTION_ALGORITHM
The algorithm that decides on which host a task should be placed. Possible values are: ...
Definition: StandardJobExecutorProperty.h:55
~StandardJobExecutor()
Destructor.
Definition: StandardJobExecutor.cpp:36
A service that knows how to execute a standard job on a multi-node multi-core platform. Note that when killed in the middle of computing, this service will set (internal) running tasks' states to FAILED, and likely the calling service will want to make failed tasks READY and NOT_READY again to "unwind" the failed executions and resubmit tasks for execution. Also, this service does not increment task failure counts, as it does not know if the kill() was an actual failure (i.e., some timeout) or a feature (i.e., a WMS changing its mind)
Definition: StandardJobExecutor.h:44
StandardJob * getJob()
Get the executor's job.
Definition: StandardJobExecutor.cpp:879
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
StandardJobExecutor(Simulation *simulation, std::string callback_mailbox, std::string hostname, StandardJob *job, std::map< std::string, std::tuple< unsigned long, double >> compute_resources, StorageService *scratch_space, bool part_of_pilot_job, PilotJob *parent_pilot_job, std::map< std::string, std::string > property_list, std::map< std::string, std::string > messagepayload_list)
Constructor.
Definition: StandardJobExecutor.cpp:59
static const std::string THREAD_STARTUP_OVERHEAD
The number of seconds to start a thread (default = 0)
Definition: StandardJobExecutorProperty.h:30
A class to describe a unit of work that's a sub-component of a StandardJob.
Definition: Workunit.h:34
static const std::string SIMULATE_COMPUTATION_AS_SLEEP
Simulate computation as just a sleep instead of with an actual compute thread. This is for scalabilit...
Definition: StandardJobExecutorProperty.h:61
std::string hostname
The name of the host on which the daemon is running.
Definition: S4U_Daemon.h:47
A pilot (i.e., non-standard) workflow job that can be submitted to a ComputeService by a WMS (via a J...
Definition: PilotJob.h:29
A standard (i.e., non-pilot) workflow job that can be submitted to a ComputeService by a WMS (via a J...
Definition: StandardJob.h:38
static const std::string TASK_SELECTION_ALGORITHM
The algorithm that decides which ready computational task, in case multiple tasks are ready...
Definition: StandardJobExecutorProperty.h:49
void kill()
Kill the executor.
Definition: StandardJobExecutor.cpp:233
static const std::string CORE_ALLOCATION_ALGORITHM
The algorithm that decides how many cores are given to a computational task. Possible values are: ...
Definition: StandardJobExecutorProperty.h:41
std::set< WorkflowFile * > getFilesInScratch()
Get the set of files stored in scratch space during the standard job's execution. ...
Definition: StandardJobExecutor.cpp:870
std::map< std::string, std::string > messagepayload_list
The service's messagepayload list.
Definition: Service.h:107
Simulation * simulation
a pointer to the simulation object
Definition: S4U_Daemon.h:84
std::map< std::string, std::tuple< unsigned long, double > > getComputeResources()
Get the executor's compute resources.
Definition: StandardJobExecutor.cpp:887
static const std::string STANDARD_JOB_FAILED_MESSAGE_PAYLOAD
The number of bytes in the control message sent by the executor to state that a job has failed...
Definition: StandardJobExecutorMessagePayload.h:32
Definition: TerminalOutput.cpp:15