[glue-wg] New version of GLUE 2.1 draft

Paul Millar paul.millar at desy.de
Mon Sep 8 10:07:29 EDT 2014


Hi Salvatore,

Some comments:

GPUs:

PhysicalGPUs

     "The number of physical GPUs in one ExecutionEnvironment
     instance, i.e. the number of video cards per Worker Node."

The description isn't great.  My rule-of-thumb is to cross out 
information that is in the Attribute name and the Entity name.  This leaves:

     "The number of [--] in one [--] instance, i.e. the number
     of video cards per Worker Node."

The second part ("the number of video cards per Worker Node") is an 
example, rather than a definitive statement.

My guess is that PhysicalGPUs should be described something like:

     "The theoretical maximum number of independent SIMD
     co-processors that any one job may access.  Note that
     site policies may further limit the number of available
     SIMD co-processes."

I'm also not sure why PhysicalGPUs would be useful, but GPGPU isn't 
really my thing.

The LogicalGPUs has similar problems: the description doesn't contain 
much information and uses "i.e." when what follows is an example. Here's 
a possible alternative.

     "The number of independent SIMD co-processors that a job
     may access."

For GPUVendor, GPUModel and GPUModel I suggest setting up a registry of 
known values.  Having a "free format" text is a recipe for breaking 
interoperability --- at the very least, it forces users to profile GLUE.

One obvious omission is the API.  If my executable uses some particular 
API (CUDA, for example), how do I know it will work?


SLAs

GLUE provides reader-agnostic information: two people/agents can read 
the same GLUE information and deduce information correctly.  If there 
are any user-specific information then it is expressed as UserDomain in 
an object linked from a UserDomain (such as the Policy entities).

An SLA is a legally binding agreement between a service provider and the 
consumer(s).  A service provider can provide different SLAs to different 
individuals, making SLA information user-specific.  Therefore it should 
go in either the UserDomain (bad), in one of the existing Policy 
entities, or as a completely separate entity --- perhaps another 
subclass of Policy.

Providing SLA as an optional String is also not great.  Putting aside 
that an SLA is a multi-dimension thing, just writing down the 
availability (which is what the description hints at) is problematic: 
what is the format of this string? Do I write "0.9999", "99.99", 
"99.99%", "4 nines", "4x9", "max 1 hour total outage every year", ... ?

Doing reasoning with this information is also pretty difficult.

My suggestions are:

   1. don't call it "SLA", but "availability" (or similar).  Using "SLA"
      is asking for trouble.

   2. put it in some Policy entity, not in the object itself.  This
      provides the linkage with the user-community that enjoys this
      SLA.

   3. either call the value a human-readable description of the policy,
      or provide a registry where people can record key-words against
      the corresponding semantics.

The alternative is remove SLA complete and do this outside of GLUE. 
There are languages for handling SLAs; since GLUE provides persistent 
IDs for all objects, these SLA languages should be usable with the GLUE 
ID as the subject.


Files vs Data objects

Renaming files as objects (or "data objects").  I really don't see why 
you want to do this.  It would be better to make sure people understand 
what the term "file" means, rather than simply renaming it.

HTH,

Paul.



More information about the glue-wg mailing list