|
ABSTRACT
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 detect parallelism automatically by propagating exhaustive (normal form) demand. Another important difference between EQUALS and previous implementations is the use of reference counting for memory management instead of garbage collection. Our implementation shows that reference counting leads to very good scalability, low memory requirements and improved locality. We compare our results with sequntial SML/NJ as well as parallel (v, G-machine and GAML implementations.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
AEL88
|
A. W. Appel , J. R. Ellis , K. Li, Real-time concurrent collection on stock multiprocessors, Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, p.11-20, June 20-24, 1988, Atlanta, Georgia, United States
|
| |
Aug84
|
L. Augustsson, A compiler for lazy M~, LFP,1984.
|
| |
Aug89
|
L. Augustsson and T. Johnsson, Parallel graph reduction with the (u, G) machzne, FPCA, t989.
|
 |
Dar81
|
|
 |
Geo89
|
|
| |
Gol88a
|
B. Goldberg, Buckwheat: Graph reduction on shared-memory multiprocessor, LFP, t988.
|
| |
Gol88b
|
|
 |
Joh84
|
|
| |
HL79
|
G. Huet and J.J. Levy, Computatzons ~n hot, ambiguous hnear term rewriting systems, Tech Rep. No. 359, 1979, IRIA, ke Chesney, France, 1979.
|
| |
Lav88
|
|
| |
Mar91
|
|
 |
MKH90
|
Eric Mohr , David A. Kranz , Robert H. Halstead, Jr., Lazy task creation: a technique for increasing the granularity of parallel programs, Proceedings of the 1990 ACM conference on LISP and functional programming, p.185-197, June 27-29, 1990, Nice, France
[doi> 10.1145/91556.91631]
|
 |
PS90
|
|
| |
PJ87
|
S.L. Peyton Jones, GRIP: A parallel graph reduction machine, FPCA, 1987.
|
 |
SPR90
|
|
| |
SRR92
|
|
| |
Seq87
|
Sequent Computer Systems, Sequent guide to parallel programming, 1987.
|
| |
WW87
|
|
|