next up previous
Next: 2 Introduction to CRL Up: CRL version 1.0 Previous: CRL version 1.0

 1 Purpose of This Document

The purpose of this document is to aid the user in understanding how to build and use version 1.0 of the C Region Library (CRL) [2]. It provides a brief outline of the CRL programming model, describes the CRL commands, gives a short tutorial on writing CRL programs, and explains how to obtain and compile CRL. This version of CRL is still primarily a research vehicle; it is not intended to be of production quality. CRL 1.0 includes support for the MIT Alewife Machine [1], Thinking Machine's CM-5 [3] using active messages (as provided by CMMD [6]), and networks of Sun workstations (running SunOS 4.1.3) communicating over TCP-based local area networks. (For simplicity, we refer to the implementation of CRL for networks of Sun workstations as the TCP/UNIX implementation.) A ``null'' CRL implementation that provides null or identity macros for all CRL functions except rgn_create (which is a simple wrapper around malloc) is also available to obtain sequential timings on Alewife, the CM-5, or uniprocessor systems (e.g., desktop workstations).

To use the TCP/UNIX implementation of CRL, PVM [5] must also be installed on each machine; CRL leverages off of the group and process management facilities provided by PVM. The TCP/UNIX implementation included in CRL 1.0 is not intended to be a high-performance distributed shared memory implementation delivering speedups similar to those obtained with the Alewife and the CM-5 implementations. It is provided to allow development and experimentation by those without access to an Alewife or CM-5 platform and to display the ease with which CRL may be ported.

The rest of this document proceeds as follows. Section 2 provides an introduction to the CRL distributed shared memory system and its goals. Section 3 describes the CRL programming model and CRL functions. Section 4 mentions some of the caveats to keep in mind while using CRL 1.0. Sections 5, 6, and 7 provide instructions for using the CM-5, TCP/UNIX, and null versions of CRL 1.0, respectively. Section 8 gives instructions for obtaining the most recent CRL distribution package. Section 9 contains the copyright notice for CRL. Finally, Appendix A contains a detailed example of a simple application written using CRL 1.0.



next up previous
Next: 2 Introduction to CRL Up: CRL version 1.0 Previous: CRL version 1.0

23 August 1995