z-logo
open-access-imgOpen Access
I-structures: data structures for parallel computing
Author(s) -
Arvind Arvind,
Rishiyur S. Nikhil,
Keshav Pingali
Publication year - 1989
Publication title -
acm transactions on programming languages and systems
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.233
H-Index - 70
eISSN - 1558-4593
pISSN - 0164-0925
ISBN - 3-540-18420-1
DOI - 10.1145/69558.69562
Subject(s) - computer science , parallelism (grammar) , functional programming , structuring , programming language , data structure , determinacy , semantics (computer science) , context (archaeology) , data parallelism , operator (biology) , reduction (mathematics) , theoretical computer science , parallel computing , mathematical analysis , paleontology , biochemistry , chemistry , geometry , mathematics , finance , repressor , transcription factor , gene , economics , biology
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.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom