Parallel Sather (abbreviated as pSather) [3] is a parallel extension of the object oriented language Sather. Sather [6] is a simplified, optimized variant of Eiffel [5]. Sather has a very simple syntax, offers parameterized classes, object-oriented dispatch, multiple inheritance and strong typing, pSather adds constructs to create asynchronously executed threads and a special H0~IITOR class that provides features for implementing synchronization mechanisms. One goal of pSather is to support shared-memory abstractions. Two implementations, one on a sharedmemory multiprocessor (Sequent Symmetry) and another on a uniprocessor (Sparc stations) have worked relatively well. We therefore began work on a distributed memory implementation (in particular for the CM5) to test the suitability of the language for distributed-memory systems and to discover parallel constructs which provide both ease of programming and good performance on a distr ibuted-memory machine. In the process of porting pSather to the CM-5, we extended the design of the pSather runtime support for distributed-memory machines. The compiler/runtime support provides a "global address space" so that the language continues to support a shared-memory model. Also required were new treatments of shared variables and of remote accesses, procedure and thread invocations and MONITOR operations. The design for the runtime system is complete and a preliminary version of pSather is running on the CM-5. This abstract describes the experience in the design and implementation of the runtime system. We are implementing several medium-sized applications in pSather on CM-5. The emphasis is on providing support for the full range of data structures and exploiting this in challenging applications. We now also have designed further language constructs which are useful for programming in a non-uniform shared memory model. Language design, however, is not the focus of this abstract.
[1]
Jean-Philippe Vidal.
The computation of Gröbner bases on a shared memory multiprocessor
,
1990,
DISCO.
[2]
Seth Copen Goldstein,et al.
Active messages: a mechanism for integrating communication and computation
,
1998,
ISCA '98.
[3]
Charles Koelbel,et al.
Supporting shared data structures on distributed memory architectures
,
1990,
PPOPP '90.
[4]
Ken Kennedy,et al.
An Overview of the Fortran D Programming System
,
1991,
LCPC.
[5]
L. Greengard.
The Rapid Evaluation of Potential Fields in Particle Systems
,
1988
.
[6]
簡聰富,et al.
物件導向軟體之架構(Object-Oriented Software Construction)探討
,
1989
.