edu.isi.pegasus.planner.refiner
Class MainEngine

java.lang.Object
  extended by edu.isi.pegasus.planner.refiner.Engine
      extended by edu.isi.pegasus.planner.refiner.MainEngine

public class MainEngine
extends Engine

The central class that calls out to the various other components of Pegasus.

Version:
$Revision: 4689 $
Author:
Karan Vahi, Gaurang Mehta

Field Summary
static 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.
private  ADag mCleanupDag
          The cleanup dag for the final concrete dag.
private  CreateDirectory mCreateEng
          The engine that ends up creating random directories in the remote execution pools.
private  Set mExecPools
          The pools on which the Dag should be executed as specified by the user.
private  InterPoolEngine mIPEng
          The handle to the InterPool Engine that calls out to the Site Selector and maps the jobs.
private  NodeCollapser mNodeCollapser
          The handle to the node collapser.
private  ADag mOriginalDag
          The Original Dag object which is constructed by parsing the dag file.
private  ReplicaCatalogBridge mRCBridge
          The bridge to the Replica Catalog.
private  DataReuseEngine mRedEng
          The handle to the Reduction Engine that performs reduction on the graph.
private  ADag mReducedDag
          The reduced Dag object which is got from the Reduction Engine.
private  RemoveDirectory mRemoveEng
          The engine that ends up creating the cleanup dag for the dag.
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.
static String TRANSIENT_REPLICA_CATALOG_IMPLEMENTER
          The name of the Replica Catalog Implementer that serves as the source for cache files.
static String TRANSIENT_REPLICA_CATALOG_KEY
          The name of the source key for Replica Catalog Implementer that serves as cache
 
Fields inherited from class edu.isi.pegasus.planner.refiner.Engine
mBag, mLogger, mLogMsg, mOutputPool, mPoolFile, mPOptions, mProps, mRLIUrl, mSiteStore, mTCFile, mTCHandle, mTCMode, REGISTRATION_UNIVERSE, TRANSFER_UNIVERSE
 
Constructor Summary
MainEngine(ADag orgDag, PegasusBag bag)
          This constructor initialises the class variables to the variables passed.
 
Method Summary
private  String getCacheFileName(ADag adag)
          Constructs the basename to the cache file that is to be used to log the transient files.
 ADag getCleanupDAG()
          Returns the cleanup dag for the concrete dag.
 PegasusBag getPegasusBag()
          Returns the bag of intialization objects.
private  ReplicaCatalog initializeTransientRC(ADag dag)
          Initializes the transient replica catalog and returns a handle to it.
 ADag runPlanner()
          The main function which calls the other engines and does the necessary work.
 String setToString(Set s, String delim)
          A small helper method that displays the contents of a Set in a String.
private  void unmarkArgs()
          Deprecated.  
 
Methods inherited from class edu.isi.pegasus.planner.refiner.Engine
addVector, appendArrayList, loadProperties, printVector, stringInList, stringInPegVector, stringInVector, vectorToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLEANUP_DIR

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

TRANSIENT_REPLICA_CATALOG_KEY

public static final String TRANSIENT_REPLICA_CATALOG_KEY
The name of the source key for Replica Catalog Implementer that serves as cache

See Also:
Constant Field Values

TRANSIENT_REPLICA_CATALOG_IMPLEMENTER

public static final String TRANSIENT_REPLICA_CATALOG_IMPLEMENTER
The name of the Replica Catalog Implementer that serves as the source for cache files.

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 Set mExecPools
The pools on which the Dag should be executed as specified by the user.


mRCBridge

private ReplicaCatalogBridge mRCBridge
The bridge to the Replica Catalog.


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.


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

initializeTransientRC

private ReplicaCatalog initializeTransientRC(ADag dag)
Initializes the transient replica catalog and returns a handle to it.

Parameters:
dag - the workflow being planned
Returns:
handle to transient catalog

getCacheFileName

private String getCacheFileName(ADag adag)
Constructs the basename to the cache file that is to be used to log the transient files. The basename is dependant on whether the basename prefix has been specified at runtime or not.

Parameters:
adag - the ADag object containing the workflow that is being concretized.
Returns:
the name of the cache file

unmarkArgs

private void unmarkArgs()
Deprecated. 

Unmarks the arguments , that are tagged in the DaxParser. At present there are no tagging.


setToString

public String setToString(Set s,
                          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


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