Class MainEngine


  • public class MainEngine
    extends Engine
    The central class that calls out to the various other components of Pegasus.
    Version:
    $Revision$
    Author:
    Karan Vahi, Gaurang Mehta
    • Field Detail

      • CLEANUP_DIR

        public static final java.lang.String CLEANUP_DIR
        The basename of the directory that contains the submit files for the cleanup DAG that for the concrete dag generated for the workflow.
        See Also:
        Constant Field Values
      • mOriginalDag

        private ADag mOriginalDag
        The Original Dag object which is constructed by parsing the dag file.
      • mReducedDag

        private ADag mReducedDag
        The reduced Dag object which is got from the Reduction Engine.
      • mCleanupDag

        private ADag mCleanupDag
        The cleanup dag for the final concrete dag.
      • mExecPools

        private java.util.Set mExecPools
        The pools on which the Dag should be executed as specified by the user.
      • mIPEng

        private InterPoolEngine mIPEng
        The handle to the InterPool Engine that calls out to the Site Selector and maps the jobs.
      • mRedEng

        private DataReuseEngine mRedEng
        The handle to the Reduction Engine that performs reduction on the graph.
      • mTransEng

        private TransferEngine mTransEng
        The handle to the Transfer Engine that adds the transfer nodes in the graph to transfer the files from one site to another.
      • mCreateEng

        private CreateDirectory mCreateEng
        The engine that ends up creating random directories in the remote execution pools.
      • mRemoveEng

        private RemoveDirectory mRemoveEng
        The engine that ends up creating the cleanup dag for the dag.
      • mAuthEng

        private AuthenticateEngine mAuthEng
        The handle to the Authentication Engine that performs the authentication with the various sites.
      • mNodeCollapser

        private NodeCollapser mNodeCollapser
        The handle to the node collapser.
    • Constructor Detail

      • MainEngine

        public MainEngine​(ADag orgDag,
                          PegasusBag bag)
        This constructor initialises the class variables to the variables passed. The pool names specified should be present in the pool.config file
        Parameters:
        orgDag - the dag to be worked on.
        bag - the bag of initialization objects
    • Method Detail

      • runPlanner

        public ADag runPlanner()
        The main function which calls the other engines and does the necessary work.
        Returns:
        the planned worflow.
      • getCleanupDAG

        public ADag getCleanupDAG()
        Returns the cleanup dag for the concrete dag.
        Returns:
        the cleanup dag if the random dir is given. null otherwise.
      • getPegasusBag

        public PegasusBag getPegasusBag()
        Returns the bag of intialization objects.
        Returns:
        PegasusBag
      • unmarkArgs

        private void unmarkArgs()
        Deprecated.
        Unmarks the arguments , that are tagged in the DaxParser. At present there are no tagging.
      • setToString

        public java.lang.String setToString​(java.util.Set s,
                                            java.lang.String delim)
        A small helper method that displays the contents of a Set in a String.
        Parameters:
        s - the Set whose contents need to be displayed
        delim - The delimited between the members of the set.
        Returns:
        String