| |
|
| java.lang.Object org.griphyn.cPlanner.engine.Engine org.griphyn.cPlanner.engine.CreateDirectory
All known Subclasses: org.griphyn.cPlanner.engine.Tentacles, org.griphyn.cPlanner.engine.HourGlass,
CreateDirectory | abstract public class CreateDirectory extends Engine (Code) | | This common interface that identifies the basic functions that need to be
implemented to introduce random directories in which the jobs are executed on
the remote execution pools. The implementing classes are invoked when the user
gives the --randomdir option. The implementing classes determine where in the
graph the nodes creating the random directories are placed and their
dependencies with the rest of the nodes in the graph.
author: Karan Vahi author: Gaurang Mehta version: $Revision: 139 $ |
Method Summary | |
abstract public void | addCreateDirectoryNodes() It modifies the concrete dag passed in the constructor and adds the create
random directory nodes to it at the root level. | public static String | getCompleteTranformationName() A convenience method to return the complete transformation name being
used to construct jobs in this class. | protected String | getCreateDirJobName(String pool) It returns the name of the create directory job, that is to be assigned.
The name takes into account the workflow name while constructing it, as
that is thing that can guarentee uniqueness of name in case of deferred
planning.
Parameters: pool - the execution pool for which the create directory jobis responsible. | protected Set | getCreateDirSites() Retrieves the sites for which the create dir jobs need to be created. | public static CreateDirectory | loadCreateDirectoryInstance(String className, ADag concDag, PegasusProperties properties) Loads the implementing class corresponding to the mode specified by the
user at runtime.
Parameters: className - The name of the class that implements the mode. | protected SubInfo | makeCreateDirJob(String execPool, String jobName) It creates a make directory job that creates a directory on the remote pool
using the perl executable that Gaurang wrote. |
CREATE_DIR_SUFFIX | final public static String CREATE_DIR_SUFFIX(Code) | | Constant suffix for the names of the create directory nodes.
|
DERIVATION_NAME | final public static String DERIVATION_NAME(Code) | | The logical name of the transformation that creates directories on the
remote execution pools.
|
DERIVATION_NAMESPACE | final public static String DERIVATION_NAMESPACE(Code) | | The derivation namespace for the create dir jobs.
|
DERIVATION_VERSION | final public static String DERIVATION_VERSION(Code) | | The version number for the derivations for create dir jobs.
|
PACKAGE_NAME | final public static String PACKAGE_NAME(Code) | | The name of the package in which all the implementing classes are.
|
TRANSFORMATION_NAME | final public static String TRANSFORMATION_NAME(Code) | | The logical name of the transformation that creates directories on the
remote execution pools.
|
TRANSFORMATION_NAMESPACE | final public static String TRANSFORMATION_NAMESPACE(Code) | | The transformation namespace for the create dir jobs.
|
TRANSFORMATION_VERSION | final public static String TRANSFORMATION_VERSION(Code) | | The version number for the derivations for create dir jobs.
|
mCurrentDag | protected ADag mCurrentDag(Code) | | It is a reference to the Concrete Dag so far.
|
mLogger | protected LogManager mLogger(Code) | | The handle to the logging object, that is used to log the messages.
|
mUserOpts | protected UserOptions mUserOpts(Code) | | The handle to the options specified by the user at runtime. The name of
the random directory is picked up from here.
|
CreateDirectory | protected CreateDirectory(PegasusProperties properties)(Code) | | A pratically nothing constructor !
Parameters: properties - the PegasusProperties to be used. |
CreateDirectory | protected CreateDirectory(ADag concDag, PegasusProperties properties)(Code) | | Default constructor.
Parameters: concDag - The concrete dag so far. Parameters: properties - the PegasusProperties to be used. |
addCreateDirectoryNodes | abstract public void addCreateDirectoryNodes()(Code) | | It modifies the concrete dag passed in the constructor and adds the create
random directory nodes to it at the root level. These directory nodes have
a common child that acts as a concatenating job and ensures that Condor
does not start staging in the data before the directories have been added.
The root nodes in the unmodified dag are now chidren of this concatenating
dummy job.
|
getCompleteTranformationName | public static String getCompleteTranformationName()(Code) | | A convenience method to return the complete transformation name being
used to construct jobs in this class.
the complete transformation name |
getCreateDirJobName | protected String getCreateDirJobName(String pool)(Code) | | It returns the name of the create directory job, that is to be assigned.
The name takes into account the workflow name while constructing it, as
that is thing that can guarentee uniqueness of name in case of deferred
planning.
Parameters: pool - the execution pool for which the create directory jobis responsible. String corresponding to the name of the job. |
getCreateDirSites | protected Set getCreateDirSites()(Code) | | Retrieves the sites for which the create dir jobs need to be created.
It returns all the sites where the compute jobs have been scheduled.
a Set containing a list of siteID's of the sites where thedag has to be run. |
loadCreateDirectoryInstance | public static CreateDirectory loadCreateDirectoryInstance(String className, ADag concDag, PegasusProperties properties) throws FactoryException(Code) | | Loads the implementing class corresponding to the mode specified by the
user at runtime.
Parameters: className - The name of the class that implements the mode. It is thename of the class, not the complete name with package.That is added by itself. Parameters: concDag - the workflow. Parameters: properties - the PegasusProperties to be used. instance of a CreateDirecctory implementation throws: FactoryException - that nests any error thatmight occur during the instantiation of the implementation. |
makeCreateDirJob | protected SubInfo makeCreateDirJob(String execPool, String jobName)(Code) | | It creates a make directory job that creates a directory on the remote pool
using the perl executable that Gaurang wrote. It access mkdir underneath.
It gets the name of the random directory from the Pool handle. This method
does not update the internal graph structure of the workflow to add the
node. That is done separately.
Parameters: execPool - the execution pool for which the create dir job is to becreated. Parameters: jobName - the name that is to be assigned to the job. create dir job. |
|
|
|