I-Structures: Data structures for parallel computing

16Citations
Citations of this article
31Readers
Mendeley users who have this article in their library.
Get full text

Abstract

It is difficult simultaneously to achieve elegance, efficiency and parallelism 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 and arrays using Update (both fine-grained operators), and arrays using make-array (a “bulk” operator). We then present I-structures as an alternative, defining precisely the parallel operational semantics of Id, a language with I-structures. We show elegant, efficient and parallel solutions for the program examples in Id. I-structures make the language non-functional, but do not raise determinacy issues. Finally, we show that even in the context of purely functional languages, I-structures are invaluable for implementing functional data abstractions.

Cite

CITATION STYLE

APA

Arvind, Nikhil, R. S., & Pingali, K. K. (1987). I-Structures: Data structures for parallel computing. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 279 LNCS, pp. 336–369). Springer Verlag. https://doi.org/10.1007/3-540-18420-1_65

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free