ACM Home Page
Please provide us with feedback. Feedback
Type inference for locality analysis of distributed data structures
Full text PdfPdf (329 KB)
Source
Principles and Practice of Parallel Programming archive
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming table of contents
Salt Lake City, UT, USA
SESSION: Static analysis table of contents
Pages 11-22  
Year of Publication: 2008
ISBN:978-1-59593-795-7
Authors
Satish Chandra  IBM Research, Hawthorne, NY, USA
Vijay Saraswat  IBM Research, Hawthorne, NY, USA
Vivek Sarkar  Rice University, Houston, TX, USA
Rastislav Bodik  University of California, Berkeley, CA, USA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 130,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1345206.1345211
What is a DOI?

ABSTRACT

In languages with distributed heap data structures, the type system typically conveys only coarse locality information: whether a reference is local or possibly remote. Often, of interest to the optimizing compiler or the user is a more fine-grain information, such as whether two remote references point to objects in the same partition of the distributed heap.

This paper proposes a dependent type system, called place types, to capture such fine-grain locality information. The type of each reference identifies the heap partition, called a place, that the reference points to. This type system is expressive enough to statically type several commonly used distributed data structures. It also accommodates a "dynamic" type when no suitable static type exists. We show how to embed this type system as type annotations in the X10 programming language.

We also present a type inference algorithm for saving programmers from the burden of inserting type annotations. The type inference has been inspired by the use of type inference in functional programming languages such as ML. We have implemented the type inference algorithm in the X10 compiler. Experiments with small programs, but with the full set the relevant language features, have been successful in automatically finding the expected place types in these programs.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Watson Libraries for Program Analysis (WALA). URL wala.sf.net.
 
2
Report on the experimental language X10. URL x10.sf.net.
3
 
4
5
6
7
8
9
10
 
11
N. Nystrom, M. Clarkson, and A. Myers. Polyglot: An extensible compiler framework for Java. In 12th International Conference on Compiler Construction, 2003.
 
12
 
13

Collaborative Colleagues:
Satish Chandra: colleagues
Vijay Saraswat: colleagues
Vivek Sarkar: colleagues
Rastislav Bodik: colleagues