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.
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:
Components being developed:
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.
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-client | Client programs |
| nordugrid-arc-server | Servers |
| nordugrid-arc-libs | Common ARC runtime libraries |
| nordugrid-arc-libs-devel | ARC development files |
| nordugrid-arc-python | Python bindings for arclib |
| nordugrid-arc-gridmap-utils | Utilities for managing gridmap-files |
| nordugrid-arc-ca-utils | Utilities for mainting CA files |
| nordugrid-arc-monitor | Grid monitor Web interface (should be installed on a Web server) |
| nordugrid-arc-doc | Documentation |
| nordugrid-arc-compat | Older 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.
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.
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 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.