wrench::StandardJob
-
class wrench::StandardJob : public wrench::Job, public std::enable_shared_from_this<StandardJob>
A standard (i.e., non-pilot) workflow job that can be submitted to a ComputeService by a WMS (via a JobManager)
Public Types
-
enum State
Standard job states.
Values:
-
enumerator NOT_SUBMITTED
Not submitted yet.
-
enumerator PENDING
Submitted but not running yet.
-
enumerator RUNNING
Running.
-
enumerator COMPLETED
Completed successfully.
-
enumerator FAILED
Failed.
-
enumerator TERMINATED
Terminated by submitter.
-
enumerator NOT_SUBMITTED
Public Functions
-
std::map<std::shared_ptr<DataFile>, std::vector<std::shared_ptr<FileLocation>>> getFileLocations() const
Get the file location map for the job.
- Returns
a map of files to storage services
-
unsigned long getMinimumRequiredMemory() const
Returns the minimum RAM capacity required to run the job (i.e., at least one task in the job cannot run if less ram than this minimum is available)
- Returns
the number of cores
-
unsigned long getMinimumRequiredNumCores() const
Returns the minimum number of cores required to run the job (i.e., at least one task in the job cannot run if fewer cores than this minimum are available)
- Returns
the number of cores
-
unsigned long getNumCompletedTasks() const
Get the number of completed tasks in the job.
- Returns
the number of completed tasks
-
unsigned long getNumTasks() const
Get the number of tasks in the job.
- Returns
the number of tasks
-
double getPostJobOverheadInSeconds() const
get the job’s post-overhead
- Returns
a number o seconds
-
double getPreJobOverheadInSeconds() const
get the job’s pre-overhead
- Returns
a number o seconds
Get the shared pointer for this object.
- Returns
a shared pointer to the object
-
StandardJob::State getState()
Get the state of the standard job.
- Returns
the state
-
std::vector<std::shared_ptr<WorkflowTask>> getTasks() const
Get the workflow tasks in the job.
- Returns
a vector of workflow tasks
-
void setPostJobOverheadInSeconds(double overhead)
sets the job’s post-overhead
- Parameters
overhead – the overhead in seconds
-
void setPreJobOverheadInSeconds(double overhead)
sets the job’s pre-overhead
- Parameters
overhead – the overhead in seconds
-
bool usesScratch()
Determines whether the job’s spec uses scratch space.
- Returns
Public Members
-
std::vector<std::tuple<std::shared_ptr<DataFile>, std::shared_ptr<FileLocation>>> cleanup_file_deletions
The ordered file deletion operations to perform at the end.
-
std::map<std::shared_ptr<DataFile>, std::vector<std::shared_ptr<FileLocation>>> file_locations
The file locations that tasks should read/write files from/to. Each file is given a list of locations, in preferred order.
-
std::vector<std::tuple<std::shared_ptr<DataFile>, std::shared_ptr<FileLocation>, std::shared_ptr<FileLocation>>> post_file_copies
The ordered file copy operations to perform after computational tasks.
-
std::vector<std::tuple<std::shared_ptr<DataFile>, std::shared_ptr<FileLocation>, std::shared_ptr<FileLocation>>> pre_file_copies
The ordered file copy operations to perform before computational tasks.
-
std::vector<std::shared_ptr<WorkflowTask>> tasks
The job’s computational tasks.
-
double total_flops
The job’s total computational cost (in flops)
-
enum State