Difference between revisions of "GPGPU-WG KnowledgeBase GLUE2 Profile ExecutionEnvironment"
Line 1: | Line 1: | ||
{{Template:Op menubar}} {{TOC_right}} | |||
[[Category:Task_forces]] | |||
'''[[GPGPU_Working_Group| << GPGPU Working Group main page]]''' | |||
== Introduction == | == Introduction == | ||
Revision as of 16:11, 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 ExecutionEnvironment class describes the hardware and operating system environment in which a job will run. It represents a set of homogeneous Worker Nodes, so if a computing system contains nodes with significantly different properties there MAY be several ExecutionEnvironment instances. This implies that it should be possible to request a specific environment when a job is submitted. The ExecutionEnvironment MAY refer to virtual rather than physical machines.
As well as attributes describing a typical node, the class gives summary information about the size and usage of the set of nodes which posess those properties. However, there is no way to relate these to the information in other entities, e.g. it is not possible to know which jobs in a given ComputingShare are running on which ExecutionEnvironment.
Discussion Points
The ExecutionEnvironment attributes (listed below) describe the properties of a CPU environment. The question as to whether this is an appropriate environment for decribing Accelerators is an issue that this Working Group should either recommend or advise against. Arguments for both cases are listed below:
- Pro
- Can describe basic properties of GPGPU/Accelerator (e.g. Vendor, Model, Quantity, Speed, Memory)
- Can associate/assign multiple Benchmarks to the ExecutionEnvironment
- Can use the OpenCL platform/device classification to easily agree a common description for salient attributes
- Contra
- Does not describe Num of Streaming Cores/Parallel Threads.
ExecutionEnvironment | ||||
---|---|---|---|---|
Entity | Inherits from | Description | ||
ExecutionEnvironment | Resource | A type of environment available to and requestable by a Grid job when submitted to a
ComputingService via a Computing Endpoint; the type of environment is described in terms of hardware, operating system and network characteristics. Information about the total/available/used instances of this type of execution environment are also included. | ||
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 |
Platform | Platform_t | 1 | The platform of this Execution Environment. | |
VirtualMachine | ExtendedBoolean_t | 0..1 | True if the Execution Environment is hosted within a virtual machine; in this case, the values of the other attributes are related to the virtualized environment and not to the hosting environment. | |
TotalInstances | UInt32 | 0..1 | The total number of Execution Environment instances. This SHOULD reflect the total installed capacity, i.e. including resources which are temporarily unavailable. | |
UsedInstances | UInt32 | 0..1 | The number of Execution Environment instances which are considered to be fully used; an instance is used when, according to the policies of the Computing Manager (i.e., LRMS), it cannot accept new jobs because it already runs the maximum number of allowed jobs. | |
UnavailableInstances | UInt32 | 0..1 | The number of Execution Environment instances which are currently unavailable, e.g. because of failures or maintenance. | |
PhysicalCPUs | UInt32 | 0..1 | The number of physical CPUs in one ExecutionEnvironment instance, i.e. the number of sockets per Worker Node. | |
LogicalCPUs | UInt32 | 0..1 | The number of logical CPUs in one ExecutionEnvironment instance, i.e. typically the number of cores per Worker Node. | |
CPUMultiplicity | CPUMultiplicity_t | 0..1 | Condensed information about the multiplicity of both physical CPUs and cores available in an execution environment instance.. | |
CPUVendor | String | 0..1 | The name of the physical CPU vendor. Free format, but it SHOULD correspond to the name by which the vendor is generally known. | |
CPUModel | String | 0..1 | The name of the physical CPU model, as defined by the vendor. | |
CPUVersion | String | 0..1 | The specific version of the Physical CPU model, as defined by the vendor | |
CPUClockSpeed | UInt32 | 0..1 | MHz | The nominal clock speed of the physical CPU. |
CPUTimeScalingFactor | Real32 | 0..1 | The factor used by the Computing Manager (i.e., LRMS) to scale the CPU time limit (the CPU Time is divided by the CPUTimeScalingFactor); for the reference execution environment, this attribute is equal to 1. See the description of the ComputingShare for further information. | |
WallTimeScalingFactor | Real32 | 0..1 | The factor used by the Computing Manager (i.e., LRMS) to scale the Wallclock time limit (the Wallclock Time is divided by the WallTimeScalingFactor). See the description of the ComputingShare for further information. | |
MainMemorySize | UInt64 | 1 | MB | The total amount of physical RAM in one Execution Environment instance; if many jobs run in the same instance they compete for the total RAM. |
VirtualMemorySize | UInt64 | 0..1 | MB | The total amount of virtual memory (RAM plus swap space) in one ExecutionEnvironment instance. |
OSFamily | OSFamily_t | 1 | The general family to which the ExecutionEnvironment operating system belongs. | |
OSName | OSName_t | 0..1 | The specific name of the operating system. | |
OSVersion | String | 0..1 | The version of the operating system, as defined by the vendor. | |
ConnectivityIn | ExtendedBoolean_t | 1 | True if direct inbound network connectivity is available to a running job, even if limited, e.g. by firewall rules. | |
ConnectivityOut | ExtendedBoolean_t | 1 | True if direct outbound network connectivity is available from a running job, even if limited, e.g. by firewall rules. | |
NetworkInfo | NetworkInfo_t | * | The type of internal network connection available among the Execution Environment instances. | |
Association End | Mult. | Description | ||
ComputingManager.ID (Redefines Manager.ID) | 1 | An execution environment is managed by a computing manager. | ||
ComputingShare.ID (Redefines Share.ID) | * | An execution environment provides capacity in terms of computing shares. | ||
ComputingActivity.ID | * | An execution environment runs zero or more computing activities. | ||
ApplicationEnvironment.ID | * | An execution environment offers zero or more application environments. | ||
Benchmark.ID | * | An execution environment has zero or more associated benchmarks. | ||
Inherited Association End | Mult. | Description | ||
Extension.Key | * | The entity MAY be extended via key-value pairs |