SoftEnv Support (4.0.5+ only)

[Important]Important

This feature is only available beginning with GT 4.0.5.

1. Overview

SoftEnv is a system designed to make it easier for users to define what applications they want to use, and easier for administrators to make applications available to users. SoftEnv has evolved from the original implementation called Soft designed at Northeastern University in 1994.

In some environments, like TeraGrid, it is desirable to make use of SoftEnv before a job is submitted to leverage the use of an exactly defined software environment in which the job will run.

2. Configuring SoftEnv Support

Because this feature is very specific and may not be available on many systems, support for SoftEnv is disabled by default in normal job submissions. There is a parameter in the JNDI configuration of WS GRAM to enable SoftEnv support in job submissions.

SoftEnv support must be enabled on a per-scheduler basis because the internal mechanisms to support SoftEnv vary between the different types of schedulers. Currently only the Fork, PBS and LSF schedulers can be configured to have SoftEnv support enabled (Condor is not yet supported).

To enable this feature, set the parameter enableDefaultSoftwareEnvironment in the scheduler specific JNDI configuration to true.

For example, to enable SoftEnv support in the Fork scheduler, set the enableDefaultSoftwareEnvironment in $GLOBUS_LOCATION/etc/gram-service-Fork/jndi-config.xml to true.

Enabled SoftEnv support means that a users default environment will be created from his .soft file before each job submission automatically. The user doesn't need to provide extra SoftEnv keys in the extensions element of a job description. This is not done if the SoftEnv feature is disabled.

For more information and examples, please look in the SoftEnv section of the User's Guide.

3. Dependencies

For the scheduler Fork SoftEnv needs to be installed on the host in which the container is running. For PBS and LSF, SoftEnv needs to be installed on the hosts where the jobs are executed.