edu.isi.pegasus.planner.classes
Class AggregatedJob

java.lang.Object
  extended by edu.isi.pegasus.planner.classes.Data
      extended by edu.isi.pegasus.planner.classes.Job
          extended by edu.isi.pegasus.planner.classes.AggregatedJob
All Implemented Interfaces:
GraphNodeContent, Cloneable

public class AggregatedJob
extends Job

This class holds all the specifics of an aggregated job. An aggregated job or a clustered job is a job, that contains a collection of smaller jobs. An aggregated job during execution may explode into n smaller job executions. At present it does not store information about the dependencies between the jobs.

Version:
$Revision: 3684 $
Author:
Karan Vahi

Field Summary
private  List mConstituentJobs
          The collection of jobs that are contained in the aggregated job.
private  boolean mHasBeenRenderedToExecutableForm
          Boolean indicating whether a job has been fully rendered to an executable job or not i.e the aggregated job has been mapped to the aggregator and the constituent jobs have been gridstarted or not.
private  JobAggregator mJobAggregator
          Handle to the JobAggregator that created this job.
 
Fields inherited from class edu.isi.pegasus.planner.classes.Job
CHMOD_JOB, CLEANUP_JOB, COMPUTE_JOB, condorUniverse, condorVariables, CREATE_DIR_JOB, DAG_JOB, dagmanVariables, DAX_JOB, dvName, dvNamespace, dvVersion, envVariables, executable, executionPool, globusRSL, globusScheduler, hints, inputFiles, INTER_POOL_JOB, jobClass, jobID, jobName, level, logicalId, logicalName, namespace, outputFiles, REPLICA_REG_JOB, STAGE_IN_JOB, STAGE_IN_WORKER_PACKAGE_JOB, STAGE_OUT_JOB, stdErr, stdIn, stdOut, strargs, UNASSIGNED_JOB, vdsNS, version
 
Fields inherited from class edu.isi.pegasus.planner.classes.Data
mLogger, mLogMsg
 
Constructor Summary
AggregatedJob()
          The default constructor.
AggregatedJob(int num)
          The overloaded constructor.
AggregatedJob(Job job, int num)
          The overloaded constructor.
 
Method Summary
 void add(Job job)
          Adds a job to the aggregated job.
 Object clone()
          Returns a new copy of the Object.
 Iterator constituentJobsIterator()
          Returns an iterator to the constituent jobs of the AggregatedJob.
 Job getConstituentJob(int index)
          Returns a job from a particular position in the list of constituent jobs
 String getDAXID()
          Clustered jobs never originate in the DAX.
 JobAggregator getJobAggregator()
          Returns the JobAggregator that created this aggregated job.
 int numberOfConsitutentJobs()
          Returns the number of constituent jobs.
 boolean renderedToExecutableForm()
          Returns a boolean indicating whether a job has been rendered to an executable form or not
 void setJobAggregator(JobAggregator aggregator)
          Sets the JobAggregator that created this aggregated job.
 void setRenderedToExecutableForm(boolean value)
          Returns a boolean indicating whether a job has been rendered to an executable form or not
 String toString()
          Returns a textual description of the object.
 
Methods inherited from class edu.isi.pegasus.planner.classes.Job
addCredentialType, addCredentialType, addInputFile, addNotification, addNotifications, addNotifications, addOutputFile, addProfile, computeRuntime, equals, getArguments, getCompleteDVName, getCompleteTCName, getCredentialTypes, getDirectory, getDOTColor, getDVName, getDVNamespace, getDVVersion, getGridGatewayJobType, getID, getInputFiles, getJobManager, getJobType, getJobTypeDescription, getJobTypeDescription, getLevel, getLogicalID, getName, getNotifications, getNotifications, getOutputFiles, getPreScriptArguments, getPreScriptPath, getRemoteExecutable, getRuntime, getSiteHandle, getStagedExecutableBaseName, getStagedExecutableBaseName, getStagingSiteHandle, getStdErr, getStdIn, getStdOut, getTXName, getTXNamespace, getTXVersion, getUniverse, getVDSSuperNode, isMPIJob, mergeProfiles, resetCredentialTypes, resetNotifications, resetProfiles, runInWorkDirectory, setArguments, setDerivation, setDirectory, setDVName, setDVNamespace, setDVVersion, setExecutableStagingForJob, setInputFiles, setJobManager, setJobType, setLevel, setLogicalID, setName, setOutputFiles, setPreScript, setPreScript, setRemoteExecutable, setRuntime, setRuntime, setSiteHandle, setStagingSiteHandle, setStdErr, setStdIn, setStdOut, setTransformation, setTXName, setTXNamespace, setTXVersion, setTypeRecursive, setUniverse, setVDSSuperNode, toDOT, toDOT, typeInRange, typeRecursive, updateProfiles, updateProfiles, updateProfiles, updateProfiles, userExecutablesStagedForJob
 
Methods inherited from class edu.isi.pegasus.planner.classes.Data
setToString, vectorToString
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mConstituentJobs

private List mConstituentJobs
The collection of jobs that are contained in the aggregated job.


mHasBeenRenderedToExecutableForm

private boolean mHasBeenRenderedToExecutableForm
Boolean indicating whether a job has been fully rendered to an executable job or not i.e the aggregated job has been mapped to the aggregator and the constituent jobs have been gridstarted or not.


mJobAggregator

private JobAggregator mJobAggregator
Handle to the JobAggregator that created this job.

Constructor Detail

AggregatedJob

public AggregatedJob()
The default constructor.


AggregatedJob

public AggregatedJob(int num)
The overloaded constructor.

Parameters:
num - the number of constituent jobs

AggregatedJob

public AggregatedJob(Job job,
                     int num)
The overloaded constructor.

Parameters:
job - the job whose shallow copy is created, and is the main job.
num - the number of constituent jobs.
Method Detail

renderedToExecutableForm

public boolean renderedToExecutableForm()
Returns a boolean indicating whether a job has been rendered to an executable form or not

Returns:
boolean

setRenderedToExecutableForm

public void setRenderedToExecutableForm(boolean value)
Returns a boolean indicating whether a job has been rendered to an executable form or not

Parameters:
value - boolean to set to.

setJobAggregator

public void setJobAggregator(JobAggregator aggregator)
Sets the JobAggregator that created this aggregated job. Useful for rendering the job to an executable form later on.

Parameters:
aggregator - handle to the JobAggregator used for aggregating the job

getJobAggregator

public JobAggregator getJobAggregator()
Returns the JobAggregator that created this aggregated job. Useful for rendering the job to an executable form later on.

Returns:
JobAggregator

add

public void add(Job job)
Adds a job to the aggregated job.

Parameters:
job - the job to be added.

getDAXID

public String getDAXID()
Clustered jobs never originate in the DAX. Always return null.

Overrides:
getDAXID in class Job
Returns:
null

clone

public Object clone()
Returns a new copy of the Object. The constituent jobs are also cloned.

Overrides:
clone in class Job
Returns:
Object

constituentJobsIterator

public Iterator constituentJobsIterator()
Returns an iterator to the constituent jobs of the AggregatedJob.

Returns:
Iterator

getConstituentJob

public Job getConstituentJob(int index)
Returns a job from a particular position in the list of constituent jobs

Parameters:
index - the index to retrieve from
Returns:
a constituent job.

numberOfConsitutentJobs

public int numberOfConsitutentJobs()
Returns the number of constituent jobs.

Returns:
Iterator

toString

public String toString()
Returns a textual description of the object.

Overrides:
toString in class Job
Returns:
textual description of the job.


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