NorduGrid middleware, the Advanced Resource Connector




The NorduGrid middleware (or Advanced Resource Connector, ARC) is an open source software solution distributed under the GPL license, enabling production quality computational and data Grids.

Since the first release (May 2002) the middleware is deployed and being used in production environments (see e.g. Atlas Data-Challenge 1 on NorduGrid). Emphasis is put on scalability, stability, reliability and performance of the middleware. A growing number of Grid projects, like Swegrid, DCGC, NDGF chose ARC as their middleware. One of the largest production Grids of the world is running on the ARC middleware.

Middleware description

ARC provides a reliable implementation of the fundamental Grid services, such as information services, resource discovery and monitoring, job submission and management, brokering and data management and resource management. Most of these services are provided through the security layer of the GSI. The middleware builds upon standard Open Source solutions like the OpenLDAP, OpenSSL, SASL and Globus Toolkit® (GT) libraries. All the external sofware is provided in the download area and the complete list of external software dependencies can be found here. NorduGrid provides innovative solutions essential for a production quality middleware: the Grid Manager, gridftpd (the ARC/NorduGrid GridFTP server), the information model and providers (NorduGrid schema), User Interface and broker (a "personal" broker integrated into the user interface), extended Resource Specification Language (xRSL), and the monitoring system.

The listed solutions are used as replacements and extensions of the original pre-WS services of the Globus Toolkit®. ARC does NOT use most of GT services, such as GRAM, job submission commands, the WUftp-based gridftp server, the gatekeeper, GRAM job-manager scripts, MDS information providers or schemas. Moreover, ARC extends Globus RSL and makes the Globus MDS functional – without altering the original code. ARC is thus much more than a Globus Toolkit – it is an out-of-the-box Grid solution that offers its own services built upon the GT libraries.

The NorduGrid middleware integrates computing resources (usually, commodity computing clusters managed by a batch system or standalone workstations) and Storage Elements, making them available via a secure common Grid layer. An overview of the architecture can be found, e.g. in the NorduGrid architecture and tools presentation. Complete documentation, including component descriptions, installation details, usage instructions, articles and presentations, can be found at the documentation page.

ARC main components are:

  1. Grid services running on the resources: the Grid Manager, gridftpd and the information services. Grid jobs are submitted to the cluster through gridftpd and a separate session directory is created for each job. The Grid session directories are made available through the gridftpd server during and after job execution. The Grid Manager is a service running on a computing resource taking care of jobs, session directories and the input data cache area. Information services are implemented as efficient scripts populating the NorduGrid information database stored in the Globus-specific OpenLDAP backends.
  2. Indexing services for the resources and data: a special, simplified usage of the GT-2 GIIS OpenLDAP backend allows to build a hierarchical mesh of Grid-connected sites. For data indexing, ARC middleware can use a variety of services, such as the GT-2 Replica Catalog, the GT-2 RLS or gLite's Fireman. ARC client tools and the Grid Manager are capable of interacting with these services.
  3. Clients making intelligent use of the distributed information and data available on the Grid. ARC comes with a light-weight command line client, the User Interface. The ARC User Interface is a set of tools to submit, monitor and manage jobs on the Grid, move data around and query resource information. The User Interface comes with a built-in broker, which is able to select the best matching resource for a job. Grid job requirements are expressed via xRSL. Another special client is the Grid Monitor, which uses any Web browser as an agent to periodically query the distributed information system and present the results as a set of inter-linked Web pages.

Components being developed:

  1. Smart Storage Element (SSE): SSE is a replacement of the current ARC gridftpd-based simple storage element. SSE is based on standard protocols such as HTTPS/G and SOAP. SSE will provide flexible access control, data integrity between resources and support for autonomous and reliable data replication.
  2. Logging service.

ARC is designed to be a scalable, non-intrusive and portable solution. The development is user- and application-driven, with the main requirements being those of performance, stability, useability and portability. As a result of this approach, the standalone client is available for a dozen of platforms and can be installed in a few minutes. The server installation does not require a full site reconfiguration. The middleware can be built on any platform where the external software packages (like GT libraries) are available. While being deployed on a large production Grid and being used by real users, the middleware is naturally undergoing continous real life tests.

Packaging, distribution

The middleware is available in tarballs and in relocatable RPMS. The source comes as a single tarball or a source-RPM, while the pre-built binaries are divided into the following modules:

nordugrid-arc-clientClient programs
nordugrid-arc-serverServers
nordugrid-arc-libsCommon ARC runtime libraries
nordugrid-arc-libs-develARC development files
nordugrid-arc-pythonPython bindings for arclib
nordugrid-arc-gridmap-utilsUtilities for managing gridmap-files
nordugrid-arc-ca-utilsUtilities for mainting CA files
nordugrid-arc-monitorGrid monitor Web interface (should be installed on a Web server)
nordugrid-arc-docDocumentation
nordugrid-arc-compatOlder versions (0.4.x) client tools

Furthermore, nordugrid-arc-standalone client binary tarballs are available for a variety of Linuxes. This client comes with all the required external software (e.g., Globus) and configuration, thus providing a complete, out-of-the-box client package that can be used by other Grids, e.g., for data transfer or data indexing.

Downloads and installation

The middleware is free to be deployed anywhere by anybody. Pre-built binary releases for a dozen of GNU/Linux distributions can be downloaded from this site, and installation instructions are available at the "Documentation" area.

Software releases are available under the GNU General Public License (GPL). The NorduGrid repository hosts also the source code, and provides all the required external software.

Research and development

The Open Source development of the middleware is coordinated by the NorduGrid Collaboration. The Collaboration is open to new members. Contributions from the community to the software and the documentation are most welcomed, please contact the technical coordinator or write to the discussion list for details. Sources can be downloaded from this Web site or SVN.

The developers maintain a Task List which describes outstanding issues that have to be addressed in the framework of the NorduGrid development. For a more detailed description, write access to SVN and further questions, write to the nordugrid-discuss mailing list. Ongoing and completed Grid Research projects and student assignmnets related to the middleware are listed here.

User support, feature/bug reports, documentation

User support and site installation assistance is provided via the request tracking system available at . In addition, NorduGrid runs several mailing lists among which nordugrid-discuss is a general forum for all kind of issues related to the ARC middleware.

NorduGrid deploys the Bugzilla problem tracking system. Feature and enhancement requests, as well as discovered problems, should be reported there.

Research papers, overview talks, reference manuals, user guides, installation instructions, conference presenations, FAQ and even tutorial materials can be fetched from the documents section.

NorduGrid homepage