Difference: BDIIInformationAndClassadRepresentationOfACE (1 vs. 2)

Revision 22008-05-20 - SalvatoreMonforte

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
The aim of this topic is to describe which BDII information is taken into account and how that information is composed to create the classad representation insertend in ISM, namely used while the WMS performs the matchmaking.
Line: 57 to 57
 All the attributes beloging to these objectclasses are flattened, mantaining the same name (GlueSubcluster*, GlueHost*) into the classad representation of the relevant CE. In order to match such attributes, at matchmaking time, the user should refers to them by symply adding the classad attribute reference other. followed by the name of the attribute as published in the objectclass it belongs to:
Changed:
<
<
requiremts = other.GlueHostMainMemoryRAMSize > 2048;
>
>
requirements = other.GlueHostMainMemoryRAMSize > 2048;
  It should be reminded that an attribute defaults to multivalued unless it is explicitly made single-valued, that is, by adding the SINGLE-VALUE keyword after the SYNTAX section in the schema specification. Multivalued attributes such as GlueHostApplicationSoftwareRuntimeEnvironment are represented in classad as lists, and thus, in order to match a given value, the user should use the classad member function:
Changed:
<
<
requiremts = member(other.GlueHostApplicationSoftwareRuntimeEnvironment, "GLITE-3_1_0");
>
>
requirements = member(other.GlueHostApplicationSoftwareRuntimeEnvironment, "GLITE-3_1_0");
 

gluece

Line: 75 to 75
 All the attributes beloging to this objectclass are flattened, mantaining the same name (GlueCE*) into the classad representation of the relevant CE.
Added:
>
>
Again multivalued attributes such as GlueCEAccessControlBaseRule are represented in classad as lists, and thus, in order to match a given value, the user should use the classad member function:

requirements = member(other.GlueCEAccessControlBaseRule , "VO:cms");

 

gluevoview

The gluevoview entity was meant for reporting the state information specific to a group or a virtual organization.

Line: 84 to 89
 For a given computing element all the VOView-related information is processed. In order to maintain the same space of authorization rules, the splitting of the classad representation of the CE into its "views" is performed by computing the set intersection of the GlueCEAccessControlBaseRules information:
Changed:
<
<
SET_INTERSECTION(.GlueCEACBR, .GlueCEACBR) where is the ClassAd representing the CE and is the i-th view defined for such a CE. Any ACBR which has not been mapped is inserted within an additional computing element classad in ISM.
>
>
SET_INTERSECTION(<CE>.GlueCEACBR, <View i>.GlueCEACBR)
Any ACBR which has not been mapped is inserted within an additional computing element classad in ISM.
  All the attributes beloging to this objectclass mantaining the same name (GlueCE*) into the classad representation of the relevant CE.

Added:
>
>

gluelocation

This entity has been added in order to provide a mechanism to describe what software packages are available in the worker nodes part of the SubCluster. Since the relation between SubCluster and its Locations is one-to-many the locations defined for a SubCluster are described in the classad representation of the ComputingElement bound to that Cluster/SubCluster as a list of classads:

SubClusterLocations = 
{
                      
 [
   GlueLocationName = "VO-atlas-production-13.0.30.3"; 
   GlueSchemaVersionMajor = 1; 
   GlueLocationPath = "$VO_ATLAS_SW_DIR"; 
   GlueLocationLocalID = "VO-atlas-production-13.0.30.3"; 
   GlueSchemaVersionMinor = 2; 
   GlueLocationVersion = "Prod"; 
   GlueChunkKey = 
   {
    "GlueSubClusterUniqueID=agh2.atlas.unimelb.edu.au"
   }; 
  ]  ,
  [
   GlueLocationName = "VO-atlas-production-13.0.30.2"; 
   GlueSchemaVersionMajor = 1; 
   GlueLocationPath = "$VO_ATLAS_SW_DIR"; 
   GlueLocationLocalID = "VO-atlas-production-13.0.30.2"; 
   GlueSchemaVersionMinor = 2; 
   GlueLocationVersion = "Prod"; 
   GlueChunkKey = 
   {
    "GlueSubClusterUniqueID=agh2.atlas.unimelb.edu.au"
   }; 
  ]
}

It should be reminded that the classad library does not provide any function to bind a list of ClassAds and test if either any or all ClassAds within such list match the specified constraints. Nevertheless, to such an aim it is possible to use the function provided by the WMS gang-matching extention: anyMatch, allMatch and whichMatch. The gang-matching functions test for a match by evaluating the constraints-expression in an evaluation environment that maps the pseudo-attribute target to the match candidate, thus, to require a ComputingElement having perl version 5.8 installed by using the Location entity defined for the subcluster one should type:

requiremts = anyMatch(
  other.SubClusterLocations,
  target.GlueLocationName == "perl"  &&  target.GlueLocationVersion == "5.8"
);
  -- SalvatoreMonforte - 20 May 2008

Revision 12008-05-20 - SalvatoreMonforte

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="WebHome"
The aim of this topic is to describe which BDII information is taken into account and how that information is composed to create the classad representation insertend in ISM, namely used while the WMS performs the matchmaking.

The current gLite 3.1 version of the bdii purchaser acquires information about computing resources by querying the BDII for the following objectclasses:

  • gluecesebind
  • gluece
  • gluevoview
  • gluecluster
  • gluesubcluster

A prototype version of the gLite 3.1 bdii purchaser has been patched in order to support gluelocation information (task 6650)

gluecesebind

Describes the association class between a computing element (CE) and storage elements (SE). The bind information is inserted in the classad representing the computing element as a list:

GlueCESEBindGroupSEUniqueID =
{
  "se01.somewhere.in_the.world", 
  "se02.somewhere.in_the.world", 
   ...
  "se_n.somewhere.in_the.world"
};

In order to require that the computing element eligible for executing the job at is bound to a given storage element, the user should use the classad member function while defining the requirement expression within the relevant JDL:

requirements = member(other.GlueCESEBindGroupSEUniqueID , "se01.somewhere.in_the.world");

gluecluster

A cluster is an aggregation entity for representing a complex computing resource in terms of the SubCluster and Computing Element entities. A cluster is a heterogeneous set of resources.

All the attributes beloging to this objectclass are flattened, mantaining the same name (GlueCluster*) into the classad representation of the relevant CE.

gluesubcluster

The SubCluster entity provides details of a homogeneous set of hosts as regards the selected attributes. Host entities within the SubCluster provide the set which describes the charactheristics of the resources belonging to the subcluster:

All the attributes beloging to these objectclasses are flattened, mantaining the same name (GlueSubcluster*, GlueHost*) into the classad representation of the relevant CE. In order to match such attributes, at matchmaking time, the user should refers to them by symply adding the classad attribute reference other. followed by the name of the attribute as published in the objectclass it belongs to:

requiremts = other.GlueHostMainMemoryRAMSize > 2048;

It should be reminded that an attribute defaults to multivalued unless it is explicitly made single-valued, that is, by adding the SINGLE-VALUE keyword after the SYNTAX section in the schema specification. Multivalued attributes such as GlueHostApplicationSoftwareRuntimeEnvironment are represented in classad as lists, and thus, in order to match a given value, the user should use the classad member function:

requiremts = member(other.GlueHostApplicationSoftwareRuntimeEnvironment, "GLITE-3_1_0");

gluece

Provides a set of attributes which describe the static characteristics (GlueCEInfo*), a status changing frequently (GlueCEState*), a general use policy (GlueCEPolicy*), a set of authorized users or groups (GlueCEAccessControlBase*). The entities Info, State, Policy and AccessControlBase were present in the first GLUE Schema as individual objectclasses, then they have been merged into the gluece. For backward compatibility, at LDIF representation level, the entity name is included in the attribute name in order to enable the maintenance of a consistent mapping onto concrete data models.

All the attributes beloging to this objectclass are flattened, mantaining the same name (GlueCE*) into the classad representation of the relevant CE.

gluevoview

The gluevoview entity was meant for reporting the state information specific to a group or a virtual organization. Basically the attributes published within this objectclass are the same within gluece but assigned with different values.

For a given computing element all the VOView-related information is processed. In order to maintain the same space of authorization rules, the splitting of the classad representation of the CE into its "views" is performed by computing the set intersection of the GlueCEAccessControlBaseRules information: SET_INTERSECTION(.GlueCEACBR, .GlueCEACBR) where is the ClassAd representing the CE and is the i-th view defined for such a CE. Any ACBR which has not been mapped is inserted within an additional computing element classad in ISM.

All the attributes beloging to this objectclass mantaining the same name (GlueCE*) into the classad representation of the relevant CE.

-- SalvatoreMonforte - 20 May 2008

 
This site is powered by the TWiki collaboration platformCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback