Difference between revisions of "GPGPU-WG KnowledgeBase GLUE2 Profile Application"
Line 1: | Line 1: | ||
The Working Group shall define an EGI Community standard that encapsulates the application software required on Worker Nodes in order to support Computational Accelerators. | The Working Group shall define an EGI Community standard that encapsulates the application software required on Worker Nodes in order to support Computational Accelerators. | ||
There are two classes to consider here: | |||
* The '''ApplicationEnvironment''' is a significant extension to the GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment. | |||
* The '''ApplicationHandle''' can indicate how an to describe an ApplicationEnvironment instance can setup the software environment. | |||
The GIP plugin ''glite-ce-glue2-applicationenvironment-dynamic'' produces ApplicationEnvironment data by converting the basic GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment to a simple ApplicationEnvironment instance. | |||
Revision as of 20:43, 25 February 2014
The Working Group shall define an EGI Community standard that encapsulates the application software required on Worker Nodes in order to support Computational Accelerators.
There are two classes to consider here:
- The ApplicationEnvironment is a significant extension to the GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment.
- The ApplicationHandle can indicate how an to describe an ApplicationEnvironment instance can setup the software environment.
The GIP plugin glite-ce-glue2-applicationenvironment-dynamic produces ApplicationEnvironment data by converting the basic GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment to a simple ApplicationEnvironment instance.
The ApplicationEnvironment is a GLUE2 class that describes the software environment in which a job will run.
- Each Application is identified by a name.
- These names are not defined by the schema, but should be assigned in a way that allows applications to be uniquely identified.
- The ApplicationEnvironment is defined as follows:
ApplicationEnvironment | ||||
---|---|---|---|---|
Entity | Inherits from | Description | ||
ApplicationEnvironment | Entity | A description of the installed application software available or software environment characteristics available within one or more Execution Environments. | ||
Inherited Attribute | Type | Mult | Unit | Description |
Creation Time | DateTime_t | 0..1 | Timestamp describing when the entity instance was created | |
Validity | Unit64 | 0..1 | s | The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed, the information SHOULD NOT be consideredrelevant |
ID [key] | URI | 1 | A global unique ID | |
Name | String | 0..1 | Human Readable name | |
OtherInfo | String | * | Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax. | |
Attribute | Type | Mult | Unit | Description |
AppName | String | 1 | The name of the application or environment. | |
AppVersion | String | 0..1 | The version of the application or environment, as defined by the supplier. | |
Repository | URL | 0..1 | The URL of a service which offers a name service and/or a repository for this application environment. Application environments can be categorized under namespaces maintained by application repositories. | |
State | AppEnvStat_t | 0..1 | The current installation state of the application. | |
RemovalDate | DateTime_t | 0..1 | The date and time after which the application MAY be removed. | |
License | License_t | 0..1 | The type of license under which the application is usable | |
Description | String | 0.1 | A human-readable description of this application or environment. | |
BestBenchmark | Benckmark_t | * | The type of benchmark which best identifies the sensitivity of this application to the performance of the Execution Environment, which can be compared with the rating published via the Benchmark class. | |
ParallelSupport | ParallelSupport_t | 0..1 | The type of supported parallel execution framework | |
MaxSlots | UInt32 | 0..1 | slot | The maximum number of concurrent slots that may be used to run jobs using the application |
MaxJobs | UInt32 | 0..1 | job | The maximum number of concurrent jobs that may use the application |
MaxUserSeats | UInt32 | 0..1 | user seat | The maximum number of concurrent user seats (i.e. distinct users) that may use the application. |
FreeSlots | UInt32 | 0..1 | slot | The number of slots currently available to run jobs using the application |
FreeJobs | UInt32 | 0..1 | job | The number of jobs that could immediately start their execution using the application |
FreeUserSeats | UInt32 | 0..1 | user seat | The current number of free seats for additional users to use the application. |
Association End | Mult. | Description | ||
ExecutionEnvironment.ID | * | An application environment MAY be used in zero or more execution environments | ||
ComputingManager.ID | 1 | An application environment is part of a computing manager. | ||
ApplicationHandle.ID | * | An application environment MAY be handled via zero or more application handles. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs |
The ApplicationHandle class is an extension to ApplicationEnvironment for applications which need to be set up in some way before they can be used. For each supported setup method a string MAY be specified, the interpretation of which is specific to the method - in the simplest case this could just be a setup script to execute. A single Application MAY support multiple setup methods.
Note: The OGF Glue 2 Specification defines the ApplicationHandle_t as an open numeration, with values of:
- executable
- module
- Path
- softenv
Presently no information is published in the BDII that uses this Class. However, it may be seen as a very good way to correctly bootstrap the environment for the users job.
ApplicationHandle | ||||
---|---|---|---|---|
Entity | Inherits from | Description | ||
ApplicationHandle | Entity | The description of a technique for bootstrapping and/or accessing an application environment. | ||
Inherited Attribute | Type | Mult | Unit | Description |
Creation Time | DateTime_t | 0..1 | Timestamp describing when the entity instance was created | |
Validity | Unit64 | 0..1 | s | The duration after CreationTime that the information presented in the Entity SHOULD be considered relevant. After that period has elapsed, the information SHOULD NOT be consideredrelevant |
ID [key] | URI | 1 | A global unique ID | |
Name | String | 0..1 | Human Readable name | |
OtherInfo | String | * | Placeholder to publish info that does not fit in any other attribute. Free-form string, comma-separated tags, (name, value ) pair are all examples of valid syntax. | |
Attribute | Type | Mult | Unit | Description |
Type | ApplicationHandle_t | 1 | The type of method used to set up this application environment. | |
Value | String | 1 | A string which defines how to set up this application in the context of the setup method specified by the Type | |
Association End | Mult. | Description | ||
ApplicationEnvironment.ID | 1 | An application handle MAY be used for one application environment. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs |