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
 
(20 intermediate revisions by 2 users not shown)
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.
{{Template:Op menubar}} {{TOC_right}}
[[Category:Task_forces]]
 
'''[[GPGPU_Working_Group| << GPGPU Working Group main page]]'''
 
= Introduction =
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 [[GPGPU-WG:GPGPU_Working_Group_KnowledgeBase:GLUE2:Profile:Application:ApplicationEnvironment |ApplicationEnvironment]], which is a significant extension to the GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment.
* The [[GPGPU-WG:GPGPU_Working_Group_KnowledgeBase:GLUE2:Profile:Application:ApplicationHandle| ApplicationHandle]], a new class that can indicate how an to describe an ApplicationEnvironment instance can setup the software environment.
 
In addition, each application can have a reference to one or more application benchmarks.
 
The GIP plugin ''glite-ce-glue2-applicationenvironment-dynamic'' produces ApplicationEnvironment data by converting the basic GLUE1 GlueHostApplicationSoftwareRunTimeEnvironment to a simple ApplicationEnvironment instance.  




Line 5: Line 19:
* Each Application is identified by a name.  
* 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.
* 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:


{| class="wikitable"
 
!colspan="5"| '''ApplicationEnvironment'''
== Task 1 ==
|-
The Working Group shall propose a convention to advertise application software that support GPGPUs and CAs. In particular, we should consider the following ApplicationEnvironments:
|'''Entity'''
* CUDA
|colspan=3 | '''Inherits from'''
* OpenCL
|'''Description'''
* Support Applications/Compilers for Intel Xeon Phi
|-
* Application Benchmarks?
| ApplicationEnvironment
* Other User Application Software?
| colspan="3" | Entity
 
|  A description of the installed application software available or software environment characteristics available within one or more Execution Environments.
== Task 2 ==
|-
The working group shall discuss the merits of using ApplicationHandle instances to help bootstrap each
| '''Inherited Attribute '''
[[GPGPU-WG:GPGPU_Working_Group_KnowledgeBase:GLUE2:Profile:Application:ApplicationEnvironment |ApplicationEnvironment]]
| '''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.
|-
| 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.
|-
| colspan="2" | '''Inherited Association End'''
| '''Mult.'''
| colspan="2" | '''Description'''
|-
| colspan="2" |Extension.Key
| *
| colspan="2" | The entity MAY be extended via key-value pairs
|}

Latest revision as of 16:05, 22 January 2015

Main EGI.eu operations services Support Documentation Tools Activities Performance Technology Catch-all Services Resource Allocation Security


<< GPGPU Working Group main page

Introduction

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.

In addition, each application can have a reference to one or more application benchmarks.

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.


Task 1

The Working Group shall propose a convention to advertise application software that support GPGPUs and CAs. In particular, we should consider the following ApplicationEnvironments:

  • CUDA
  • OpenCL
  • Support Applications/Compilers for Intel Xeon Phi
  • Application Benchmarks?
  • Other User Application Software?

Task 2

The working group shall discuss the merits of using ApplicationHandle instances to help bootstrap each ApplicationEnvironment