A. GT 4.0: Ganglia Information Provider Reference

1. Overview

Starting with version 4.0.5, this information provider is included in the GT4 toolkit and is used for reporting GLUE Computing Element (CE) information. The GLUE resource property (as used by GRAM) collects information from two sources: the scheduler and the cluster information system (for example Ganglia or Hawkeye). These will be merged to form a single output resource property in the GLUE schema.

The official Ganglia site states the following: "Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids. It is based on a hierarchical design targeted at federations of clusters. It leverages widely used technologies such as XML for data representation, XDR for compact, portable data transport, and RRDtool for data storage and visualization."

This provider publishes information such as the following: basic host data (name, ID), memory size, OS name and version, file system data, processor load data, other basic cluster data.

This information provider is included in the GT4 toolkit and is used for reporting GLUE Computing Element (CE) information. The GLUE resource property (as used by GRAM) collects information from two sources: the scheduler and the cluster information system (for example Ganglia or Hawkeye). These will be merged to form a single output resource property in the GLUE schema.

2. Prerequisites

  1. A working Perl installation

  2. A working Ganglia (gmond) installation

3. Configuring

The following configuration is required to use this information provider

The system administrator first enables a given service or service resource to use the org.globus.mds.usefulrp.rpprovider.ResourcePropertyProviderCollection operation provider by adding the fully qualified Java class name to the provider's parameter value in the service descriptor of a service or resource's <file>server-config.wsdd</file> file. Also, the administrator must add a new parameter named rpProviderConfigFile and for its corresponding value, specify an OS-native file path to a valid ResourcePropertyProviderConfig configuration file. The ResourcePropertyProviderConfig file contains all required information for generating one or more Resource Properties for the hosting service or resource. An example is below:

  <service name="DefaultIndexService" provider="Handler" use="literal" style="document">
    <parameter name="providers"
               value="org.globus.mds.usefulrp.rpprovider.ResourcePropertyProviderCollection
               org.globus.wsrf.impl.servicegroup.ServiceGroupRegistrationProvider
               GetRPProvider
               GetMRPProvider 
               QueryRPProvider
               DestroyProvider 
               SetTerminationTimeProvider 
               SubscribeProvider 
               GetCurrentMessageProvider"/>
    <parameter name="rpProviderConfigFile"
               value="/etc/globus_wsrf_mds_usefulrp/gluece-rpprovider-sample-config.xml"/>
    <parameter name="scope" value="Application"/> 
    <parameter name="allowedMethods" value="*"/>
    <parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
    <parameter name="className" value="org.globus.mds.index.impl.DefaultIndexService"/>
    <wsdlFile>share/schema/mds/index/index_service.wsdl</wsdlFile>
  </service>
     

The configuration file format for the ResourcePropertyProviderCollection operation provider is simply the XML-serialized form of the ResourcePropertyProviderConfig stub object, as defined in the schema file rpprovider.xsd. Below is a sample configuration file which configures the GLUE Resource Property provider with element producers using Ganglia to provide cluster information and PBS for scheduler information. This sample configures the provider to generate cluster information using Ganglia on the localhost with the default Ganglia port, and configures PBS as the scheduler information provider. The period of execution is set to 300 seconds for each element producer, but may be configured separately if desired. This configuration mirrors a common information provider setup in the GT4 GRAM ManagedJobExecutable service. Using the RPProvider Framework, it is possible to generate this information in other services as well.

      <ns1:ResourcePropertyProviderConfigArray 
       xsi:type="ns1:ResourcePropertyProviderConfigArray" 
       xmlns:ns1="http://mds.globus.org/rpprovider/2005/08"  
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <ns1:resourcePropertyProviderConfiguration xsi:type="ns1:resourcePropertyProviderConfig">
      <ns1:resourcePropertyName xsi:type="xsd:QName" xmlns:mds="http://mds.globus.org/glue/ce/1.1">mds:GLUECE</ns1:resourcePropertyName>
      <ns1:resourcePropertyImpl xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.GLUEResourceProperty</ns1:resourcePropertyImpl>
      <ns1:resourcePropertyElementProducers xsi:type="ns1:resourcePropertyElementProducerConfig">
        <ns1:className xsi:type="xsd:string">org.globus.mds.usefulrp.glue.GangliaElementProducer</ns1:className>
        <ns1:arguments xsi:type="xsd:string">localhost</ns1:arguments>
        <ns1:arguments xsi:type="xsd:string">8649</ns1:arguments>
        <ns1:period   xsi:type="xsd:int">300</ns1:period>
        <ns1:transformClass xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.transforms.GLUEComputeElementTransform</ns1:transformClass>
      </ns1:resourcePropertyElementProducers>
      <ns1:resourcePropertyElementProducers xsi:type="ns1:resourcePropertyElementProducerConfig">
        <ns1:className xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.producers.SchedulerInfoElementProducer</ns1:className>
        <ns1:arguments xsi:type="xsd:string">libexec/globus-scheduler-provider-pbs</ns1:arguments>
        <ns1:transformClass xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.transforms.GLUESchedulerElementTransform</ns1:transformClass>
        <ns1:period xsi:type="xsd:int">300</ns1:period>
      </ns1:resourcePropertyElementProducers>
      </ns1:resourcePropertyProviderConfiguration>
      </ns1:ResourcePropertyProviderConfigArray>
     

4. Resource Properties

  • The data gathered is published as part of the GLUECE RP

4.1. Namespace URI

The GLUE namespace is: "http://mds.globus.org/glue/ce/1.1" The CE namespace is: "http://mds.globus.org/glue/ce/1.1" The XML namespace is: "http://www.w3.org/2001/XMLSchema"

5. Schema

  • $GLOBUS_LOCATION/share/schema/mds/usefulrp/ce.xsd

6. Security Considerations

General security considerations associated with the container and all MDS services apply. see: Aggregator Framework.

By default, the aggregator sources do not use authentication credentials -- they retrieve information using anonymous SSL authentication or no authentication at all, and thus retrieve only publicly-available information. If a user or administrator changes that configuration so that a service's aggregator source uses credentials to acquire non-privileged data, then that user or administrator must configure the service's aggregator sink to limit access to authorized users.

Additionally the user should consider that publishing system-specific information as is the intention of this provider can have security ramifications.

7. Testing

Once gmond is running and your configuration is complete, restart the container and the information should appear when querying the Index Service using wsrf-query.

8. Troubleshooting

Be sure that the server-config.wsdd and the RPProvider configuration files are configured properly exactly as shown above. Simply having too much whitespace between the tags can cause errors.