Thrift module: application_deployment_model
This file describes the definitions of the Data Structures related to deployment of Application on
computational resources.
Enumerations
Enumeration: ApplicationParallelismType
Enumeration of application parallelism supported by Airavata
SERIAL:
Single processor applications without any parallelization.
MPI:
Messaging Passing Interface.
OPENMP:
Shared Memory Implementtaion.
OPENMP_MPI:
Hybrid Applications.
SERIAL | 0 |
|
MPI | 1 |
|
OPENMP | 2 |
|
OPENMP_MPI | 3 |
|
CCM | 4 |
|
CRAY_MPI | 5 |
|
Data structures
Struct: SetEnvPaths
Key | Field | Type | Description | Requiredness | Default value |
1 | name | string | | required | |
2 | value | string | | required | |
3 | envPathOrder | i32 | | optional | |
Key Value pairs to be used to set environments
name:
Name of the environment variable such as PATH, LD_LIBRARY_PATH, NETCDF_HOME.
value:
Value of the environment variable to set
envPathOrder:
The order of the setting of the env variables when there are multiple env variables
Struct: CommandObject
Key | Field | Type | Description | Requiredness | Default value |
1 | command | string | | required | |
2 | commandOrder | i32 | | optional | |
Job commands to be used in Pre Job, Post Job and Module Load Commands
command:
The actual command in string format
commandOrder:
Order of the command in the multiple command situation
Struct: ApplicationModule
Key | Field | Type | Description | Requiredness | Default value |
1 | appModuleId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | appModuleName | string | | required | |
3 | appModuleVersion | string | | optional | |
4 | appModuleDescription | string | | optional | |
Application Module Information. A module has to be registered before registering a deployment.
appModuleId: Airavata Internal Unique Job ID. This is set by the registry.
appModuleName:
Name of the application module.
appModuleVersion:
Version of the application.
appModuleDescription:
Descriprion of the Module
Struct: ApplicationDeploymentDescription
Application Deployment Description
appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry.
appModuleName:
Application Module Name. This has to be precise describing the binary.
computeHostId:
This ID maps application deployment to a particular resource previously described within Airavata.
Example: Stampede is first registered and refered when registering WRF.
moduleLoadCmd:
Command string to load modules. This will be placed in the job submisison
Ex: module load amber
libPrependPaths:
prepend to a path variable the value
libAppendPaths:
append to a path variable the value
setEnvironment:
assigns to the environment variable "NAME" the value