11 #ifndef WRENCH_STANDARDJOB_H
12 #define WRENCH_STANDARDJOB_H
19 #include "WorkflowJob.h"
21 #include "wrench/services/storage/storage_helpers/FileLocation.h"
56 std::vector<WorkflowTask *>
getTasks();
68 std::map<WorkflowFile *, std::vector<std::shared_ptr<FileLocation>>>
getFileLocations();
74 std::vector<WorkflowTask *>
tasks;
82 std::map<WorkflowFile *, std::vector<std::shared_ptr<FileLocation>>>
file_locations;
85 std::vector<std::tuple<WorkflowFile *, std::shared_ptr<FileLocation> , std::shared_ptr<FileLocation> >>
pre_file_copies;
87 std::vector<std::tuple<WorkflowFile *, std::shared_ptr<FileLocation> , std::shared_ptr<FileLocation> >>
post_file_copies;
109 void incrementNumCompletedTasks();
120 double pre_overhead = 0.0;
121 double post_overhead = 0.0;
131 #endif //WRENCH_MULTITASKJOB_H
std::vector< WorkflowTask * > tasks
The job's computational tasks.
Definition: StandardJob.h:74
std::vector< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation > > > cleanup_file_deletions
The ordered file deletion operations to perform at the end.
Definition: StandardJob.h:89
std::vector< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > > > pre_file_copies
The ordered file copy operations to perform before computational tasks.
Definition: StandardJob.h:85
unsigned long getMinimumRequiredMemory()
Returns the minimum RAM capacity required to run the job (i.e., at least one task in the job cannot r...
Definition: StandardJob.cpp:93
@ NOT_SUBMITTED
Not submitted yet.
Definition: StandardJob.h:43
unsigned long getNumCompletedTasks()
Get the number of completed tasks in the job.
Definition: StandardJob.cpp:123
unsigned long num_completed_tasks
The number of computational tasks that have completed.
Definition: StandardJob.h:79
A helper daemon (co-located with and explicitly started by a WMS), which is used to handle all job ex...
Definition: JobManager.h:48
std::map< WorkflowFile *, 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...
Definition: StandardJob.h:82
@ TERMINATED
Terminated by submitter.
Definition: StandardJob.h:53
void setPostJobOverheadInSeconds(double overhead)
sets the job's post-overhead
Definition: StandardJob.cpp:196
@ COMPLETED
Completed successfully.
Definition: StandardJob.h:49
unsigned long getMinimumRequiredNumCores()
Returns the minimum number of cores required to run the job (i.e., at least one task in the job canno...
Definition: StandardJob.cpp:80
unsigned long getNumTasks()
Get the number of tasks in the job.
Definition: StandardJob.cpp:107
unsigned long getPriority()
Get the workflow priority value (the maximum priority from all tasks)
Definition: StandardJob.cpp:150
A standard (i.e., non-pilot) workflow job that can be submitted to a ComputeService by a WMS (via a J...
Definition: StandardJob.h:37
std::vector< std::tuple< WorkflowFile *, std::shared_ptr< FileLocation >, std::shared_ptr< FileLocation > > > post_file_copies
The ordered file copy operations to perform after computational tasks.
Definition: StandardJob.h:87
@ FAILED
Failed.
Definition: StandardJob.h:51
A workflow (to be executed by a WMS)
Definition: Workflow.h:34
void setPreJobOverheadInSeconds(double overhead)
sets the job's pre-overhead
Definition: StandardJob.cpp:188
double getPostJobOverheadInSeconds()
get the job's post-overhead
Definition: StandardJob.cpp:180
A service that knows how to execute a standard job on a multi-node multi-core platform....
Definition: StandardJobExecutor.h:45
@ RUNNING
Running.
Definition: StandardJob.h:47
std::vector< WorkflowTask * > getTasks()
Get the workflow tasks in the job.
Definition: StandardJob.cpp:132
Workflow * workflow
The workflow this job belong to.
Definition: WorkflowJob.h:92
Abstraction of a job used for executing tasks in a Workflow.
Definition: WorkflowJob.h:34
std::map< WorkflowFile *, std::vector< std::shared_ptr< FileLocation > > > getFileLocations()
Get the file location map for the job.
Definition: StandardJob.cpp:141
double total_flops
The job's total computational cost (in flops)
Definition: StandardJob.h:77
StandardJob::State getState()
Get the state of the standard job.
Definition: StandardJob.cpp:164
double getPreJobOverheadInSeconds()
get the job's pre-overhead
Definition: StandardJob.cpp:172
State
Standad job states.
Definition: StandardJob.h:41
@ PENDING
Submitted but not running yet.
Definition: StandardJob.h:45
A data file used/produced by a WorkflowTask in a Workflow.
Definition: WorkflowFile.h:26