This information is for a release that is no longer supported by the Globus Toolkit.

Globus Toolkit 2.2 Release Notes


This release should be backwards compatible with the Globus Toolkit 2.0 release in the following ways:

  • 2.2 clients should be backwards compatible with 2.0 servers, if they are not using functionality added in 2.2.
  • Clients from 2.0 with updates should be compatible with 2.2 servers.
  • Clients from 2.0 without updates are not compatible with 2.2 servers.
  • There is no binary compatibility between packages in 2.0 and 2.2
  • APIs should for the most part be backwards compatible at the source level, though it should be noted that some APIs have been removed from the toolkit.

New/Improved Features

This release contains notable changes to the following components:

GRAM 1.6

GRAM changes include:

  • Non-blocking client functions: Needed for clients submitting a large number of jobs all at onceScheduler specific options: Different versions of scheduler backend scripts ban support different scheduler options.  These supported options will be published to aid in client job submissions.File Staging: Staging of files into and out of a GRAM resource with a job submissionSeparate setup packages for each scheduler: Only a subset of schedulers are used at a site, they should only have to install the ones they use.  This will also make it easier to create, modify and redistribute unique scheduler setup packages.Advanced Output Management: Provide the means to send standard output and error to multiple destinations.Proxy Refresh: Enhancements to allow the user's proxy on the service host to be refreshed (replaced) so that the job manager (and job) has valid user credentials. This allows for longer running jobs.Shared Library Support for the User's Job: Made enhancements to the job's environment so applications built shared will run properly
  • Improved Documentation: Added doxygen documentation where appropriate, updated for above enhancements

MDS 2.2

MDS changes include:

  • New deployment information providersNew queries to a GIIS for debugging hierarchy issuesNew logging capabilitiesNewer version of OpenLDAPGSI authenticated call down from GIIS to GIIS/GRISCore information providers for Tru64Updated information providers for Irix
  • Bug fixes


GSI changes include:

  • A complete rewrite of functionality that used to be in the SSL Utils package has been added (deprecating the SSL Utils package)Code cleanup in GSSAPI and GSS Assist packages. The GSS Assist package now requires module activation/deactivation. The module name is GLOBUS_GSI_GSS_ASSIST_MODULE.Error messages now use the standard Globus Error FrameworkGSSAPI and GSS Assist documentation has been improved including new APIs documented with doxygen.Support for GSSAPI extensions availabe at: The ability to export a credential to a file by passing the minor status 0xdee0 to gss_inquire_cred was removed. Users of this hack should use gss_export_cred has been deprecatedRunning a service as a non root user now requires a personal grid-map file. This file is searched for by first looking at the GRIDMAP environment variable followed by looking for $HOME/.gridmap.Setting the X509_RUN_AS_SERVER variable is a no-op in 2.2. Certificates are now searched for in the following order:
    • Environment variablesService certificateHost certificateProxy certificate
    • User certificate
    The X509_CERT_FILE variable is a no-op in 2.2.Standardized service certificate locations. Service certs are now searched for in the following locations (in order): 
    • The location pointed to by the X509_USER_CERT and X509_USER_KEY environment variables /etc/grid-security/<service>/<service>{cert,key}.pem$GLOBUS_LOCATION/etc/<service>/<service>{cert,key}.pem
    • $HOME/.globus/<service>/<service>{cert,key}.pem
  • Bug fixes

Callback Spaces

The addition of callback spaces is a fairly invisible change from a user's standpoint.  Developers will be interested.

Callback spaces allow a library or application that requires non-threaded semantics to not worry about how it is linked.  This provides some performance improvement since you can increase the number of threads servicing callbacks.  There are now 3 types of callback spaces:

  • Non-threaded: Callbacks need to be explicitly polled forSerialized: A single thread
  • Threaded: one or more threads

With non-threaded builds, all spaces behave like a non-threaded space.  With threaded builds, the default space (the one used if you ignore Callback Spaces) is a threaded space.  However, by default, only one thread is used, so it behaves as a serialized space would.  You can vary the number of threads used by the threaded space for callbacks by setting the GLOBUS_CALLBACK_POLLING_THREADS environment variable.  Some libraries may not work with this set to anything other than 1.

For example, the application Autopilot must be threaded but it uses MPICH-G2 which is not thread safe.  Now, Autopilot can use a threaded callback space and MPICH-G2 can use a non-threaded one meeting the requirements of both pieces of software.  Note, this requires unreleased (as of 9.23.02) modifications to the MPICH-G2 library.

GridFTP and GASS Copy

No new features but lots of bug fixes including:

  • Race condition bugsSecurity / Buffer Overflow issue fixedMost hanging problems fixed
  • Other miscellaneous bug fixes

Globus GASS Cache

Changes to the Globus GASS Cache include:

  • Changes to the APIA severe performance problem with multiple simultaneous job submissions has been fixed.  The problem was that locking on the state file causing huge delays (it did not matter if you were requesting the same URL or not).  It was fixed by using hashes of the URL to create directory names and then writing files to indicate state.
  • globus-gass-cache program has additional utility functions.

Globus IO

Globus IO underwent modifications to support callback spaces.  There were some new functions added.  Existing function signatures did not change, but binary signatures did change, so a recompile is necessary.  Event handling has been made more efficient and a possible deadlock situation in cancel has been resolved.


The location of globus-makefile-header changed from $GLOBUS_LOCATION/sbin to $GLOBUS_LOCATION/bin.

Obtaining and Installing the Software

Please refer to our Installation Instructions for detailed information on how to obtain and install this software.


The following general information about this software is available.

MDS Documentation

The Monitoring and Discovery Service (MDS) is the information services component of the Globus Toolkit. The Globus Toolkit 2.2 includes MDS 2.2. For a list of changes see MDS Changes.

General information about MDS (updated with new MDS 2.2 information) is available via the Globus Project MDS page.

GRAM Documentation

The Globus Resource Allocation Manager (GRAM) is the resource management component of the Globus Toolkit. The Globus Toolkit 2.2 includes GRAM 1.6, an update to the existing component in the Toolkit.

General information about GRAM (updated with new GRAM 1.6 information) is available via the Globus Project GRAM page.

Security Documentation

The Grid Security Infrastructure (GSI) is the security component of the Globus Toolkit. General information about GSI is available via the Globus Project Security page.


The traditional public Globus Toolkit support infrastructure has been adjusted to support this new software, so please use these mechanisms to request help or support with this release..


For the 2.2 release we tested the software build and installation and basic functionality on the following platforms.

  • Linux Kernel 2.x, Intel x86 Linux Kernel 2.4, Intel IA-64 (Itanium) IRIX 6.5, MIPS Solaris 7, UltraSPARCSolaris 8, UltraSPARC
  • AIX 5.1
  • HP Tru64 5.1

In addition to our internal testing, the Globus Toolkit 2.2 was also tested by teams at HP (Tru64, HP-UX 11 - PARISC) and at IBM (AIX 5.1 and Linux). We are grateful to these organizations for their help with this release.

Known Issues

For known issues with building and using the Globus Toolkit 2.2 release please take a look at the Platform Notes page.


The Globus Toolkit is distributed and licensed for use under the terms of the Globus Toolkit Public License.