ACM Home Page
Please provide us with feedback. Feedback
I-structures: data structures for parallel computing
Full text PdfPdf (2.40 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 11 ,  Issue 4  (October 1989) table of contents
Pages: 598 - 632  
Year of Publication: 1989
ISSN:0164-0925
Authors
Arvind  Massachusetts Institute of Technology, Cambridge
Rishiyur S. Nikhil  Massachusetts Institute of Technology, Cambridge
Keshav K. Pingali  Cornell Univ., Ithaca, NY
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 17,   Downloads (12 Months): 85,   Citation Count: 76
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/69558.69562
What is a DOI?

ABSTRACT

It is difficult to achieve elegance, efficiency, and parallelism simultaneously in functional programs that manipulate large data structures. We demonstrate this through careful analysis of program examples using three common functional data-structuring approaches-lists using Cons, arrays using Update (both fine-grained operators), and arrays using make-array (a “bulk” operator). We then present I-structure as an alternative and show elegant, efficient, and parallel solutions for the program examples in Id, a language with I-structures. The parallelism in Id is made precise by means of an operational semantics for Id as a parallel reduction system. I-structures make the language nonfunctional, but do not lose determinacy. Finally, we show that even in the context of purely functional languages, I-structures are invaluable for implementing functional data abstractions.


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
ALLEN, J., AND KENNEDY, K. PFC: A program to convert FORTRAN to parallel form. Tech. Rep. MASC-TR82-6, Rice University, Houston, Tex., March 1982.
 
3
ARIOLA, Z., AND ARVIND. P-TAC: A parallel intermediate language. Tech. Rep. CSG Memo 295, MIT Lab. for Computer Science, Massachusetts ilnstitute of Technology, Cambridge, Jan. 1989.
 
4
 
5
 
6
ARVIND, NIKHIL, R. S., AND PINGALI, K.K. Id nouveau reference manual, part II: Semantics. Tech. Rep., Computation Structures Group, MIT Lab. for Computer Science, Massachusetts Institute of Technology, Cambridge, 1987.
 
7
ARVIND, AND THOMAS, R.E. I-Structures: An efficient data structure for functional languages. Tech. Rep. MIT/LCS/TM-178, MIT Lab. for Computer Science, Massachusetts Institute of Technology, Cambridge, 1981.
 
8
BARENDREGT, H., AND VAN LEEUWEN, M. Functional programming and the language TALE. Tech. Rep. TR 412, Mathematical Institute, Utrecht, The Netherlands, 1985.
 
9
CULLER, D.E. Effective datafiow execution of scientific applications. Ph.D. dissertation, MIT Lab. for Computer Science, Massachusetts Institute of Technology, Cambridge. To appear.
 
10
11
12
 
13
GOSTELOW, K. P., AND THOMAS, R.E. A view of datafiow. In AFIPS Conference Proceedings, vol. 48, 1979, pp. 629-636.
14
 
15
 
16
 
17
KELLER, R. M. FEL (function equation language) programmer's guide. Tech. Rep., AMPS Tech. Memo. 7, Dept. of Computer Science, University of Utah, Salt Lake City, April 1983.
18
19
 
20
NIKHIL, R.S. Id (version 88.1) reference manual. Tech. Rep. CSG Memo 284, MIT Lab. for Computer Science, Massachusetts Institute of Technology, Cambridge, Aug. 1988.
 
21
NIKHIL, R. S., PINGALI, K., AND ARVlND. Id nouveau. Tech. Rep. CSG Memo 265, Computation Structures Group, MIT Lab. for Computer Science, Massachusetts Institute of Technology, Cambridge, July 1986.
22
 
23
 
24
 
25
 
26
TRAUB, K.R. Sequential implementation of lenient progr ~mming languages. Ph.D. dissertation, Tech. Rep. TR-417, MIT Laboratory for Computer ScierLce, Massachusetts Institute of Technology, Cambridge, May 1988.
 
27
28

CITED BY  76

Collaborative Colleagues:
Arvind: colleagues
Rishiyur S. Nikhil: colleagues
Keshav K. Pingali: colleagues