GPGPU-WG KnowledgeBase GLUE2 Profile Application ApplicationEnvironment
The ApplicationEnvironment is a GLUE2 class that describes the software environment in which a job will run.
- Each Application is identified by a name.
- The AppVersion is voluntary
- These names are not defined by the schema, but should be assigned in a way that allows applications to be uniquely identified.
- Q1. Should we use the AppVersion to indicate what version the software is installed?
- Pros (positives)
- Makes it clear which version of the software is installed.
- Could be generated dynamically (requires changes to GIP plugin, and assumes the value can be calulated on that resource BDII)
- Cons (negatives)
- If there are different versions of the software installed, they cannot all use the same name, so version data has to be incorporated into the AppName anyhow.
- Pros (positives)
- Q2. If we add version information data to the AppName, what convention shall we use? Is the format AppName_MajorVersion and AppName_MajorVersion_MinorVersion enough?
- Q3. Do we want to use the OtherInfo attribute? If so, what are the use cases?
Draft Application Profiles
The ApplicationEnvironment is defined as follows:
|ApplicationEnvironment||Entity||A description of the installed application software available or software environment characteristics available within one or more Execution Environments.|
|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.|
|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.|
|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|