Quarks -- a Portable DSM System


At Utah we are developing a freely-available distributed shared memory system named Quarks. Currently it consists of a user-level library and associated header files that support DSM on collections of Unix workstations. The released version runs on SunOS 4.1/SPARC, HP-UX/PA-RISC, IRIX 5.2/MIPS machines, and 4.3BSD/M68k machines. We are working on a native Mach port. Quarks includes a number of modern DSM features such as support for multiple consistency protocols (e.g., a write invalidate protocol providing strict consistency, a delayed write update protocol providing release consistency, etc.) and multithreading to mask communication latency. An effort has been made to make adding new protocols easy, allowing the research community to experiment with new protocols, and allowing compiler writers to develop specialized protocols (as in Blizzard).

In an effort to increase Quarks' impact, we have tried to provide a simple user interface. Quarks supports C and C++ programs using the m4 macros to describe parallelism and synchronization, as in the SPLASH programs. In addition, Quarks supports a simple X-based user interface that allows limited parallel debugging using gdb.

An Alpha release (0.8) with the above-described features is available via anonymous ftp (430K compressed tar file). Feedback on the interface (API) is especially solicited, as well as other comments and critiques on the system.

Future releases will contain the following additional work in progress: In conjunction with the Quarks design effort, we are modifying the gcc compiler to generate DSM-specific code, including embedded support for mixed DSM and RPC programs (as in Carlos, support for static shared data, and (soon) support for software write detection and fine-grained access tracing, which we anticipate using for performance tuning and debugging.

It is our hope that by placing a relatively sophisticated DSM system in the public domain we will increase the number of users and make DSM research easier to perform.


retrac@cs.utah.edu
Last modified on Mon May 8 1995