|
eCommons@Cornell >
College of Engineering >
Computer Science >
Computer Science Technical Reports >
Please use this identifier to cite or link to this item:
http://hdl.handle.net/1813/6650
| 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 |
| Citation: | http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR87-810 |
| 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. |
| URI: | http://hdl.handle.net/1813/6650 |
| Appears in Collections: | Computer Science Technical Reports
|
Items in eCommons are protected by copyright, with all rights reserved, unless otherwise indicated.
|