Hostname: page-component-8448b6f56d-wq2xx Total loading time: 0 Render date: 2024-04-23T06:46:56.767Z Has data issue: false hasContentIssue false

EQUALS – a fast parallel implementation of a lazy language

Published online by Cambridge University Press:  01 March 1997

OWEN KASER
Affiliation:
Department of Mathematics, Statistics and Computer Science, University of New Brunswick at Saint John, Saint John, New Brunswick NB E2L 4L5, Canada
C. R. RAMAKRISHNAN
Affiliation:
Department of Computer Science, SUNY at Stony Brook, Stony Brook, NY 11794-4400, USA
I. V. RAMAKRISHNAN
Affiliation:
Department of Computer Science, SUNY at Stony Brook, Stony Brook, NY 11794-4400, USA
R. C. SEKAR
Affiliation:
Department of Computer Science, Iowa State University, Ames, IA 50010, USA
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

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 〈v, G〉-machine and GAML) as well as with the performance of SML/NJ, a sequential implementation of a strict language.

Type
Research Article
Copyright
© 1997 Cambridge University Press
Submit a response

Discussions

No Discussions have been published for this article.