Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Difference between revisions of "GPGPU-WG KnowledgeBase GLUE2 Profile Application"

From EGIWiki
Jump to navigation Jump to search
Line 3: Line 3:
There are two GLUE2 classes to consider here:
There are two GLUE2 classes to consider here:
* The '''ApplicationEnvironment''', which is a significant extension to the GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment.
* The '''ApplicationEnvironment''', which is a significant extension to the GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment.
* The '''ApplicationHandle''', a new class that can indicate how an to describe an ApplicationEnvironment instance can setup the software environment.
* The [[wiki:GPGPU-WG:GPGPU_Working_Group_KnowlegeBase:GLUE2:Profile:Application:ApplicationHandle| ApplicationHandle]], a new class that 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 GIP plugin ''glite-ce-glue2-applicationenvironment-dynamic'' produces ApplicationEnvironment data by converting the basic GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment to a simple ApplicationEnvironment instance.  
Line 13: Line 13:




The ApplicationEnvironment is defined as follows:
{| class="wikitable"
!colspan="5"| '''ApplicationEnvironment'''
|- style="color:white; background-color:black;" cellpadding="3"
|'''Entity'''
|colspan=3 | '''Inherits from'''
|'''Description'''
|-
| ApplicationEnvironment
| colspan="3" | Entity
|  A description of the installed application software available or software environment characteristics available within one or more Execution Environments.
|- style="color:white; background-color:black;" cellpadding="3"
| '''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.''
|- style="color:white; background-color:black;" cellpadding="3"
| '''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.
|- style="color:white; background-color:black;" cellpadding="3"
| colspan="2" | '''Association End'''
| '''Mult.'''
| colspan=2 | '''Description'''
|-
| colspan="2" | ExecutionEnvironment.ID
| *
| colspan="2" | An application environment MAY be used in zero or more execution environments
|-
| colspan="2" | ComputingManager.ID
| 1
| colspan="2" | An application environment is part of a computing manager.
|-
| colspan="2" | ApplicationHandle.ID
| *
| colspan="2" | An application environment MAY be handled via zero or more application handles.
|- style="color:white; background-color:black;" cellpadding="3"
| colspan="2" | '''Inherited Association End'''
| '''Mult.'''
| colspan="2" | '''Description'''
|-
| colspan="2" |Extension.Key
| *
| colspan="2" | 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.
{| class="wikitable"
!colspan="5"| '''ApplicationHandle'''
|- style="color:white; background-color:black;" cellpadding="3"
|'''Entity'''
|colspan=3 | '''Inherits from'''
|'''Description'''
|-
| ApplicationHandle
| colspan="3" | Entity
| The description of a technique for bootstrapping and/or accessing an application environment.
|- style="color:white; background-color:black;" cellpadding="3"
| '''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.''
|- style="color:white; background-color:black;" cellpadding="3"
| '''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
|- style="color:white; background-color:black;" cellpadding="3"
| colspan="2" | '''Association End'''
| '''Mult.'''
| colspan=2 | '''Description'''
|-
| colspan="2" | ApplicationEnvironment.ID
| 1
| colspan="2" | An application handle MAY be used for one application environment.
|- style="color:white; background-color:black;" cellpadding="3"
| colspan="2" | '''Inherited Association End'''
| '''Mult.'''
| colspan="2" | '''Description'''
|-
| colspan="2" |Extension.Key
| *
| colspan="2" | The entity MAY be extended via key-value pairs
|}

Revision as of 20:56, 25 February 2014

The Working Group shall define an EGI Community GLUE2 based standard that encapsulates and publishes data about the application software its environment required by Computational Accelerators.

There are two GLUE2 classes to consider here:

  • The ApplicationEnvironment, which is a significant extension to the GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment.
  • The ApplicationHandle, a new class that 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.