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$
    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 impelementation
      void makeAbstractAggregatedJobConcrete​(AggregatedJob job)
      Enables the abstract clustered job for execution and converts it to it's executable form
      void 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 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
      • 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.