Cornell University
Library
Cornell UniversityLibrary

eCommons

Help
Log In(current)
  1. Home
  2. Cornell Computing and Information Science
  3. Computer Science
  4. Computer Science Technical Reports
  5. I-Structures: Data Structures for Parallel Computing

I-Structures: Data Structures for Parallel Computing

File(s)
87-810.ps (694 KB)
87-810.pdf (2.87 MB)
Permanent Link(s)
https://hdl.handle.net/1813/6650
Collections
Computer Science Technical Reports
Author
Arvind
Nikhil, Rishiyur
Pingali, Keshav
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.

Date Issued
1987-02
Publisher
Cornell University
Keywords
computer science
•
technical report
Previously Published as
http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cs/TR87-810
Type
technical report

Site Statistics | Help

About eCommons | Policies | Terms of use | Contact Us

copyright © 2002-2026 Cornell University Library | Privacy | Web Accessibility Assistance