org.objectweb.proactive.core.process.mpi
Class MPIProcess

java.lang.Object
  extended byorg.objectweb.proactive.core.process.AbstractUniversalProcess
      extended byorg.objectweb.proactive.core.process.AbstractExternalProcess
          extended byorg.objectweb.proactive.core.process.AbstractExternalProcessDecorator
              extended byorg.objectweb.proactive.core.process.mpi.MPIProcess
All Implemented Interfaces:
ExternalProcess, ExternalProcessDecorator, FileDependant, java.io.Serializable, UniversalProcess
Direct Known Subclasses:
MPIDependentProcess

public abstract class MPIProcess
extends AbstractExternalProcessDecorator
implements FileDependant

MPI Process implementation. This implementation works only for ProActive deployment, and not to submit single commands

Since:
ProActive 3.0
Version:
1.0, 2005/11/10
Author:
ProActive Team
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.objectweb.proactive.core.process.AbstractExternalProcessDecorator
AbstractExternalProcessDecorator.CompositeMessageLogger, AbstractExternalProcessDecorator.CompositeMessageSink
 
Nested classes inherited from class org.objectweb.proactive.core.process.AbstractExternalProcess
AbstractExternalProcess.NullMessageLogger, AbstractExternalProcess.ProcessInputHandler, AbstractExternalProcess.ProcessOutputHandler, AbstractExternalProcess.SimpleMessageSink, AbstractExternalProcess.StandardOutputMessageLogger
 
Field Summary
protected static java.lang.String DEFAULT_FILE_LOCATION
           
protected static java.lang.String DEFAULT_HOSTS_NUMBER
           
protected static java.lang.String DEFAULT_HOSTSFILENAME_PATH
           
protected static java.lang.String DEFAULT_MPICOMMAND_PATH
           
static java.lang.String DEFAULT_SSH_COPYPROTOCOL
           
protected  java.lang.String hostsFileName
           
protected  java.lang.String hostsNumber
           
protected  int jobID
           
protected  java.lang.String localPath
           
protected  java.lang.String mpiCommandOptions
           
protected  java.lang.String mpiFileName
           
protected  java.lang.String remotePath
           
 
Fields inherited from class org.objectweb.proactive.core.process.AbstractExternalProcessDecorator
targetProcess
 
Fields inherited from class org.objectweb.proactive.core.process.AbstractExternalProcess
clogger, closeStream, errorMessageLogger, externalProcess, FILE_TRANSFER_DEFAULT_PROTOCOL, fileTransferLogger, inputMessageLogger, IS_WINDOWS_SYSTEM, NO_COMPOSITION, outputMessageSink
 
Fields inherited from class org.objectweb.proactive.core.process.AbstractUniversalProcess
certificateLocation, command, command_path, DEFAULT_HOSTNAME, DEFAULT_USERNAME, environment, hostname, isFinished, isStarted, LOCALHOST, privateKeyLocation, securityFile, username
 
Fields inherited from interface org.objectweb.proactive.core.process.ExternalProcessDecorator
APPEND_TO_COMMAND_COMPOSITION, COPY_FILE_AND_APPEND_COMMAND, GIVE_COMMAND_AS_PARAMETER, SEND_TO_OUTPUT_STREAM_COMPOSITION
 
Fields inherited from interface org.objectweb.proactive.core.process.UniversalProcess
logger, UNKNOWN_NODE_NUMBER
 
Constructor Summary
MPIProcess()
          Create a new MPIProcess Used with XML Descriptors
MPIProcess(ExternalProcess targetProcess)
           
 
Method Summary
protected  java.lang.String buildMPICommand()
           
 FileTransfer getFileTransfertDefiniton()
           
 UniversalProcess getFinalProcess()
          GETTERS AND SETTERS *
 java.lang.String getHostsFileName()
           
 java.lang.String getHostsNumber()
           
 java.lang.String getLocalPath()
           
 java.lang.String getMpiCommandOptions()
           
 java.lang.String getMpiFileName()
           
 int getNodeNumber()
          Returns the number of nodes targeted
 java.lang.String getProcessId()
          Returns the id of the process
 java.lang.String getRemotePath()
           
protected  java.lang.String internalBuildCommand()
           
 boolean isDependent()
          Returns true if and only if this process is dependent
 void setHostsFileName(java.lang.String hostsFileName)
           
 void setHostsNumber(java.lang.String hostsNumber)
           
 void setLocalPath(java.lang.String localPath)
           
 void setMpiCommandOptions(java.lang.String mpiCommandOptions)
           
 void setMpiFileName(java.lang.String mpiFileName)
           
 void setRemotePath(java.lang.String remotePath)
           
 
Methods inherited from class org.objectweb.proactive.core.process.AbstractExternalProcessDecorator
buildCommand, getCompositionType, getTargetProcess, handleCopyFile, handleOutput, internalStartProcess, setCompositionType, setTargetProcess, toString
 
Methods inherited from class org.objectweb.proactive.core.process.AbstractExternalProcess
buildEnvironmentCommand, buildUnixEnvironmentCommand, buildWindowsEnvironmentCommand, closeStream, getErrorMessageLogger, getFileTransferDefaultCopyProtocol, getFileTransferWorkShopDeploy, getFileTransferWorkShopRetrieve, getInputMessageLogger, getOutputMessageSink, handleError, handleInput, handleProcess, internalExitValue, internalFileTransferDefaultProtocol, internalStartFileTransfer, internalStopProcess, internalWaitFor, setErrorMessageLogger, setInputMessageLogger, setOutputMessageSink
 
Methods inherited from class org.objectweb.proactive.core.process.AbstractUniversalProcess
checkStarted, exitValue, getCommand, getCommandPath, getEnvironment, getHostname, getUsername, isFinished, isHierarchical, isSequential, isStarted, pushProcessAttributes, setCommandPath, setEnvironment, setHostname, setStarted, setUsername, startFileTransfer, startProcess, stopProcess, toString, waitFor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.objectweb.proactive.core.process.ExternalProcess
closeStream, getErrorMessageLogger, getFileTransferWorkShopDeploy, getFileTransferWorkShopRetrieve, getInputMessageLogger, getOutputMessageSink, setErrorMessageLogger, setInputMessageLogger, setOutputMessageSink
 
Methods inherited from interface org.objectweb.proactive.core.process.UniversalProcess
exitValue, getCommand, getCommandPath, getEnvironment, getHostname, getUsername, isFinished, isHierarchical, isSequential, isStarted, setCommandPath, setEnvironment, setHostname, setStarted, setUsername, startFileTransfer, startProcess, stopProcess, waitFor
 

Field Detail

DEFAULT_HOSTSFILENAME_PATH

protected static final java.lang.String DEFAULT_HOSTSFILENAME_PATH
See Also:
Constant Field Values

DEFAULT_MPICOMMAND_PATH

protected static final java.lang.String DEFAULT_MPICOMMAND_PATH
See Also:
Constant Field Values

DEFAULT_FILE_LOCATION

protected static final java.lang.String DEFAULT_FILE_LOCATION

DEFAULT_SSH_COPYPROTOCOL

public static final java.lang.String DEFAULT_SSH_COPYPROTOCOL
See Also:
Constant Field Values

DEFAULT_HOSTS_NUMBER

protected static final java.lang.String DEFAULT_HOSTS_NUMBER
See Also:
Constant Field Values

jobID

protected int jobID

mpiCommandOptions

protected java.lang.String mpiCommandOptions

hostsFileName

protected java.lang.String hostsFileName

mpiFileName

protected java.lang.String mpiFileName

localPath

protected java.lang.String localPath

remotePath

protected java.lang.String remotePath

hostsNumber

protected java.lang.String hostsNumber
Constructor Detail

MPIProcess

public MPIProcess()
Create a new MPIProcess Used with XML Descriptors


MPIProcess

public MPIProcess(ExternalProcess targetProcess)
Method Detail

getProcessId

public java.lang.String getProcessId()
Description copied from interface: UniversalProcess
Returns the id of the process

Specified by:
getProcessId in interface UniversalProcess
Returns:
the id of the process. This id is just the first letters of the process class, to be able to identify the sequence of processes used

internalBuildCommand

protected java.lang.String internalBuildCommand()
Specified by:
internalBuildCommand in class AbstractExternalProcessDecorator

buildMPICommand

protected java.lang.String buildMPICommand()

getFileTransfertDefiniton

public FileTransfer getFileTransfertDefiniton()
Specified by:
getFileTransfertDefiniton in interface FileDependant

getFinalProcess

public UniversalProcess getFinalProcess()
GETTERS AND SETTERS *

Specified by:
getFinalProcess in interface UniversalProcess
Returns:
the last process of the chain

getMpiFileName

public java.lang.String getMpiFileName()
Returns:
Returns the mpiFileName.

setMpiFileName

public void setMpiFileName(java.lang.String mpiFileName)
Parameters:
mpiFileName - The mpiFileName to set.

getHostsFileName

public java.lang.String getHostsFileName()
Returns:
Returns the hostsFileName.

setHostsFileName

public void setHostsFileName(java.lang.String hostsFileName)
Parameters:
hostsFileName - The hostsFileName to set.

getHostsNumber

public java.lang.String getHostsNumber()
Returns:
Returns the hostsNumber.

setHostsNumber

public void setHostsNumber(java.lang.String hostsNumber)
Parameters:
hostsNumber - The hostsNumber to set.

getLocalPath

public java.lang.String getLocalPath()
Returns:
Returns the localPath.

setLocalPath

public void setLocalPath(java.lang.String localPath)
Parameters:
localPath - The localPath to set.

getRemotePath

public java.lang.String getRemotePath()
Returns:
Returns the remotePath.

setRemotePath

public void setRemotePath(java.lang.String remotePath)
Parameters:
remotePath - The remotePath to set.

setMpiCommandOptions

public void setMpiCommandOptions(java.lang.String mpiCommandOptions)
Parameters:
mpiCommandOptions - The mpiCommandOptions to set.

getMpiCommandOptions

public java.lang.String getMpiCommandOptions()
Returns:
Returns the mpiCommandOptions.

isDependent

public boolean isDependent()
Description copied from interface: UniversalProcess
Returns true if and only if this process is dependent

Specified by:
isDependent in interface UniversalProcess
Overrides:
isDependent in class AbstractUniversalProcess
See Also:
UniversalProcess.isDependent()

getNodeNumber

public int getNodeNumber()
Description copied from interface: UniversalProcess
Returns the number of nodes targeted

Specified by:
getNodeNumber in interface UniversalProcess
Returns:
the number of nodes targeted. Represents the number of nodes expected to use when starting this process. If this number cannot be known, waiting for all available nodes for example, UNKNOWN_NODE_NUMBER is returned.


Copyright 2001-2005 INRIA All Rights Reserved.