UC BERKELEY
EECS technical reports
TECHNICAL REPORTS


CSD-99-1072.pdf
CSD-99-1072.ps
Conditions of Use

Archive Home Page

Type Systems for Distributed Data Structures

Authors:
Liblit, Ben
Aiken, Alexander
Technical Report Identifier: CSD-99-1072
January 24, 2000
CSD-99-1072.pdf
CSD-99-1072.ps

Abstract: Distributed-memory programs are often written using a global address space: any process can name any memory location on any processor. Some languages completely hide the distinction between local and remote memory, simplifying the programming model at some performance cost. Other languages give the programmer more explicit control, offering better potential performance but sacrificing both soundness and ease of use.

Through a series of progressively richer type systems, we formalize the complex issues surrounding sound computation with explicitly distributed data structures. We then illustrate how type inference can subsume much of this complexity, letting programmers work at whatever level of detail is needed. Experiments conducted with the Titanium programming language show that this can result in easier development and significant performance improvements over manual optimization of local and global memory.