Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Type Systems for Distributed Data Sharing Ben Liblit, Alex Aiken, and Katherine Yelick

Summary: Type Systems for Distributed Data Sharing
Ben Liblit, Alex Aiken, and Katherine Yelick
University of California, Berkeley
Berkeley, CA 94720-1776
Abstract. Parallel programming languages that let multiple processors access
shared data provide a variety of sharing mechanisms and memory models. Under-
standing a language's support for data sharing behavior is critical to understand-
ing how the language can be used, and is also a component for numerous program
analysis, optimization, and runtime clients. Languages that provide the illusion of
a global address space, but are intended to work on machines with physically dis-
tributed memory, often distinguish between different kinds of pointers or shared
data. The result can be subtle rules about what kinds of accesses are allowed
in the application programs and implicit constraints on how the language may
be implemented. This paper develops a basis for understanding the design space
of these sharing formalisms, and codifies that understanding in a suite of type
checking/inference systems that illustrate the trade-offs among various models.
1 Introduction
Parallel, distributed, and multithreaded computing environments are becoming increas-
ingly important, but such systems remain difficult to use and reason about. Data sharing
(the ability of multiple threads to hold references to the same object) is one source of


Source: Aiken, Alex - Department of Computer Science, Stanford University


Collections: Computer Technologies and Information Sciences