MDS 2.4 New Features

The MDS 2.4 release includes fixes and enhancements for enhanced scalability, reliability, and stability.

MDS 2.4 contains the following new features:

  • Flexible handling of stale data via a new parameter in the grid-info-slapd.conf file
  • Improved GRIS/GIIS processing by allowing multiple GRISes in a slapd server

Note that these features are intended for advanced MDS2 system administrators and users.  If you are new to MDS2, you can begin by reading the User's Guide.

These features are described in detail in the following sections:

Flexible Handling of Stale Data

When a GIIS receives a query, the following occurs:

For every registrant, the GIIS checks its cache and if the query can be satisfied from cache, responds from there.  Otherwise the GIIS sends a query to that registrant.

Queries are sent to each registrant in parallel – it is not necessary for one query to complete before the next query is sent.

This fetching process for each registrant should be completed before the timeout value of the registrant expires.  If a registrant’s response is not received before the timeout, it is not returned by the GIIS for the present query.  But if the registrant’s response is received later, then this response is cached by the GIIS and used when it processes a later query, depending on the timeout value.

Consider the following diagram:


                     D1          D2
                     |           |
----+--------+---+---+-----+-----+------->
    |        |   |         |
    Q1       Q2  T1        T2


The above timing diagram shows a simple example of the stale data pickup process.  When a GRIS registers to a GIIS with a timeout value (Ti - Qi) of 10 seconds, but the GRIS responds to the query in 15 seconds (Di - Qi), the first query (Q1) to the GIIS does not include the output of the GRIS because the GRIS' data is not ready in 10 seconds.  But a second query (Q2) to the GIIS picks up the GRIS' data that was requested in the previous query (Q1) to the GIIS.

allowstaledata Parameter

A new parameter in the grid-info-slapd.conf file, allowstaledata, gives you the choice of publishing stale data into MDS, or publishing data only when it is received on time.

The value of allowstaledata can be either yes or no.  A yes value (the default) means that a grid-info-search query to a GIIS may include the output of a registrant GRIS that was requested in the previous query, but was not returned before the timeout value expired.  A no value means that a grid-info-search query to a GIIS will include the output of a registrant GRIS only if the data requested by the current query is received on time.

The circumstances under which to publish only current data or include stale data depend on the characteristics of the client applications.  If it is important to use only current/valid data in a client application, then setting allowstaledata to no is preferable.

Example

The following is an example of a section of a grid-info-slapd.conf file with allowstaledata set to no, so the GIIS/GRIS publishes data only if it is received on time:

     database        ldif
     suffix          "Mds-Vo-name=local, o=Grid"
     conf            /hosta/globus/install/etc/grid-info-resource-ldif.conf
     anonymousbind   yes
     allowstaledata  no
     access to * by * write
     
     database        giis
     suffix          "Mds-Vo-name=site, o=Grid"
     conf            /hosta/globus/install/etc/grid-info-site-giis.conf
     policyfile      /hosta/globus/install/etc/grid-info-site-policy.conf
     anonymousbind   yes
     allowstaledata  no
     access to * by * write

Note that the allowstaledata parameter can be set individually for each GIIS or GRIS, within the corresponding database definition.  Global setting of allowstaledata is not possible.

Improved GRIS/GIIS Processing

The default MDS configuration allows for a single GRIS and one GIIS in a server.  In this configuration, a GIIS queries its registrants concurrently, but each GRIS invokes its information providers sequentially.  Sometimes this behavior can cause a long delay in GRIS response time, such as when there are a large number of information providers or several information providers that are very slow.

The default MDS configuration can be illustrated as shown in the following example:

Each information provider in a GRIS has its own cachetime value, so that its data can be cached for a certain time period.  These cachetime values of the information providers vary according to the types of information providers.  For example, the cachetime value of the operating system version information should be larger than the cachetime value of the CPU load information.

But the GIIS sets only one cachetime value for the GRIS when it first receives a registration message from the GRIS, and it caches all of the GRIS' data for the duration of that cachetime value.  By default, the cachetime value of the GRIS is set to be the same as the smallest cachetime value of the GRIS’ information providers.  Therefore, unnecessary network traffic and unnecessary data processing may occur.

Multiple GRISes in a slapd Server

To avoid the problems that can be caused by sequential invocation of information providers and a single cachetime value, MDS 2.4 allows multiple GRISes to be configured in a single slapd server.  This allows information providers to be split across GRISes so that the providers can be invoked concurrently.  A multiple GRIS configuration therefore reduces the amount of time required for the entire information provider invocation sequence.

The following diagram shows an example of an MDS configuration with multiple GRISes, where the information providers for each GRIS can be thought of as constituting a distinct group.  See Determining the Number of grid-info-resource-ldif.conf Files below for specific examples of these kinds of groups.

Determining the Need for Multiple GRISes

The default information providers that come with MDS usually run in a short period of time (single digit seconds) on most of the machines.  Therefore, multiple GRISes are mostly needed when there are additional information providers.  Multiple GRISes can also be used with the default information providers to eliminate unnecessary network traffic and data processing as described above.

Basically, you can use a single GRIS when all the information providers run quickly enough to meet the purpose of the client application.  Otherwise, it is good to use multiple GRISes, especially when the delay is too long to ignore because of slow information providers or a large number of information providers.

Splitting the Configuration Into Multiple GRISes

If you determine that a multiple-GRIS configuration makes sense for your particular MDS environment, there are three configuration files you will need to modify:

  • grid-info-resource-ldif.conf
  • grid-info-slapd.conf
  • grid-info-resource-register.conf

These modifications are described in detail in the following sections.

Modifying grid-info-resource-ldif.conf

The grid-info-resource-ldif.conf file determines which GRIS information providers are active and available to send data to the GIIS resources to which a GRIS is registering.  This file describes the core information providers as well as any custom providers for the GRIS.

To create a multiple-GRIS configuration, you need split the default grid-info-resource-ldif.conf file into multiple files (one for each group of information providers).  The following section describes how to determine the number of grid-info-resource-ldif.conf files you will need.

Determining the Number of grid-info-resource-ldif.conf Files

Consider the dn value, response time, and cachetime of each information provider to decide on the number of grid-info-resource-ldif.conf files required for your new configuration.  Use the following procedure:

  1. Create initial information provider groups based on dn values.
  2. Determine the response time of each provider in the initial groups and then combine them into new groups accordingly.
  3. Optionally, subgroup each provider group based on cachetime values.

These steps are described in detail in the following sections.

Create Initial Information Provider Groups

Each information provider produces objects that have individual dn values.  These individual dn values should be the same as the information provider's dn value or should be the children of the information provider's dn value.

First, group the information providers with the same dn values.  These initial groups will then be combined into new groups according to the resulting response time of each group.

For example, if there are six information providers, IP1 - IP6, where the dn value of IP2 and the dn value of IP3 are the same, group these providers into five initial groups, IPG1 - IPG5, where IPG2 contains the two information providers with the same dn values.

Determine Provider Response Time and Combine Groups

The response time of each information provider can be obtained by running it as described in the grid-info-resource-ldif.conf file.  For example, the following is an active object in the grid-info-resource-ldif.conf file:

      # generate OS info
       dn: Mds-Software-deployment=operating system, Mds-Host-hn=hosta.isi.edu, 
       Mds-Vo-name=local,      o=grid
       objectclass: GlobusTop
       objectclass: GlobusActiveObject
       objectclass: GlobusActiveSearch
       type: exec
       path: /hosta/globus/install/libexec
       base: grid-info-os-uname
       args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu,
       Mds-Vo-name=local,o=grid -validto-secs 21600 -keepto-secs 240800
       cachetime: 10800
       timelimit: 20
       sizelimit: 1

The following command gives the response time of the information provider:

      % time /hosta/globus/install/libexec/grid-info-os-uname        \
       -devclassobj -devobjs \
       -dn Mds-Host-hn=hosta.isi.edu,Mds-Vo-name=local,o=grid \
       -validto-secs 21600 -keepto-secs 240800

The output of this command is as follows:

     dn:      Mds-Software-deployment=operating system, 
     Mds-Host-hn=hosta.isi.edu,Mds-Vo-name=local,o=grid
     objectclass: MdsSoftware
     objectclass: MdsOs
     Mds-Software-deployment: operating system
     Mds-Os-name: Linux
     Mds-Os-release: 2.4.7-10
     Mds-Os-version: 1 Thu Sep 6 17:27:27 EDT 2001
     
     0.020u 0.000s 0:01.03 66.6%     0+0k 0+0io 1115pf+0w

Therefore the above command takes 1.03 seconds to produce the object.

After running all the information providers, combine the initial groups into new groups so that the maximum value of the processing times of all the groups is under your target response time.

In the above example, if the response times of groups IPG1 - IPG5 are 5, 10, 1, 2, and 3 seconds respectively, then combine the groups into three new groups where the first includes IPG1, the second includes IPG2, and the third includes IPG3 - IPG5.  The processing time of Group 1 is 5 seconds, the processing time of Group 2 is 10 seconds, and the processing time of Group 3 is 6 seconds.  There is no need to subgroup Group 3 because the response time of all the information providers is determined by the slowest information provider group.

Having determined these three groups means that you will need three grid-info-resource-ldif.conf files, one for each group.

Note that you don't need to modify each information provider's dn value within a group. But you need to have a new group dn value that will be used later as suffix in the grid-info-slapd.conf file.  The new dn value of the group should be the parent of all the dn values of the information providers in the group.

Subgroup Based on cachetime Values

The cachetime is not as critical as the response time in determining the required number of grid-info-resource-ldif.conf files.  So it's optional to consider the cachetime of each information provider.  To avoid unnecessary network traffic and data processing, you can subgroup each of the provider groups having the same cachetime values.

Naming the grid-info-resource-ldif.conf Files

The new grid-info-resource-ldif.conf files you create can be called anything you like.  We suggest naming the files in a way that references the type of data produced by their associated information providers, for example, grid-info-resource-ldif-host.conf, grid-info-resource-ldif-cpu.conf, and grid-info-resource-ldif-system.conf.  These names are used in the examples below.

So the previous diagram of a multiple-GRIS configuration would look like this for our specific example:

Example Files

Continuing on from our example, you determined that what best suits your configuration is to split the original grid-info-resource-ldif.conf file into the three new files named above.  The original grid-info-resource-ldif.conf file is shown below, followed by the new files.

Original single grid-info-resource-ldif.conf file:

     # this file contains the default GRIS providers and must be configured
     # for a particular platform to specialize the template...
     
     # generate top-level Mds-Host-hn=host object
     dn: Mds-Host-hn=hosta.isi.edu, Mds-Vo-name=local, o=grid
     objectclass: GlobusTop
     objectclass: GlobusActiveObject
     objectclass: GlobusActiveSearch
     type: exec
     path: /hosta/globus/install/libexec
     base: grid-info-platform-merged
     args: -dn Mds-Host-hn=hosta.isi.edu,Mds-Vo-name=local,o=grid 
     -validto-secs 3600 -keepto-secs 240800
     cachetime: 1800
     timelimit: 20
     sizelimit: 1
     
     # generate CPU availablity information
     dn: Mds-Device-Group-name=processors, Mds-Host-hn=hosta.isi.edu, 
     Mds-Vo-name=local, o=grid
     objectclass: GlobusTop
     objectclass: GlobusActiveObject
     objectclass: GlobusActiveSearch
     type: exec
     path: /hosta/globus/install/libexec
     base: grid-info-cpufast-uptime
     args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu,
     Mds-Vo-name=local,o=grid -validto-secs 60 -keepto-secs 240800
     cachetime: 30
     timelimit: 20
     sizelimit: 100
     
     # generate CPU inventory (hidden cache) every 12 hours
     dn: Mds-Device-Group-name=processors, Mds-Host-hn=hosta.isi.edu, 
     Mds-Vo-name=local, o=grid
     objectclass: GlobusTop
     objectclass: GlobusActiveObject
     objectclass: GlobusActiveSearch
     type: exec
     path: /hosta/globus/install/libexec
     base: grid-info-cpu-linux
     args: -noobjs
     cachetime: 43200
     timelimit: 20
     sizelimit: 1
     
     # generate OS info
     dn: Mds-Software-deployment=operating system,     Mds-Host-hn=hosta.isi.edu, 
     Mds-Vo-name=local,      o=grid
     objectclass: GlobusTop
     objectclass: GlobusActiveObject
     objectclass: GlobusActiveSearch
     type: exec
     path: /hosta/globus/install/libexec
     base: grid-info-os-uname
     args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu,
     Mds-Vo-name=local,o=grid -validto-secs 21600 -keepto-secs 240800
     cachetime: 10800
     timelimit: 20
     sizelimit: 1
     
     # generate memory info
     dn: Mds-Device-Group-name=memory, Mds-Host-hn=hosta.isi.edu, 
     Mds-Vo-name=local, o=grid
     objectclass: GlobusTop
     objectclass: GlobusActiveObject
     objectclass: GlobusActiveSearch
     type: exec
     path: /hosta/globus/install/libexec
     base: grid-info-mem-linux
     args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu,
     Mds-Vo-name=local,o=grid -validto-secs 3600 -keepto-secs 240800
     cachetime: 1800
     timelimit: 10
     sizelimit: 3
     
     # generate filesystem info
     dn: Mds-Device-Group-name=filesystems, Mds-Host-hn=hosta.isi.edu, 
     Mds-Vo-name=local, o=grid
     objectclass: GlobusTop
     objectclass: GlobusActiveObject
     objectclass: GlobusActiveSearch
     type: exec
     path: /hosta/globus/install/libexec
     base: grid-info-fs-posix
     args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu,
     Mds-Vo-name=local,o=grid -validto-secs 3600 -keepto-secs 21600
     cachetime: 1800
     timelimit: 20
     sizelimit: 20

New grid-info-resource-ldif-host.conf file:

     # generate top-level Mds-Host-hn=host object
     dn: Mds-Host-hn=hosta.isi.edu, Mds-Vo-name=local, o=grid
     objectclass: GlobusTop
     objectclass: GlobusActiveObject
     objectclass: GlobusActiveSearch
     type: exec
     path: /hosta/globus/install/libexec
     base: grid-info-platform-merged
     args: -dn Mds-Host-hn=hosta.isi.edu,Mds-Vo-name=local,o=grid 
     -validto-secs 3600 -keepto-secs 240800
     cachetime: 1800
     timelimit: 20
     sizelimit: 1

New grid-info-resource-ldif-cpu.conf file:

      # generate CPU      availablity information
       dn: Mds-Device-Group-name=processors, Mds-Host-hn=hosta.isi.edu, 
       Mds-Vo-name=local, o=grid
       objectclass: GlobusTop
       objectclass: GlobusActiveObject
       objectclass: GlobusActiveSearch
       type: exec
       path: /hosta/globus/install/libexec
       base: grid-info-cpufast-uptime
       args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu, 
       Mds-Vo-name=local,o=grid -validto-secs 60 -keepto-secs 240800
       cachetime: 30
       timelimit: 20
       sizelimit: 100
       
       # generate CPU inventory (hidden cache) every 12 hours
       dn: Mds-Device-Group-name=processors, Mds-Host-hn=hosta.isi.edu, 
       Mds-Vo-name=local, o=grid
       objectclass: GlobusTop
       objectclass: GlobusActiveObject
       objectclass: GlobusActiveSearch
       type: exec
       path: /hosta/globus/install/libexec
       base: grid-info-cpu-linux
       args: -noobjs
       cachetime: 43200
       timelimit: 20
       sizelimit: 1

New grid-info-resource-ldif-system.conf file:

      # generate OS info
       dn: Mds-Software-deployment=operating system, 
       Mds-Host-hn=hosta.isi.edu,       Mds-Vo-name=local,        o=grid
       objectclass: GlobusTop
       objectclass: GlobusActiveObject
       objectclass: GlobusActiveSearch
       type: exec
       path: /hosta/globus/install/libexec
       base: grid-info-os-uname
       args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu, 
       Mds-Vo-name=local,o=grid -validto-secs 21600 -keepto-secs 240800
       cachetime: 10800
       timelimit: 20
       sizelimit: 1
       
       # generate memory info
       dn: Mds-Device-Group-name=memory, Mds-Host-hn=hosta.isi.edu, 
       Mds-Vo-name=local, o=grid
       objectclass: GlobusTop
       objectclass: GlobusActiveObject
       objectclass: GlobusActiveSearch
       type: exec
       path: /hosta/globus/install/libexec
       base: grid-info-mem-linux
       args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu,
       Mds-Vo-name=local,o=grid -validto-secs 3600 -keepto-secs 240800
       cachetime: 1800
       timelimit: 10
       sizelimit: 3
       
       # generate filesystem info
       dn: Mds-Device-Group-name=filesystems, Mds-Host-hn=hosta.isi.edu, 
       Mds-Vo-name=local, o=grid
       objectclass: GlobusTop
       objectclass: GlobusActiveObject
       objectclass: GlobusActiveSearch
       type: exec
       path: /hosta/globus/install/libexec
       base: grid-info-fs-posix
       args: -devclassobj -devobjs -dn Mds-Host-hn=hosta.isi.edu,
       Mds-Vo-name=local,o=grid -validto-secs 3600 -keepto-secs 21600
       cachetime: 1800
       timelimit: 20
       sizelimit: 20

Modifying grid-info-slapd.conf

The grid-info-slapd.conf file needs to be modified so that it contains an ldif database definition for each new grid-info-resource-ldif.conf file that you create.

To continue with our example, the following is the original grid-info-slapd.conf file:

      schemacheck off
       
       # The number of worker threads in the thread pool.
       threads 32
       
       # The maximum number of entries (objects) to return from a search 
       # operation.
       sizelimit 500
       
       # The maximum number of seconds (in real time) slapd will spend 
       # answering a search request.
       timelimit 3600
       
       include         /hosta/globus/install/etc/openldap/schema/core.schema
       
       include         /hosta/globus/install/etc/grid-info-resource.schema
       
       pidfile         /hosta/globus/install/var/resourceslapd.pid
       argsfile        /hosta/globus/install/var/resourceslapd.args
       
       modulepath      /hosta/globus/install/libexec/openldap/gcc32dbgpthr
       moduleload      libback_ldif.la
       moduleload      libback_giis.la
       
       database        ldif
       suffix          "Mds-Vo-name=local, o=Grid"
       conf            /hosta/globus/install/etc/grid-info-resource-ldif.conf
       anonymousbind   yes
       allowstaledata  yes
       access to * by * write
       
       database        giis
       suffix          "Mds-Vo-name=site, o=Grid"
       conf            /hosta/globus/install/etc/grid-info-site-giis.conf
       policyfile      /hosta/globus/install/etc/grid-info-site-policy.conf
       anonymousbind   yes
       allowstaledata  yes
       access to * by * write

This file should be modified to have three ldif database definitions to match the number of new grid-info-resource-ldif.conf files in our example.

The order of the ldif database definitions in the grid-info-slapd.conf file is very important because OpenLDAP selects the first matching database in the order.  For ldif database definitions that have a parent/child relationship, OpenLDAP requires that the parent definitions be listed after all of the children in the database order.

Also make sure that the last ldif database definition in the order is Mds-Vo-name=local, o=Grid, because only the GRIS with this suffix produces the GlobusStub object that is used to create internal objects in the object tree.

The values of the conf attributes in the ldif database definitions should include the names of the new grid-info-resource-ldif.conf files.

The value of the threads attribute should be greater than the number of GRISes in the configuration.  Otherwise, the information providers might not be invoked concurrently.

The following is the new grid-info-slapd.conf file, modified to reflect the changes in our example:

      schemacheck off
       
       # The number of worker threads in the thread pool.
       threads 32
       
       # The maximum number of entries (objects) to return from a search       
       # operation.
       sizelimit 500
       
       # The maximum number of seconds (in real time) slapd will spend answering a
       # search request.
       timelimit 3600
       
       include         /hosta/globus/install/etc/openldap/schema/core.schema
       
       include         /hosta/globus/install/etc/grid-info-resource.schema
       
       pidfile         /hosta/globus/install/var/resourceslapd.pid
       argsfile        /hosta/globus/install/var/resourceslapd.args
       
       modulepath      /hosta/globus/install/libexec/openldap/gcc32dbgpthr
       moduleload      libback_ldif.la
       moduleload      libback_giis.la
       
       database        ldif
       suffix          "Mds-Device-Group-name=processors, Mds-Host-hn=hosta.isi.edu,      Mds-Vo-name=local, o=grid"
     conf                 /hosta/globus/install/etc/grid-info-resource-ldif-cpu.conf
     anonymousbind        yes
     allowstaledata  yes
     access to * by * write
     
     database        ldif
     suffix          "Mds-Host-hn=hosta.isi.edu, Mds-Vo-name=local, o=grid"
     conf                 /hosta/globus/install/etc/grid-info-resource-ldif-host.conf
     anonymousbind        yes
     allowstaledata  yes
     access to * by * write
     
     database        ldif
     suffix          "Mds-Vo-name=local, o=Grid"
     conf                 /hosta/globus/install/etc/grid-info-resource-ldif-system.conf
     anonymousbind        yes
     allowstaledata  yes
     access to * by * write
     
     database        giis
     suffix          "Mds-Vo-name=site, o=Grid"
     conf            /hosta/globus/install/etc/grid-info-site-giis.conf
     policyfile      /hosta/globus/install/etc/grid-info-site-policy.conf
     anonymousbind   yes
     allowstaledata  yes
     access to * by * write

Modifying grid-info-resource-register.conf

The grid-info-resource-register.conf file needs to be modified so that it contains one registration object for each new GRIS that you create.

To continue with our example, the following is the original grid-info-resource-register.conf file:

     # for default MDS 2.4      install
     # register this server GRIS to this server GIIS
     
     dn: Mds-Vo-Op-name=register, Mds-Vo-name=site, o=grid
     regtype: mdsreg2
     reghn: hosta.isi.edu
     regport: 2135 
     regperiod: 600
     type: ldap
     hn: hosta.isi.edu 
     port: 2135
     rootdn: Mds-Vo-name=local, o=grid
     ttl: 1200
     timeout: 20
     mode: cachedump
     cachettl: 30    
     bindmethod: ANONYM-ONLY

This file should be modified to have three registration objects to match the number of new GRISes in our example.  For clarity, these registration objects can be identified via comment lines in the file.

The values of rootdn in the grid-info-resource-register.conf file should match the values of suffixes in the grid-info-slapd.conf file.

The values of cachettl in each of the registration objects should match the smallest cachetime values in each of the corresponding new grid-info-resource-ldif.conf files, since there are now multiple cachetime values replacing the original single cachetime value in the original grid-info-resource-ldif.conf file. 

The following is the new grid-info-resource-register.conf file, modified to reflect the changes in our example:

     #     for custom MDS 2.4 install
     # register this CPU info provider GRIS to this server GIIS
     
     dn: Mds-Vo-Op-name=register, Mds-Vo-name=site, o=grid
     regtype: mdsreg2
     reghn: hosta.isi.edu
     regport: 2135
     regperiod: 600  
     type: ldap      
     hn: hosta.isi.edu
     port: 2135
     rootdn: Mds-Device-Group-name=processors, Mds-Host-hn=hosta.isi.edu, 
     Mds-Vo-name=local, o=grid
     ttl: 1200       
     timeout: 20
     mode: cachedump
     cachettl: 30    
     bindmethod: ANONYM-ONLY

     # for custom MDS 2.4 install
     # register this host info provider GRIS to this server GIIS
     
     dn: Mds-Vo-Op-name=register, Mds-Vo-name=site, o=grid
     regtype: mdsreg2
     reghn: hosta.isi.edu
     regport: 2135
     regperiod: 600
     type: ldap
     hn: hosta.isi.edu
     port: 2135
     rootdn: Mds-Host-hn=hosta.isi.edu, Mds-Vo-name=local, o=grid
     ttl: 1200
     timeout: 20
     mode: cachedump
     cachettl: 1800
     bindmethod: ANONYM-ONLY
     # for custom MDS 2.4 install
     # register this system info provider GRIS to this server GIIS
     
     dn: Mds-Vo-Op-name=register, Mds-Vo-name=site, o=grid
     regtype: mdsreg2
     reghn: hosta.isi.edu
     regport: 2135
     regperiod: 600
     type: ldap      
     hn: hosta.isi.edu
     port: 2135
     rootdn: Mds-Vo-name=local, o=grid
     ttl: 1200        
     timeout: 20
     mode: cachedump
     cachettl: 1800
     bindmethod: ANONYM-ONLY