ACM Home Page
Please provide us with feedback. Feedback
A simple and efficient implmentation approach for single assignment languages
Full text PdfPdf (1.04 MB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1988 ACM conference on LISP and functional programming table of contents
Snowbird, Utah, United States
Pages: 259 - 268  
Year of Publication: 1988
ISBN:0-89791-273-X
Authors
Kourosh Gharachorloo  Computer Systems Laboratory, Stanford University, CA
Vivek Sarkar  IBM T. J. Watson Research Center, Yorktown Heights, NY
John L. Hennessy  Computer Systems Laboratory, Stanford University, CA
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 22,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/62678.62718
What is a DOI?

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.


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.

 
1
 
2
Arvind et al. An A.wnchronous Programming Language and Computing Machine. Technical Report 114A, UC Irvine, December 1978.
 
3
Arvind and R. E. Thomas. }-Structures: An Ej~cient Data Type for Functional Languages. Tedmical Report MIT/LCS/TM-210, MIT, i981.
4
 
5
James R. Celoni a.nd John L. Hennessy. SAL : A Single A~aignment Language for Parallel Algorithms. Technical Report CLaSSic-83-01, Stanford University, September 1983.
 
6
 
7
Ron Cytron and Jealn:te Ferran{e. What~ in a Name? -or- The Value of Renaming for Parallelism Detectior, and Storage Allocation. Techlfical l:leport RC 12785 (#55984), mM T. J. Watson Research Center, Jmuary 1987.
 
8
A. L. Davis and R. M. Keller. Data flow progrant graphs. IEEE Computer, 15(2), February 1982.
 
9
 
10
11
12
13
 
14
 
15
J. McGraw et a l. SISAL: Streams and Iteration.q in. a Single A,.~ignment Language~ Language 12eference Manual, Version 1.~. Technical Report M-146, LLNL, Ma.rch 1985.
 
16
 
17
 
18
Vivek Sa.rkar. Pariitioning and Scheduling Para. Ilel Programs for Ezecution on M'ultiproce.qsor~. PhD thesis, Stanford University, April 1987. (Technical Report CSL-TR-87-328).
 
19
S. t(. Skedzielewski and J. Glauert. IF1 - An Intermediate Form for Applicative Lang~age.~, VeT, ion 1.0. Technical Report M-170, LLNL, July 1985.
20
 
21
M. L. Welcolne a.nd S. K. Skedzielewski. Data. flow editor, Functional Programming Languages and Computer Architecture, $pringer-Vcrlag, 1985.


Collaborative Colleagues:
Kourosh Gharachorloo: colleagues
Vivek Sarkar: colleagues
John L. Hennessy: colleagues