pSather


Parallel Sather (pSather) is a parallel version of the language Sather, developed and in use at ICSI. pSather addresses non-uniform-memory-access multiprocessor architectures but presents a shared memory model to the programmer. It extends serial Sather with threads, synchronization and data distribution. Unlike actor languages, multiple threads can execute in one object. A distinguished class GATE combines various dependent low-level synchronization mechanisms efficiently: locks, futures, and conditions.

The pSather compiler is integrated into the serial Sather compiler and is known to run on SunOs 4.1.3, Solaris 2.4 and Linux 1.1.59 and 1.2.4. The Sather compiler is available here or by anonymous ftp at:

    ftp.icsi.berkeley.edu:/pub/sather
There is a separate page for Sather, an object oriented language designed to be simple, efficient, safe, flexible and non-proprietary. One way of placing it in the "space of languages" is to say that it aims to be as efficient as C, C++, or Fortran, as elegant as and safer than Eiffel or CLU, and support higher-order functions and iteration abstraction as well as Common Lisp, Scheme, or Smalltalk.

Sather has parameterized classes, object-oriented dispatch, statically-checked strong (contravariant) typing, separate implementation and type inheritance, multiple inheritance, garbage collection, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather programs can be compiled into portable C code and can efficiently link with C object files. pSather inherits these advantages.


General Information:


Related pages:


fleiner@icsi.berkeley.edu