Interface Clusterer

  • All Known Implementing Classes:
    Abstract, Horizontal, Vertical

    public interface Clusterer
    The clustering API, that constructs clusters of jobs out of a single partition.
    Version:
    $Revision$
    Author:
    Karan Vahi
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String VERSION
      The version number associated with this API of Code Generator.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String description()
      Returns a textual description of the transfer implementation.
      void determineClusters​(Partition partition)
      Determine the clusters for a partition.
      ADag getClusteredDAG()
      Returns the clustered workflow.
      void initialize​(ADag dag, PegasusBag bag)
      Initializes the Clusterer impelementation
      void parents​(java.lang.String partitionID, java.util.List parents)
      Associates the relations between the partitions with the corresponding relations between the clustered jobs that are created for each Partition.
    • Field Detail

      • VERSION

        static final java.lang.String VERSION
        The version number associated with this API of Code Generator.
        See Also:
        Constant Field Values
    • Method Detail

      • initialize

        void initialize​(ADag dag,
                        PegasusBag bag)
                 throws ClustererException
        Initializes the Clusterer impelementation
        Parameters:
        dag - the workflow that is being clustered.
        bag - the bag of objects that is useful for initialization.
        Throws:
        ClustererException - in case of error.
      • determineClusters

        void determineClusters​(Partition partition)
                        throws ClustererException
        Determine the clusters for a partition.
        Parameters:
        partition - the partition for which the clusters need to be determined.
        Throws:
        ClustererException - in case of error.
      • parents

        void parents​(java.lang.String partitionID,
                     java.util.List parents)
              throws ClustererException
        Associates the relations between the partitions with the corresponding relations between the clustered jobs that are created for each Partition.
        Parameters:
        partitionID - the id of a partition.
        parents - the list of String objects that contain the id's of the parents of the partition.
        Throws:
        ClustererException - in case of error.
      • getClusteredDAG

        ADag getClusteredDAG()
                      throws ClustererException
        Returns the clustered workflow.
        Returns:
        the ADag object corresponding to the clustered workflow.
        Throws:
        ClustererException - in case of error.
      • description

        java.lang.String description()
        Returns a textual description of the transfer implementation.
        Returns:
        a short textual description