TreadMarks:
Shared Memory Computing on Networks of Workstations

By building on existing infrastructure, networks of workstations
(NOWs) provide a low-cost, low-risk entry into the parallel computing
arena. Furthermore, using a shared memory programming model, existing
sequential codes can be parallelized with much less programmer effort
than when using message passing. The combination of the two, shared
memory programming on a network of workstations, thus provides
excellent leverage both for hardware and software investments. It also
provides some measure of portability between SMPs and NOWs.

We have developed a runtime package, called TreadMarks, that
provides a shared memory image to processes executing on different
workstations. The package is relatively portable, and runs on most
common Unix platforms (DEC, HP, IBM, Intel, SGI, and SUN). No kernel
modifications or special privileges are required to run TreadMarks
programs. C, C++, and Fortran are supported, using standard compilers
and linkers.

While the appeal of shared memory programming has been well known
for some time, early software implementations have suffered from poor
performance due to excessive communication. We have developed a number
of techniques to address the communication problem. In this talk I
will discuss the two principal techniques: lazy release consistency
and multiple-writer protocols, and contrast them to the sequential
consistency and single-writer protocols used in conventional
systems.

I will demonstrate the programmability and efficiency of TreadMarks
by discussing the parallelization of FASTLINK, a popular package for
genetic linkage analysis, the computational step in disease gene
location. I focus on this application because for a number of reasons
it is hard to do in message passing and at the same time it stretches
the performance of distributed shared memory systems. Nevertheless, we
have been able to achieve good performance for a large number of
datasets. The resulting parallel FASTLINK package is currently in use
at a number of sites, both on SMPs and on NOWs. It was recently used
in the discovery of a linkage for Parkinson's disease by researchers
at NIH.