| A simple and efficient implmentation approach for single assignment languages |
| Full text |
Pdf
(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
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 5, Downloads (12 Months): 22, Citation Count: 4
|
|
|
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
|
S. K. Skedzielewski , R. K. Yates , R. R. Oldehoeft, DI: an interactive debugging interpreter for applicative languages, Papers of the Symposium on Interpreters and interpretive techniques, p.102-112, June 24-26, 1987, St. Paul, Minnesota, United States
|
| |
21
|
M. L. Welcolne a.nd S. K. Skedzielewski. Data. flow editor, Functional Programming Languages and Computer Architecture, $pringer-Vcrlag, 1985.
|
CITED BY 4
|
|
|
|
|
|
|
|
|
|
|
Zoran Budimlic , Aparna M. Chandramowlishwaran , Kathleen Knobe , Geoff N. Lowney , Vivek Sarkar , Leo Treggiari, Declarative aspects of memory management in the concurrent collections parallel programming model, Proceedings of the 4th workshop on Declarative aspects of multicore programming, January 20-20, 2009, Savannah, GA, USA
|
|