Skip to content

Latest commit

 

History

History
3769 lines (3718 loc) · 157 KB

computing-service.md

File metadata and controls

3769 lines (3718 loc) · 157 KB
description
Section 7

Conceptual Model of the Computing Service

The conceptual model of the Computing Service is based on the main entities and uses specializations of the Service, Endpoint, Share, Manager, Resource, and Activity entities. Further computing related concepts such as ApplicationEnvironment, ApplicationHandle and Benchmark are introduced.

Figure 2 Entities and relationships for the Computing Service conceptual model

In this section, we extensively use the concepts of physical CPU, logical CPU and slot defined as follows:

  • a physical CPU is defined by a socket on a motherboard, i.e. there is one physical CPU per socket (e.g., a multi-core CPU counts as one physical CPU);
  • a logical CPU corresponds to a CPU as visible by the operating system running either on a real or virtual machine (e.g. a four-core CPU counts as four logical CPUs);
  • a slot is a portion of executable time in a logical CPU offered by an execution environment instance which MAY be occupied by a job:
    • typically there is one slot per logical CPU, but a logical CPU MAY be shared among multiple slots;
    • jobs MAY occupy several slots at the same time (e.g., MPI jobs); a multi-slot job is counted as one Activity.

Throughout the specification, we also use the concept of storage extent to mean the capabilities and management of the various media that exist to store data and allow data retrieval.

7.1. ComputingService

The ComputingService class is a specialization of the Service class for a service offering computational capacity. The ComputingService entity is the main logical unit, and aggregation point for several entities together modeling a computing capability in a Grid system. A ComputingService is capable of executing ComputingActivities on its associated resources. The resources behind the ComputingService are described via the ComputingManager, ExecutionEnvironment, ApplicationEnvironment, ApplicationHandle and Benchmark entities. The governing policies and status of the resources are given by the ComputingShare elements. The ComputingActivities of a ComputingService are submitted and controlled via a ComputingEndpoint.

Entity Inherits from Description
ComputingService Service

An abstracted, logical view of software and hardware components that participate in the creation of a computational capacity in a Grid environment. A Computing Service exposes zero or more Computing Endpoints having well-defined interfaces, zero or more Computing Shares and zero or more Computing Managers and the related Execution Environments.

The computing service is autonomous and denotes a weak aggregation among Computing Endpoints, the underlying Computing Managers and related Execution Environments, and the defined Computing Shares. The Computing Service enables the identification of the whole set of entities providing the computing functionality with a persistent name.

Inherited Attribute Type Mult Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant
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
Capability Capability_t * The provided capability according to the Open Grid Service Architecture (OGSA) architecture [OGF-GFD80] (this is the union of all values assigned to the capability attribute of the endpoints part of this service)
Type ServiceType_t 1 The type of service according to a namespace-based classification (the namespace MAY be related to a middleware name, an organization or other concepts; org.ogf.glue is reserved for the OGF GLUE Working Group)
QualityLevel QualityLevel_t 1 Maturity of the service in terms of quality of the software components
StatusInfo URI * Web page providing additional information like monitoring aspects
Complexity String 0..1 Human-readable summary description of the complexity in terms of the number of endpoint types, shares and resources. The syntax should be: endpointType=X, share=Y, resource=Z.
Attribute Type Mult Unit Description
TotalJobs UInt32 0..1 job The total number of Grid jobs currently known to the system (the sum of RunningJobs, WaitingJobs, StagingJobs, SuspendedJobs and PreLRMSWaitingJobs); this value SHOULD not include jobs submitted locally rather than via the Grid.
RunningJobs UInt32 0..1 job The number of Grid jobs which are currently running in an Execution Environment.
WaitingJobs UInt32 0..1 job The number of Grid jobs which are currently waiting to start execution. Usually these will be queued in the underlying Computing Manager (i.e., a Local Resource Managment System or LRMS).
StagingJobs UInt32 0..1 job The number of Grid jobs which are currently either staging files in before starting execution, or staging files out after finishing execution.
SuspendedJobs UInt32 0..1 job The number of Grid jobs which have started their execution, but are currently suspended (e.g., having been preempted by another job).
PreLRMSWaitingJobs UInt32 0..1 job The number of Grid jobs which are currently managed by the Grid software layer waiting to be passed to the underlying Computing Manager (LRMS), and hence are not yet candidates to start execution.
Association End Mult. Description

ComputingEndpoint.ID

[redefines Endpoint.ID]

* A computing service exposes zero or more computing endpoints.
ComputingShare.ID [redefines Share.ID] * A computing service offers zero or more computing shares.
ComputingManager.ID [redefines Manager.ID] * A computing service offers zero or more computing managers.
StorageService.ID
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
Contact.ID * A computing service has zero or more contacts.
Location.ID 0..1 A computing service is primarily located at a location.
Service.ID * A computing service is related to zero or more services.
A simple ComputingService is formed by a ComputingEndpoint exposing an interface for job submission and control. In the case of a single ComputingManager whose ExecutionEnvironments are exposed by multiple ComputingEndpoints, the ComputingManager, ExecutionEnvironments and ComputingEndpoints MUST be considered as part of the same ComputingService. In the case of a single ComputingEndpoint exposing ExecutionEnvironments managed by different ComputingManagers, then the ComputingEndpoint, the ExecutionEnvironments and the related ComputingManagers MUST be considered as part of the same ComputingService.

The ComputingService always aggregates ComputingEndpoints, ComputingShares, ComputingManagers and ExecutionEnvironments forming a connected set. In other words, Endpoint A exposing ExecutionEnvironment A of Manager A via Share A and Endpoint B exposing ExecutionEnvironment B of Manager B via Share B form two different ComputingServices. On the other hand, Endpoint A exposing ExecutionEnvironment A of Manager A via Share A and Endpoint B exposing ExecutionEnvironment A of Manager A via Share B form a single ComputingService.

ComputingEndpoint

The ComputingEndpoint is a specialization of the Endpoint class for a service possessing computational capability. The class represents an endpoint which is used to create, control and monitor computational activities. The computational-specific information concerns service load related parameters, staging capabilities and supported types of job description. This class provides attributes that MAY be used to publish summary information about jobs submitted via a particular Endpoint. Such attributes are optional and may not always be reported (e.g., in the case of a stateless Endpoint which does not keep information about the jobs submitted through it).

Entity Inherits from Description
ComputingEndpoint Endpoint A network Endpoint for creating, monitoring, and controlling computational Activities called jobs. It MAY also be used to expose complementary capabilities (e.g., resource reservation or proxy manipulation).
Inherited Attribute Type Mult Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant
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
URL URI 1 Network location of the endpoint to contact the related service
Capability Capability_t * The provided capability according to the OGSA architecture
Technology EndpointTechnology_t 0..1 Technology used to implement the endpoint
InterfaceName InterfaceName_t 1 Identification of the interface
InterfaceVersion String 0..* Version of the interface
InterfaceExtension URI * Identification of an extension to the interface
WSDL URI * URL of the WSDL document describing the offered interface (applies to Web Services endpoint)
SupportedProfile URI * URI identifying a supported profile
Semantics URI * URI of a document providing a human-readable description of the semantics of the endpoint functionalities
Implementor String 0..1 Main organization implementing this software component
ImplementationName String 0..1 Name of the implementation
ImplementationVersion String 0..1 Version of the implementation (e.g., major version.minor version.patch version)
QualityLevel QualityLevel_t 1 Maturity of the endpoint in terms of quality of the software components
HealthState EndpointHealthState_t 1 A state representing the health of the endpoint in terms of its capability of properly delivering the functionalities
HealthStateInfo String 0..1 Textual explanation of the state endpoint
ServingState ServingState_t 1 A state specifying if the endpoint is accepting new requests and if it is serving the already accepted requests
StartTime DateTime_t 0..1 The timestamp for the start time of the endpoint
Authentication EndpointAuthentication_t 0..1 Name of the authentication method supported by the endpoint.
IssuerCA DN_t 0..1 Distinguished name of Certification Authority issuing the certificate for the endpoint
TrustedCA DN_t * Distinguished name of the trusted Certification Authority (CA), i.e., certificates issued by the CA are accepted for the authentication process
DowntimeAnnounce DateTime_t 0..1 The timestamp for the announcement of the next scheduled downtime
DowntimeStart DateTime_t 0..1 The starting timestamp of the next scheduled downtime
DowntimeEnd DateTime_t 0..1 The ending timestamp of the next scheduled downtime
DowntimeInfo String 0..1 Description of the next scheduled downtime
Attribute Type Mult. Unit Description
Staging Staging_t 0..1 Supported file staging functionalities, if any.
JobDescription JobDescription_t * Supported type of job description language.
TotalJobs UInt32 0..1 Job The total number of Grid jobs currently known to the system (the sum of RunningJobs, WaitingJobs, StagingJobs, SuspendedJobs and PreLRMSWaitingJobs); this value SHOULD not include jobs submitted locally rather than via the Grid.
RunningJobs UInt32 0..1 job The number of Grid jobs which are currently running in an Execution Environment.
WaitingJobs UInt32 0..1 job The number of Grid jobs which are currently waiting to start execution. Usually these will be queued in the underlying Computing Manager (i.e., a Local Resource Managment System or LRMS).
StagingJobs UInt32 0..1 job The number of Grid jobs which are currently either staging files in before starting execution, or staging files out after finishing execution.
SuspendedJobs UInt32 0..1 job The number of Grid jobs which have started their execution, but are currently suspended (e.g., having been preempted by another job).
PreLRMSWaitingJobs UInt32 0..1 job The number of Grid jobs which are currently managed by the Grid software layer waiting to be passed to the underlying Computing Manager (LRMS), and hence are not yet candidates to start execution.
Association End Mult. Description

ComputingService.ID

[redefines Service.ID]

1 A computing endpoint is part of a Computing Service.
ComputingShare.ID [redefines Share.ID] * A computing endpoint MAY pass activities to zero or more computing shares.

ComputingActivity.ID

[redefines Activity.ID]

* An endpoint has accepted and is managing zero or more Activities.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
AccessPolicy.ID * A computing endpoint has assocated zero or more AccessPolicies.
### ComputingShare

The ComputingShare class is the specialization of the main Share class for computational services. A Computing Share is a high-level concept introduced to model a utilization target for a set of Execution Environments defined by a set of configuration parameters and characterized by status information. A ComputingShare carries information about "policies" (limits) defined over all or a subset of resources and describes their dynamic status (load).

In clusters managed by a batch system (LRMS), the simplest way to set up a Computing Share is to configure a batch queue. Nevertheless, the same Computing Share may be implemented using different batch system configuration strategies. In complex batch systems, a batch queue may be configured with different sets of policies for different sets of users. This implies that each set of users obtains a different utilization target. Such a scenario MAY be represented by different Computing Shares. In general, given a number of shares to be set up, it is possible to adopt different configuration strategies in the underlying system. Regardless of the selected approach, the external behaviour does not change. The main goal of the Computing Share concept is to abstract from such implementation choices and to represent the externally observable behaviour.

The introduction of the Computing Share concept also supports the modelling of heterogeneity within a ComputingService by being able to have associations to different Execution Environments.

Entity Inherits from Description
ComputingShare Share A utilization target for a set of Execution Environments, defined by a set of configuration parameters and characterized by status information.
Inherited Attribute Type Mult Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant
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
Description String 0..1 Description of this share
Attribute Type Mult. Unit Description
MappingQueue String 0..1 The name of a queue available in the underlying Computing Manager (i.e., LRMS) where jobs related to this share are submitted. Different Shares MAY be mapped into the same queue; it is not foreseen that a single share MAY be mapped into many different queues.
MaxWallTime UInt64 0..1 s The maximum obtainable wall clock time limit that MAY be granted to a single-slot job upon user request (un-normalized value, see below).
MaxMultiSlotWallTime UInt64 0..1 s The maximum obtainable wall clock time limit that MAY be granted to a multi-slot job upon user request; this value is measured from the start of the first slot up to the release of the last slot. (un-normalized value, see below).
MinWallTime UInt64 0..1 s The minimum wall clock time per slot for a job (un-normalized value, see below); if a job requests a lower time, then it MAY be rejected; if a job requests at least this value, but runs for a shorter time, then it might be accounted for this value.
DefaultWallTime UInt64 0..1 s The default wall clock time limit per slot assigned to a job by the Computing Manager (LRMS) if no limit is requested in the job submission description (un-normalized value, see below). Once this time is expired the job MAY be killed or removed from the queue.
MaxCPUTime UInt64 0..1 s The maximum obtainable CPU time limit that MAY be granted to the job upon user request per slot (un-normalized value, see below)
MaxTotalCPUTime UInt64 0..1 s The maximum obtainable CPU time limit that MAY be granted to the job upon user request across all assigned slots; this attribute is a limit on the sum of the CPU time used in all the slots occupied by a multi-slot job (un-normalized value, see below).
MinCPUTime UInt64 0..1 s The minimum CPU time per slot for a job (un-normalized value, see below); if a job requests a lower time, than it MAY be rejected; if a job requests at least this value, but uses the CPU for a shorter time, then it might be accounted for this value.
DefaultCPUTime UInt64 0..1 s The default CPU time limit per slot assigned to each job by the Computing Manager (LRMS ) if no limit is requested in the job submission description (un-normalized value, see below).
MaxTotalJobs UInt32 0..1 job The maximum allowed number of jobs in this Share.
MaxRunningJobs UInt32 0..1 job The maximum allowed number of jobs in the running state in this Share.
MaxWaitingJobs UInt32 0..1 job The maximum allowed number of jobs in the waiting state in this Share.
MaxPreLRMSWaitingJobs UInt32 0..1 job The maximum allowed number of jobs that are in the Grid layer waiting to be passed to the underlying computing manager (i.e., LRMS) for this Share.
MaxUserRunningJobs UInt32 0..1 job The maximum allowed number of jobs in the running state per Grid user in this Share.
MaxSlotsPerJob UInt32 0..1 slot The maximum number of slots which could be allocated to a single job in this Share (defined to be 1 for a Computing Manager accepting only single-slot jobs).
MaxStageInStreams UInt32 0..1 stream The maximum number of streams available to stage files in.
MaxStageOutStreams UInt32 0..1 stream The maximum number of streams available to stage files out.
SchedulingPolicy SchedulingPolicy_t 0..1 The type of scheduling policy used for the Share.
MaxMainMemory UInt64 0..1 MB The maximum physical RAM that a job is allowed to use; if the limit is hit, then the LRMS MAY kill the job.
GuaranteedMainMemory UInt64 0..1 MB The amount of physical RAM that a job is guaranteed to have available for its use.
MaxVirtualMemory UInt64 0..1 MB The maximum total memory size (RAM plus swap) that a job is allowed to use; if the limit is hit, then the LRMS MAY kill the job.
GuaranteedVirtualMemory UInt64 0..1 MB The total amount of memory (RAM plus swap) that a job is guaranteed to have available for its use.
MaxDiskSpace UInt64 0..1 GB The maximum disk space that a job is allowed use in the working area; if the limit is hit, then the LRMS MAY kill the job.
DefaultStorageService URI 0..1 The ID of the default Storage Service to be used to store files by jobs in the case that no destination Storage Service is explicitly chosen.
Preemption ExtendedBoolean_t 0..1 True if the Computing Manager (i.e., LRMS) enables pre-emption of jobs; a pre-empted job is supposed to be automatically resumed, but may be suspended for an indefinite period.
ServingState ServingState_t 1 A state specifying whether the Share is open to accept new requests, and if it is open to offer the already present requests for execution.
TotalJobs UInt32 0..1 job The total number of jobs in any state (the sum of RunningJobs, WaitingJobs, StagingJobs, SuspendedJobs and PreLRMSWaitingJobs). Note that this number includes the locally submitted jobs.
RunningJobs UInt32 0..1 job The number of jobs which are currently running in an Execution Environment, submitted via any type of interface (local and Grid).
LocalRunningJobs UInt32 0..1 job The number of running jobs submitted via a local (non-GRID) interface.
WaitingJobs UInt32 0..1 job The number of jobs which are currently waiting to start execution, submitted via any type of interface (local and Grid). Usually these will be queued in the underlying Computing Manager (i.e., a Local Resource Managment System or LRMS).
LocalWaitingJobs UInt32 0..1 job The number of jobs which are currently waiting to start execution, submitted via a local (non-Grid) interface. Usually these will be queued in the underlying Computing Manager (i.e., a Local Resource Managment System or LRMS).
SuspendedJobs UInt32 0..1 job The number of jobs, submitted via any type of interface (local and Grid), which have started their execution, but are currently suspended (e.g., having been preempted by another job).
LocalSuspendedJobs UInt32 0..1 job The number of jobs, submitted via a local (non-Grid) interface, which have started their execution, but are currently suspended (e.g., having been preempted by another job).
StagingJobs UInt32 0..1 job The number of Grid jobs which are currently either staging files in before starting execution, or staging files out after finishing execution.
PreLRMSWaitingJobs UInt32 0..1 job The number of Grid jobs which are currently managed by the Grid software layer waiting to be passed to the underlying Computing Manager (LRMS), and hence are not yet candidates to start execution.
EstimatedAverageWaitingTime UInt64 0..1 s An estimate of the average time a job will wait after submission until it starts to execute. The value SHOULD be reported as 0 if there are free slots and a new job will start immediately, even if it takes some finite time for a job to be started.
EstimatedWorstWaitingTime UInt64 0..1 s An estimate of the worst-case time a job could wait after submission until it starts to execute. This would generally be based on an assumption that all existing jobs run to their maximum allowed time limits.
FreeSlots UInt32 0..1 slot The number of slots which are currently unoccupied by jobs and are free for new jobs in this Share to start immediately.
FreeSlotsWithDuration String 0..1 slot:s The number of free slots with their time limits. Syntax: ns[:t] [ns:t]*, where the pair ns:t means that there are ns free slots for the duration of t (expressed in seconds); the time limit information is optional.
UsedSlots UInt32 0..1 slot The number of slots currently occupied by running jobs.
RequestedSlots UInt32 0..1 slot The number of slots which are needed to execute all currently waiting and staging jobs.
ReservationPolicy ReservationPolicy_t 0..1 The type of policy used for advance reservation, if any.
Tag String * A UserDomain-defined tag for this Share (the values SHOULD use a namespace based on the UserDomain name to avoid collision).
Association End Mult. Description

ComputingEndpoint.ID

[redefines Endpoint.ID]

* A computing share MAY be consumed via one or more computing endpoints.

ExecutionEnvironment.ID

[redefines Resource.ID]

* A computing share is defined on one or more computing resources.

ComputingService.ID

[redefines Service.ID]

1 A computing share participates in a computing service.

ComputingActivity.ID

[redefines Activity.ID]

* A computing share is being consumed by zero or more computing activities.
ComputingShareAccelerator.ID * A computing share provides about the usage level of several accelerator devices.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
MappingPolicy.ID * A share has zero or more mapping policies.
As regards CPU Time and Wallclock Time related properties, there is a need to have a way to normalize them depending on the computing capacity of the ExecutionEnvironment. The approach proposed in GLUE is to add two attributes in the ExecutionEnvironment \(see Section 7.8\) which refer to the scaling factor to be used to compute the CPU/Wallclock time limit that a job will get if it will be assigned to such an ExecutionEnvironment via a certain Share. It is important that a job SHOULD always get at least the advertised CPU/Wallclock time. This means that the reference ExecutionEnvironment for the normalization should be always the fastest \(most powerful\) among those available in the entire ComputingService. For this ExecutionEnvironment, the scaling factor MUST be equal to 1. The CPU/Wallclock time values published by a Share therefore refer to the time limit that the job will get when mapped to this ExecutionEnvironment. For the other ExecutionEnvironments, the time should be adjusted according to the published scaling factors.

ComputingShareAccelerator

The ComputingShareAccelerator class contains all the information about the usage level of the accelerator device bound to the computing share.

Entity Inherits from Description
ComputingShareAccelerator Entity The usage level of the accelerator devices for a given computing share
Inherited Attribute Type Mult. Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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 AccType_t 1 The accelerator architecture type.
FreeSlots UInt32 0..1 The number of accelerator cards slots which are currently unoccupied by jobs and are free for new jobs in this Share to start immediately
UsedSlots UInt32 0..1 The number of accelerator cards slots currently occupied by running jobs.
MaxSlotsPerJob UInt32 0..1 The maximum number of accelerator slots which could be allocated to a single job in this Share
Association End Mult. Description
ComputingShare. ID 1 A set of accelerator information is related to a computing share.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
### ComputingManager

The ComputingManager class is a specialization of the Manager class for the computational capability. The ComputingManager is responsible for the local control of resources, and this layer is not exposed directly to external clients. The operating system might be the simplest case of a Computing Manager, but the ComputingManager is often realized by means of a Local Resource Management (LRMS) "batch" system. A Computing Service will usually only have one Computing Manager, but MAY have more. The class provides aggregated information on controlled resources, and also describes local storage extents accessible to jobs.

Entity Inherits from Description
ComputingManager Manager A software component locally managing one or more Execution Environments. It MAY also describe aggregated information about the managed resources. The computing manager is also known as a Local Resource Management System (LRMS).
Inherited Attribute Type Mult Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant
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
ProductName String 1 Name of the software product adopted as manager
ProductVersion String 0..1 Version of the software product adopted as manager
Attribute Type Mult. Unit Description
Reservation ExtendedBoolean_t 0..1 True if the Computing Manager (i.e, LRMS) supports advance reservation of resources.
BulkSubmission ExtendedBoolean_t 0..1 True if the computing manager (i.e, LRMS) supports bulk submission of multiple jobs.
TotalPhysicalCPUs UInt32 0..1 Ph.CPU The total number of physical CPUs accessible via any of the available Endpoints and managed by this Computing Manager (there is one physical CPU per socket). This value SHOULD represent the total installed capacity, i.e. including resources which are temporarily unavailable.
TotalLogicalCPUs UInt32 0..1 Log.CPU The total number of logical CPUs accessible via any of the available Endpoints and managed by this Computing Manager (a logical CPU corresponds to a CPU visible to the operating system). This value SHOULD represent the total installed capacity, i.e. including resources which are temporarily unavailable.
TotalSlots UInt32 0..1 slot The total number of slots managed by this Computing Manager which are currently available to run jobs.
SlotsUsedByLocalJobs UInt32 0..1 slot The number of slots currently occupied by jobs submitted via a local (non-Grid) interface.
SlotsUsedByGridJobs UInt32 0..1 slot The number of slots currently occupied by jobs submitted via a Grid interface.
Homogeneous ExtendedBoolean_t 0..1 True if this Computing Manager manages only one type of Execution Environment.
NetworkInfo NetworkInfo_t * The type of internal network connection available among the managed Execution Environment instances. If many values are published then the various types of network MAY be available only within subsets of the Execution Environment instances; the Execution Environment properties SHOULD publish this information.
LogicalCPUDistribution String 0..1 A classification of the managed Execution Environment instances aggregated by the number of logical CPUs. Syntax: X1:Y1, …, Xn:Yn, where I is the i-th group of Execution Environments with the same number of logical CPUs, Xi is the number of logical CPUs in each Execution Environment instance and Yi is the number of Execution Environment instances.
WorkingAreaShared ExtendedBoolean_t 0..1 True if the working area (see below) is shared across different Execution Environment instances (i.e., cluster nodes), typically via an NFS mount; this attribute applies to single-slot jobs.
WorkingAreaGuaranteed ExtendedBoolean_t 0..1 True if the job is guaranteed the full extent of the WorkingAreaTotal; this attribute applies to single-slot jobs.
WorkingAreaTotal UInt64 0..1 GB Total size of the working area (see below) available to all single-slot Grid jobs, either as a shared area across all the Execution Environments (WorkingAreaShared is true) or local to each Execution Environment (WorkingAreaShared is false). If the Computing Manager supports individual quotas per job/user, this is not advertised. In the case of a non-shared working area with a different local space allocation on each node, the advertised total size SHOULD be the minimum available across all the Execution Environment instances.
WorkingAreaFree UInt64 0..1 GB The amount of free space currently available in the working area (see below), available to all single-slot Grid jobs either as a shared area across all the Execution Environments (WorkingAreaShared is true) or local to each Execution Environment (WorkingAreaShared is false). If the computing manager supports individual quotas per job/user, this is not advertised. In the case of a non-shared and non-guaranteed working area, this attribute SHOULD represent the minimum free working area currently available in any Execution Environment instance. In the case of a non-shared and guaranteed working area, the free size SHOULD equal the total size.
WorkingAreaLifeTime UInt64 0..1 s The minimum guaranteed lifetime of the files created by single-slot Grid jobs in the working area (see below); the lifetime is related to the end time of the job. After the expiration of this lifetime, the files are not guaranteed to exist.
WorkingAreaMultiSlotTotal UInt64 0..1 GB The total size of the working area (see below) available to all the multi-slot Grid jobs shared across all the Execution Environments. If the Computing Manager supports individual quotas per job/user, this is not advertised.
WorkingAreaMultiSlotFree UInt64 0..1 GB The amount of free space currently available in the working area (see below) available to all multi-slot Grid jobs shared across all the Execution Environments. If the Computing Manager supports individual quotas per job/user, this is not advertised. This attribute SHOULD represent the minimum free working area currently available in any Execution Environment instance.
WorkingAreaMultiSlotLifeTime UInt64 0..1 s The minimum guaranteed lifetime of the files created by multi-slot Grid jobs in the working area (see below); the lifetime is related to the end time of the job. After the expiration of the lifetime, the files are not guaranteed to exist.
CacheTotal UInt64 0..1 GB If local caching of input files is supported, this attribute represents the total size of a shared storage area where frequently accessed data MAY be stored for rapid access by subsequent Grid jobs; in this area, files are kept after job completion for a certain amount of time, depending on the caching algorithm.
CacheFree UInt64 0..1 GB If local caching of input files is supported, this attribute represents the free space in a shared storage area where frequently accessed data MAY be stored for rapid access by subsequent Grid jobs. In the computation of the free size, files which are not claimed by any job MAY be considered as deleted.
TmpDir String 0..1 The absolute path of a temporary directory local to an Execution Environment instance (i.e., a worker node). This directory MUST be available to programs using the normal file access primitives (open/read/write/close). Any files in the directory MAY be deleted as soon as the job which created them finishes.
ScratchDir String 0..1 The absolute path of a shared directory available for application data. Typically this is a POSIX accessible transient disk space shared between the Execution Environment instances, e.g. via an NFS mount. It MAY be used by MPI applications or to store intermediate files that need further processing by local jobs or as a staging area, especially if the Execution Environment instances have no internet connectivity. Any files in the directory MAY be deleted as soon as the job which created them finishes.
ApplicationDir String 0..1 The path of a directory available for installation of persistent application software and data. Typically this will be a POSIX accessible disk space, e.g. an NFS mount, with a long-term allocation of space to supported User Domains. The detailed usage of such a space SHOULD be described in a profile document for a specific Grid infrastructure.
Association End Mult. Description

ComputingService.ID

[redefines Service.ID]

1 A computing manager participates in a computing service.

ExecutionEnvironment.ID

[redefines Resource.ID]

1..* A computing manager manages one or more execution environments.
ApplicationEnvironment.ID * A computing manager MAY use zero or more application environments.
ComputingManagerAccelerator.ID * A computing manager MAY display information about the usage level of the accelerator devices installed in the cluster.
Benchmark.ID * A computing manager has zero or more associated benchmarks.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
As regards the WorkingArea-related attributes and single-slot jobs, four scenarios should be considered. Both scenarios and the related attribute values are presented in Table 1.

Table 1 Working Area and Single-slot jobs scenarios

Working Area Shared Guaranteed
One working area shared across all the Execution Environments and shared among simultaneous jobs. true false
One working area shared across all the Execution Environments with a guaranteed quota for each job. true true
A working area local to each Execution Environment, but shared among all the jobs which run simultaneously in those Execution Environments. false false
A working area local to each Execution Environment and dedicated to each job. false true

In case there is a dedicated working area for multi-slot jobs, this SHOULD be represented by the WorkingAreaMultiSlot* attributes. In case there is no dedicated working area for multi-slot jobs, i.e., there is a common working area for both single-slot and multi-slot jobs, we RECOMMEND to publish only the attributes related to the working area for single-slot jobs.

ComputingManagerAccelerator

The ComputingManagerAccelerator contains information about the accelerator device handled by the computing manager.

Entity Inherits from Description
ComputingManagerAccelerator Entity The information about the accelerator device handled by the computing manager.
Inherited Attribute Type Mult. Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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 AccType_t 1 The accelerator architecture type.
TotalNumbers UInt32 0..1 The total number of physical Accelerator cards accessible via any of the available Endpoints and managed by this Computing Manager. This value SHOULD represent the total installed capacity, i.e. including resources which are temporarily unavailable.
TotalSlots UInt32 0..1 The total number of Accelerator slots managed by this Computing Manager which are currently available to run jobs.
UsedSlots UInt32 0..1 The total number of slots currently occupied by jobs.
Association End Mult. Description
ComputingManager.ID 1 A set of accelerator information is related to a computing manager.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
### Benchmark

The Benchmark class characterizes the relative performance of the computing resource by providing the result of a specific benchmark suite executed on the computing resource underlying the Computing Service. The Benchmark class provides both the type and the value of the benchmark.

Entity Inherits from Description
Benchmark Entity Benchmark information either about an Execution Environment providing computing capacity or about a CloudComputingInstanceType providing cloud computing capacity
Inherited Attribute Type Mult. Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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 Benchmark_t 1 The type of benchmark.
Value Real32 1 The benchmark value.
Association End Mult. Description
ExecutionEnvironment.ID 0..1 A benchmark MAY be related to an execution environment.
ComputingManager. ID 0..1 A benchmark MAY be related to a computing resource.
CloudComputingInstanceType.ID 0..1 A benchmark MAY be related to a cloud computing instance type.
CloudComputingManager.ID 0..1 A benchmark MAY be related to a cloud computing resource.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
### ExecutionEnvironment

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 possess 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.

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
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant
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 architecture 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 Execution Environment 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.
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

[redefines Activity.ID]

* An execution environment runs zero or more computing activities.
AcceleratorEnvironment.ID * An execution environment MAY contains zero or more accelerator environments.
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.
Each ExecutionEnvironment instance is under the control of a ComputingManager \(i.e., LRMS\). An ExecutionEnvironment MAY be realized in several ways. Examples are a physical computing node, or a virtual machine image that MAY be requestable by a job \(different virtual machine images MAY coexist on the same physical node\).

AcceleratorEnvironment

The AcceleratorEnvironment is an entity used to describe a homogeneous set of accelerator processors. This entity is associated with one or more execution environments.

Entity Inherits from Description
AcceleratorEnvironment Entity Description of the accelerator device
Inherited Attribute Type Mult. Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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 AccType_t 1 The type of Accelerator.
Numbers UInt32 1 The number of physical Accelerators in one ExecutionEnvironment instance, i.e. the number of accelerator cards per Worker Node.
Vendor String 0..1 The name of the physical Accelerator vendor. Free format, but it SHOULD correspond to the name by which the vendor is generally known.
Model String 0..1 The name of the physical Accelerator model, as defined by the vendor.
Version String 0..1 The specific version of the Physical Accelerator model, as defined by the vendor.
ClockSpeed UInt32 0..1 MHz The nominal clock speed of the physical Accelerator.
Memory UInt32 0..1 MB The nominal memory size of the physical Accelerator
ComputeCapability String * Compute Capability is a reference, an ID or tag, representing the set of features supported by an accelerator device, as declared by the vendor
Association End Mult. Description
ExecutionEnvironment.ID 1 An accelerator environment is associated with one execution environments.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
### ApplicationEnvironment

The ApplicationEnvironment class describes the software environment in which a job will run, i.e. what pre-installed software will be available to it. Each Application is identified by a name (the AppName attribute); these names are not defined within the schema, but SHOULD be assigned in a way which allows applications to be uniquely identified. In some deployment scenarios, the definition of namespace-based AppNames or guidelines for the generation of unique application names MAY be specified, and application repository services relying on those application names MAY be provided. This aspect is considered out of scope for the GLUE schema specification, but MAY be included in a profile document for a specific production Grid.

The ApplicationEnvironment can be used to describe installed application software or special environment setups in terms of a simple tag string. In this case, the AppName attribute should be used to publish this tag; other attributes are optional.

The properties of installed software may vary substantially, but the attributes of the class cover the most common cases, in particular for licensed software. If necessary, additional information MAY be added using the OtherInfo attribute and the Extension class.

Entity Inherits from Description
ApplicationEnvironment Entity A description of installed application software or software environment characteristics available within one or more Execution Environments.
Inherited Attribute Type Mult. Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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 AppEnvState_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 Benchmark_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 slot 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.
### ApplicationHandle

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.

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
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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.
### ComputingActivity

The ComputingActivity class represents a single (but possibly multi-processor) job. The attributes give the job properties and state as seen by the local batch system, together with some Grid-level information.

Entity Inherits from Description
ComputingActivity Activity An Activity managed by an OGSA execution capability service (the Computing Activity is traditionally called a job).
Inherited Attribute Type Mult Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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 ComputingActivityType_t 0..1 The type of this Computing Activity.
IDFromEndpoint URI 0..1 The job ID as assigned by the Computing Endpoint.
LocalIDFromManager String 0..1 The local ID of the job as assigned by the Computing Manager (i.e., LRMS).
JobDescription JobDescription_t 0..1 The job description language used to specify the job request.
State ComputingActivityState_t 1..* The state of the job; different state models are allowed; a state for each model is allowed provided that it has a different namespace prefix (see data type definition)
RestartState ComputingActivityState_t 0..* The state from which a failed job MAY restart upon a client request; different state models are allowed; a state for each model is allowed provided that it has a different namespace prefix (see data type definition)
ExitCode Int32 0..1 The exit code as returned by the main executable code or script of the job.
ComputingManagerExitCode String 0..1 The exit code provided by the Computing Manager (i.e., LRMS).
Error String * Error messages as provided by the software components involved in the management of the job.
WaitingPosition UInt32 0..1 For a waiting job being queued in the Computing Manager (i.e., LRMS), the position of the job in the queue.
UserDomain String 0..1 The User Domain specified by the job owner in the job submission request. The owner MAY belong to several User Domains, but typically decides which one to choose when submitting a job.
Owner String 1 The Grid identity of the job’s owner; in the case that anonymity is required, the reserved value CONFIDENTIAL should be advertised.
LocalOwner String 0..1 The local user name to which the job’s owner is mapped for the execution of this job.
RequestedTotalWallTime UInt64 0..1 s The total wall clock time requested by the job; for multi-slot jobs, it represents the sum of wall clock times needed for each required slot.
RequestedTotalCPUTime UInt64 0..1 s The total CPU time requested by the job; for multi-slot jobs, it represents the sum of CPU times needed for each required slot.
RequestedSlots UInt32 0..1 slot The number of slots requested for this job.
RequestedApplicationEnvironment String * A serialization of the AppName and Version of the requested Application Environments (the serialization syntax is delegated to the implementation).
StdIn String 0..1 The name of the file which is used as the standard input of the job.
StdOut String 0..1 The name of the file which contains the standard output of the job.
StdErr String 0..1 The name of the file which contains the standard error of the job.
LogDir String 0..1 The name of the directory which contains the logs related to the job and generated by the Grid layer (usually the directory is private to the job).
ExecutionNode String * A hostname associated to the Execution Environment instance (i.e., worker node) running the job; multi-node jobs are described by several instances of this attribute.
Queue String 0..1 The name of the Computing Manager (i.e, LRMS) queue in which this job was queued before execution.
UsedTotalWallTime UInt64 0..1 s The total wall clock time consumed so far by the job. In case of multi-slot jobs, this value refers to the sum of the wall clock time consumed in each slot.
UsedTotalCPUTime UInt64 0..1 s The total CPU time consumed so far by the job. In case of multi-slot jobs, this value refers to the sum of the CPU time consumed in each slot.
UsedMainMemory UInt64 0..1 MB The physical RAM currently used by the job.
SubmissionTime DateTime_t 0..1 The time when the job was submitted to the Computing Endpoint.
ComputingManagerSubmissionTime DateTime_t 0..1 The time when the job was submitted to the Computing Manager (i.e., LRMS) by the Grid layer.
StartTime DateTime_t 0..1 The time when the job entered the Computing Manager (i.e., LRMS) running state.
ComputingManagerEndTime DateTime_t 0..1 The time when the job entered its final Computing Manager (i.e., LRMS) state.
EndTime DateTime_t 0..1 The time when the job entered its final state as recorded by the Grid layer.
WorkingAreaEraseTime DateTime_t 0..1 A working area is an allocated storage extent that holds the home directories of the Grid jobs; this attribute specifies the time when the dedicated working area of this job will be removed.
ProxyExpirationTime DateTime_t 0..1 The expiration time of the Grid proxy currently associated with the job; in case of a proxy with attribute certificates having different expiration times, then this value represent the minimum expiration time among all the values.
SubmissionHost String 0..1 The name of the host from which the job was submitted.
SubmissionClientName String 0..1 The name of the software client which was used to submit the job.
OtherMessages String * Optional job messages provided by either the Grid Layer or the Computing Manager (i.e., LRMS).
Association End Mult. Description

ComputingEndpoint.ID

[redefines Endpoint.ID]

0..1 A computing activity is submitted to a computing endpoint.

ComputingShare.ID

[redefines Share.ID]

0..1 A computing activity is mapped into a computing share.

ExecutionEnvironment.ID

[redefines Resource.ID]

0..1 A computing activity is executed in an execution environment.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
UserDomain.ID 0..1 An activity is managed by a user domain.
Activity.ID * An activity is related to zero or more activities.
In this specification, the ComputingActivity may refer to simple jobs, or to elements of collections or workflows. The description of the relationships between jobs which are part of a collection or workflow may be considered in future revisions of the specification.

As regards the State attribute and the related ComputingActivityState_t type, we note that currently there is no commonly accepted state model for Grid jobs. Each production Grid middleware defines and is using its own state model. As regards the standardization process, the OGSA-BES specification defines a simple state model. The middleware providers have started to define their own extensions to the BES state model, but they differ and do not enable interoperability. Given the current scenario, we RECOMMEND to use namespaces in state model values, so that every middleware provider MAY publish the ComputingActivity State according to its definition. We expect that an extension to the core BES state model common to all the middleware providers and suitable for production scenarios may be defined by a profiling activity of the BES/ JSDL/GLUE specifications.

ToStorageService

The ToStorageService class represents the case where a filesystem from a StorageService is available to jobs running on a Computing Service via POSIX access, e.g. as an NFS mount. Each ToStorageService instance represents a single mount point. It is assumed that such mounts are available on all nodes (i.e. all Execution Environments) in the ComputingService.

Entity Inherits from Description
ToStorageService Entity The description of POSIX access via a file system technology enabling jobs running in the Computing Service to access an associated Storage Service.
Inherited Attribute Type Mult Unit Description
CreationTime DateTime_t 0..1 Timestamp describing when the entity instance was generated
Validity UInt64 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 considered relevant

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
LocalPath String 1 The local path within the Computing Service which makes it possible to access files in the associated Storage Service (this is typically an NFS mount point).
RemotePath String 1 The remote path in the Storage Service which is associated to the local path in the Computing Service (this is typically an NFS exported directory).
Association End Mult. Description
ComputingService.ID 1 Is associated to a computing service.
StorageService.ID 1 Is associated to a storage service.
Inherited Association End Mult. Description
Extension.Key * The entity MAY be extended via key-value pairs.
##