This research was conducted by Ben Liblit, Alex Aiken, and Katherine Yelick. The paper has been published in the Tenth Annual International Static Analysis Symposium (SAS ’03).
Parallel programs share data in ways that may not be obvious at the source level. Understanding a program’s data sharing behavior is critical to understanding the program as a whole, and is also a necessary component for numerous program analysis, optimization, and run time clients. This paper develops a basis for understanding the design space of distributed data sharing formalisms, and codifies that understanding in a family of type checking/inference systems that illustrate the trade-offs among various sharing models.
The full paper is available as a single PDF document. A suggested BibTeX citation record is also available.
See also Sharing Analysis for Titanium for more information on the practical issues that arise when adding sharing analysis to a real parallel programming language.
This work was presented at SAS ’03 in San Diego, California. Slides from that talk are available as a single PowerPoint document.