Thrift module: computeResourceModel
Constants
Constant | Type | Value |
DEFAULT_ID | string | "DO_NOT_SET_AT_CLIENTS" |
Enumerations
Enumeration: ResourceJobManagerType
Enumeration of local resource job manager types supported by Airavata
FORK:
Forking of commands without any job manager
PBS:
Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
UGE:
Univa Grid Engine, a variation of PBS implementation.
SLURM:
The Simple Linux Utility for Resource Management is a open source workload manager.
Enumeration: JobManagerCommand
Enumeration of resource job manager commands
SUBMISSION:
Ex: qsub, sbatch
JOBMONITORING:
Ex: qstat, squeue
DELETION:
Ex: qdel, scancel
CHECK_JOB:
Detailed Status about the Job. Ex: checkjob
SHOW_QUEUE:
List of Queued Job by the schedular. Ex: showq
SHOW_RESERVATION:
List all reservations. Ex:showres, show_res
SHOW_START:
Display the start time of the specified job. Ex: showstart
SUBMISSION | 0 |
|
JOB_MONITORING | 1 |
|
DELETION | 2 |
|
CHECK_JOB | 3 |
|
SHOW_QUEUE | 4 |
|
SHOW_RESERVATION | 5 |
|
SHOW_START | 6 |
|
Enumeration: FileSystems
Enumeration of File Systems on the resource
FORK:
Forking of commands without any job manager
PBS:
Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
UGE:
Univa Grid Engine, a variation of PBS implementation.
SLURM:
The Simple Linux Utility for Resource Management is a open source workload manager.
HOME | 0 |
|
WORK | 1 |
|
LOCALTMP | 2 |
|
SCRATCH | 3 |
|
ARCHIVE | 4 |
|
Enumeration: SecurityProtocol
Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just
describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential
store.
USERNAME_PASSWORD:
A User Name.
SSH_KEYS:
SSH Keys
USERNAME_PASSWORD | 0 |
|
SSH_KEYS | 1 |
|
GSI | 2 |
|
KERBEROS | 3 |
|
OAUTH | 4 |
|
Enumeration: JobSubmissionProtocol
Enumeration of Airavata supported Job Submission Mechanisms for High Performance Computing Clusters.
SSH:
Execute remote job submission commands using via secure shell protocol.
GRAM:
Execute remote jobs via Globus GRAM service.
UNICORE:
Execute remote jobs via Unicore services
LOCAL | 0 |
|
SSH | 1 |
|
GLOBUS | 2 |
|
UNICORE | 3 |
|
Enumeration: DataMovementProtocol
Enumeration of data movement supported by Airavata
SCP:
Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
SFTP:
The Simple Linux Utility for Resource Management is a open source workload manager.
GridFTP:
Globus File Transfer Protocol
UNICORE_STORAGE_SERVICE:
Storage Service Provided by Unicore
LOCAL | 0 |
|
SCP | 1 |
|
SFTP | 2 |
|
GridFTP | 3 |
|
UNICORE_STORAGE_SERVICE | 4 |
|
Data structures
Struct: ResourceJobManager
Key | Field | Type | Description | Requiredness | Default value |
1 | resourceJobManagerId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | resourceJobManagerType | ResourceJobManagerType | | required | |
3 | pushMonitoringEndpoint | string | | optional | |
4 | jobManagerBinPath | string | | optional | |
5 | jobManagerCommands | map<JobManagerCommand , string > | | optional | |
Resource Job Manager Information
resourceJobManagerType:
A typical HPC cluster has a single Job Manager to manage the resources.
pushMonitoringEndpoint:
If the job manager pushes out state changes to a database or bus, specify the service endpoint.
Ex: Moab Web Service, Moab MongoDB URL, AMQP (GLUE2) Broker
jobManagerBinPath:
Path to the Job Manager Installation Binary directory.
jobManagerCommands:
An enumeration of commonly used manager commands.
Struct: BatchQueue
Key | Field | Type | Description | Requiredness | Default value |
1 | queueName | string | | required | |
2 | queueDescription | string | | optional | |
3 | maxRunTime | i32 | | optional | |
4 | maxNodes | i32 | | optional | |
5 | maxProcessors | i32 | | optional | |
6 | maxJobsInQueue | i32 | | optional | |
Batch Queue Information on SuperComputers
maxRunTime:
Maximum allowed run time in hours.
Struct: SCPDataMovement
Key | Field | Type | Description | Requiredness | Default value |
1 | dataMovementInterfaceId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | securityProtocol | SecurityProtocol | | required | |
3 | alternativeSCPHostName | string | | optional | |
4 | sshPort | i32 | | optional | 22 |
Data Movement through Secured Copy
alternativeSCPHostName:
If the login to scp is different than the hostname itself, specify it here
sshPort:
If a non-default port needs to used, specify it.
Struct: GridFTPDataMovement
Key | Field | Type | Description | Requiredness | Default value |
1 | dataMovementInterfaceId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | securityProtocol | SecurityProtocol | | required | |
3 | gridFTPEndPoints | list<string > | | required | |
Data Movement through GridFTP
alternativeSCPHostName:
If the login to scp is different than the hostname itself, specify it here
sshPort:
If a non-default port needs to used, specify it.
Struct: LOCALSubmission
Key | Field | Type | Description | Requiredness | Default value |
1 | jobSubmissionInterfaceId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | resourceJobManager | ResourceJobManager | | required | |
Locally Fork Jobs as OS processes
alternativeSSHHostName:
If the login to ssh is different than the hostname itself, specify it here
sshPort:
If a non-default port needs to used, specify it.
Struct: LOCALDataMovement
Key | Field | Type | Description | Requiredness | Default value |
1 | dataMovementInterfaceId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
LOCAL
alternativeSCPHostName:
If the login to scp is different than the hostname itself, specify it here
sshPort:
If a non-defualt port needs to used, specify it.
Struct: SSHJobSubmission
Key | Field | Type | Description | Requiredness | Default value |
1 | jobSubmissionInterfaceId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | securityProtocol | SecurityProtocol | | required | |
3 | resourceJobManager | ResourceJobManager | | required | |
4 | alternativeSSHHostName | string | | optional | |
5 | sshPort | i32 | | optional | 22 |
Authenticate using Secured Shell
alternativeSSHHostName:
If the login to ssh is different than the hostname itself, specify it here
sshPort:
If a non-default port needs to used, specify it.
Struct: GlobusJobSubmission
Key | Field | Type | Description | Requiredness | Default value |
1 | jobSubmissionInterfaceId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | securityProtocol | SecurityProtocol | | required | |
3 | globusGateKeeperEndPoint | list<string > | | optional | |
Struct: JobSubmissionInterface
Key | Field | Type | Description | Requiredness | Default value |
1 | jobSubmissionInterfaceId | string | | required | |
2 | jobSubmissionProtocol | JobSubmissionProtocol | | required | |
3 | priorityOrder | i32 | | required | 0 |
Job Submission Interfaces
jobSubmissionInterfaceId: The Job Submission Interface has to be previously registered and referenced here.
priorityOrder:
For resources with multiple interfaces, the priority order should be selected.
Lower the numerical number, higher the priority
Struct: DataMovementInterface
Key | Field | Type | Description | Requiredness | Default value |
1 | dataMovementInterfaceId | string | | required | |
2 | dataMovementProtocol | DataMovementProtocol | | required | |
3 | priorityOrder | i32 | | required | 0 |
Data Movement Interfaces
dataMovementInterfaceId: The Data Movement Interface has to be previously registered and referenced here.
priorityOrder:
For resources with multiple interfaces, the priority order should be selected.
Lower the numerical number, higher the priority
Struct: ComputeResourceDescription
Key | Field | Type | Description | Requiredness | Default value |
1 | computeResourceId | string | | required | "DO_NOT_SET_AT_CLIENTS" |
2 | hostName | string | | required | |
3 | hostAliases | set<string > | | optional | |
4 | ipAddresses | set<string > | | optional | |
5 | resourceDescription | string | | optional | |
6 | batchQueues | list<BatchQueue > | | optional | |
7 | fileSystems | map<FileSystems , string > | | optional | |
8 | jobSubmissionInterfaces | list<JobSubmissionInterface > | | optional | |
9 | dataMovementInterfaces | list<DataMovementInterface > | | optional | |
Computational Resource Description
computeResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
hostName:
Fully Qualified Host Name.
hostAliases:
Aliases if any.
ipAddress:
IP Addresses of the Resource.
resourceDescription:
A user friendly description of the resource.
JobSubmissionProtocols:
A computational resources may have one or more ways of submitting Jobs. This structure
will hold all available mechanisms to interact with the resource.
The key is the priority
DataMovementProtocol:
Option to specify a prefered data movement mechanism of the available options.
fileSystems:
Map of file systems type and the path.