Skip to main content


eCommons@Cornell >
College of Engineering >
Computer Science >
Computer Science Technical Reports >

Please use this identifier to cite or link to this item:
Title: I-Structures: Data Structures for Parallel Computing
Authors: Arvind
Nikhil, Rishiyur
Pingali, Keshav
Keywords: computer science
technical report
Issue Date: Feb-1987
Publisher: Cornell University
Abstract: It is difficult simulteneously 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 determinancy issues. Finally, we show that even in the context of purely functional languages, I-structures are invaluable for implementing functional data abstractions.
Appears in Collections:Computer Science Technical Reports

Files in This Item:

File Description SizeFormat
87-810.pdf2.94 MBAdobe PDFView/Open
87-810.ps694 kBPostscriptView/Open

Refworks Export

Items in eCommons are protected by copyright, with all rights reserved, unless otherwise indicated.


© 2014 Cornell University Library Contact Us