public class HourGlass extends AbstractStrategy
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COMPLETE_TRANSFORMATION_NAME
The complete TC name for dirmanager.
|
static java.lang.String |
DERIVATION_NAME
The logical name of the transformation that creates directories on the
remote execution pools.
|
static java.lang.String |
DERIVATION_NAMESPACE
The derivation namespace for the create dir jobs.
|
static java.lang.String |
DERIVATION_VERSION
The version number for the derivations for create dir jobs.
|
static java.lang.String |
DUMMY_CONCAT_JOB
The name concatenating dummy job that ensures that Condor does not start
staging in before the directories are created.
|
static java.lang.String |
DUMMY_CONCAT_JOB_PREFIX
The prefix assigned to the concatenating dummy job that ensures that Condor does not start
staging in before the directories are created.
|
static java.lang.String |
TRANSFORMATION_NAME
The logical name of the transformation that creates directories on the
remote execution pools.
|
static java.lang.String |
TRANSFORMATION_NAMESPACE
The transformation namespace for the create dir jobs.
|
static java.lang.String |
TRANSFORMATION_VERSION
The version number for the derivations for create dir jobs.
|
CREATE_DIR_PREFIX, CREATE_DIR_SUFFIX, mImpl, mJobPrefix, mLogger, mSiteStore, mUseMkdir
Constructor and Description |
---|
HourGlass() |
Modifier and Type | Method and Description |
---|---|
ADag |
addCreateDirectoryNodes(ADag dag)
It modifies the concrete dag passed in the constructor and adds the create
random directory nodes to it at the root level.
|
private void |
construct(Job job,
java.lang.String key,
java.lang.String value)
Constructs a condor variable in the condor profile namespace
associated with the job.
|
protected java.lang.String |
getConcatJobname(ADag dag)
Returns the name of the concat job
|
void |
initialize(PegasusBag bag,
Implementation impl)
Intializes the class.
|
private void |
introduceRootDependencies(ADag dag,
Job newRoot)
It traverses through the root jobs of the dag and introduces a new super
root node to it.
|
Job |
makeDummyConcatJob(ADag dag)
It creates a dummy concat job that is run at the local submit host.
|
getCreateDirJobName, getCreateDirSites
public static final java.lang.String DUMMY_CONCAT_JOB
public static final java.lang.String DUMMY_CONCAT_JOB_PREFIX
public static final java.lang.String TRANSFORMATION_NAMESPACE
public static final java.lang.String TRANSFORMATION_NAME
public static final java.lang.String TRANSFORMATION_VERSION
public static final java.lang.String COMPLETE_TRANSFORMATION_NAME
public static final java.lang.String DERIVATION_NAMESPACE
public static final java.lang.String DERIVATION_NAME
public static final java.lang.String DERIVATION_VERSION
public void initialize(PegasusBag bag, Implementation impl)
initialize
in interface Strategy
initialize
in class AbstractStrategy
bag
- bag of initialization objectsimpl
- the implementation instance that creates create dir jobpublic ADag addCreateDirectoryNodes(ADag dag)
dag
- the workflow to which the nodes have to be added.private void introduceRootDependencies(ADag dag, Job newRoot)
dag
- the DAGnewRoot
- the concat job that is the new root of the graph.public Job makeDummyConcatJob(ADag dag)
dag
- the workflowprotected java.lang.String getConcatJobname(ADag dag)
private void construct(Job job, java.lang.String key, java.lang.String value)
job
- contains the job description.key
- the key of the profile.value
- the associated value.