Fast Parallel Implementation of Lazy Languages --- The EQUALS Experience

Owen Kaser, Shaunak Pawagi, C. R. Ramakrishnan, I. V. Ramakrishnan, R. Sekar


This paper describes EQUALS, a fast parallel implementation of a lazy functional language on a commercially available shared-memory parallel machine, the Sequent Symmetry. In contrast to previous implementations, we propagate normal form demand at compile time as well as run time, and detect parallelism automatically using strictness analysis. The EQUALS implementation indicates the effectiveness of NF-demand propagation in identifying significant parallelism and in achieving good sequential as well as parallel performance. Another important difference between EQUALS and previous implementations is the use of reference counting for memory management, instead of mark-and-sweep or copying garbage collection. Implementation results show that reference counting leads to very good scalability and low memory requirements, and offers sequential performance comparable to generational garbage collectors. We compare the performance of EQUALS with that of other parallel implementations (the nu-G achine and GAML) as well as with the performance of SML/NJ, a sequential implementation of a strict language.

Bibtex Entry:

author = {Owen Kaser and  Shaunak Pawagi and  C. R. Ramakrishnan and  I. V. Ramakrishnan and  R. Sekar},
title = {Fast Parallel Implementation of Lazy Languages --- The {EQUALS} Experience},
booktitle = {ACM Symposium on Lisp and Functional Programming ({LFP})},
publisher = {ACM},
pages = {335--344},
year = {1992}

Full Paper: [pdf]

Home | Papers

C. R. Ramakrishnan