org.griphyn.cPlanner.cluster
Interface JobAggregator

All Known Implementing Classes:
Abstract, MPIExec, SeqExec

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: 450 $
Author:
Karan Vahi vahi@isi.edu

Field Summary
static String VERSION
          The version number associated with this API of Job Aggregator.
 
Method Summary
 boolean abortOnFristJobFailure()
          Returns a boolean indicating whether to fail the aggregated job on detecting the first failure during execution of constituent jobs.
 AggregatedJob construct(List jobs, String name, String id)
          Constructs a new aggregated job that contains all the jobs passed to it.
 boolean entryNotInTC(String site)
          Determines whether there is NOT an entry in the transformation catalog for the job aggregator executable on a particular site.
 String getCollapserLFN()
          Returns the logical name of the transformation that is used to collapse the jobs.
 void initialize(ADag dag, PegasusBag bag)
          Initializes the JobAggregator impelementation
 void setAbortOnFirstJobFailure(boolean fail)
          Setter method to indicate , failure on first consitutent job should result in the abort of the whole aggregated job.
 

Field Detail

VERSION

static final 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.

construct

AggregatedJob construct(List jobs,
                        String name,
                        String id)
Constructs a new aggregated job that contains all the jobs passed to it. The new aggregated job, appears as a single job in the workflow and replaces the jobs it contains in the workflow.

Parameters:
jobs - the list of SubInfo 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

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(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.

getCollapserLFN

String getCollapserLFN()
Returns the logical name of the transformation that is used to collapse the jobs.

Returns:
the the logical name of the collapser executable.


Copyright © 2007 The University of Southern California. All Rights Reserved.