Package edu.isi.pegasus.planner.cluster
Interface JobAggregator
-
public interface JobAggregator
The interface that dictates how the jobs are clumped together into one single larger job. The interface does not dictate how the graph structure is to be modified as a result of the clumping. That is handled outside of the implementing class in NodeCollapser.- Version:
- $Revision$
- Author:
- Karan Vahi vahi@isi.edu
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VERSION
The version number associated with this API of Job Aggregator.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
abortOnFristJobFailure()
Returns a boolean indicating whether to fail the aggregated job on detecting the first failure during execution of constituent jobs.AggregatedJob
constructAbstractAggregatedJob(java.util.List jobs, java.lang.String name, java.lang.String id)
Constructs an abstract aggregated job that has a handle to the appropriate JobAggregator that will be used to aggregate the jobs.boolean
entryNotInTC(java.lang.String site)
Determines whether there is NOT an entry in the transformation catalog for the job aggregator executable on a particular site.java.lang.String
getClusterExecutableBasename()
Returns the executable basename of the clustering executable used.java.lang.String
getClusterExecutableLFN()
Returns the logical name of the transformation that is used to collapse the jobs.void
initialize(ADag dag, PegasusBag bag)
Initializes the JobAggregator impelementationvoid
makeAbstractAggregatedJobConcrete(AggregatedJob job)
Enables the abstract clustered job for execution and converts it to it's executable formvoid
setAbortOnFirstJobFailure(boolean fail)
Setter method to indicate , failure on first consitutent job should result in the abort of the whole aggregated job.boolean
topologicalOrderingRequired()
A boolean indicating whether ordering is important while traversing through the aggregated job.
-
-
-
Field Detail
-
VERSION
static final java.lang.String VERSION
The version number associated with this API of Job Aggregator.- See Also:
- Constant Field Values
-
-
Method Detail
-
initialize
void initialize(ADag dag, PegasusBag bag)
Initializes the JobAggregator impelementation- Parameters:
dag
- the workflow that is being clustered.bag
- the bag of objects that is useful for initialization.
-
constructAbstractAggregatedJob
AggregatedJob constructAbstractAggregatedJob(java.util.List jobs, java.lang.String name, java.lang.String id)
Constructs an abstract aggregated job that has a handle to the appropriate JobAggregator that will be used to aggregate the jobs.- Parameters:
jobs
- the list ofSubInfo
objects that need to be collapsed. All the jobs being collapsed should be scheduled at the same pool, to maintain correct semantics.name
- the logical name of the jobs in the list passed to this function.id
- the id that is given to the new job.- Returns:
- the
SubInfo
object corresponding to the aggregated job containing the jobs passed as List in the input, null if the list of jobs is empty
-
makeAbstractAggregatedJobConcrete
void makeAbstractAggregatedJobConcrete(AggregatedJob job)
Enables the abstract clustered job for execution and converts it to it's executable form- Parameters:
job
- the abstract clustered job
-
topologicalOrderingRequired
boolean topologicalOrderingRequired()
A boolean indicating whether ordering is important while traversing through the aggregated job.- Returns:
- a boolean
-
setAbortOnFirstJobFailure
void setAbortOnFirstJobFailure(boolean fail)
Setter method to indicate , failure on first consitutent job should result in the abort of the whole aggregated job.- Parameters:
fail
- indicates whether to abort or not .
-
abortOnFristJobFailure
boolean abortOnFristJobFailure()
Returns a boolean indicating whether to fail the aggregated job on detecting the first failure during execution of constituent jobs.- Returns:
- boolean indicating whether to fail or not.
-
entryNotInTC
boolean entryNotInTC(java.lang.String site)
Determines whether there is NOT an entry in the transformation catalog for the job aggregator executable on a particular site.- Parameters:
site
- the site at which existence check is required.- Returns:
- boolean true if an entry does not exists, false otherwise.
-
getClusterExecutableLFN
java.lang.String getClusterExecutableLFN()
Returns the logical name of the transformation that is used to collapse the jobs.- Returns:
- the the logical name of the collapser executable.
-
getClusterExecutableBasename
java.lang.String getClusterExecutableBasename()
Returns the executable basename of the clustering executable used.- Returns:
- the executable basename.
-
-