A simple and efficient implmentation approach for single assignment languages

  • Authors:
  • Kourosh Gharachorloo;Vivek Sarkar;John L. Hennessy

  • Affiliations:
  • Computer Systems Laboratory, Stanford University, CA;IBM T. J. Watson Research Center, Yorktown Heights, NY;Computer Systems Laboratory, Stanford University, CA

  • Venue:
  • LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

Functional and single assignment languages have semantically pure features that do not permit side effects. This lack of side effects makes detection of parallelism in programs much easier. However, the same property poses a challenge in implementing these languages efficiently. A preliminary implementation of a compiler for the single assignment language, SISAL, is described. The compiler uses reference counts for memory management and copy avoidance. Performance results on a wide range of benchmark programs show that SISAL programs compiled by our implementation run 2-3 times slower on average than the same programs written in C, Pascal, and Fortran, and orders of magnitude faster than other implementations of single assignment languages. Extensions of these techniques for multiprocessor implementations are proposed.