ACM Home Page
Please provide us with feedback. Feedback
Quasi-static scheduling for safe futures
Full text PdfPdf (675 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 23-32  
Year of Publication: 2008
ISBN:978-1-59593-795-7
Authors
Armand Navabi  Purdue University, West Lafayette, IN, USA
Xiangyu Zhang  Purdue University, West Lafayette, IN, USA
Suresh Jagannathan  Purdue University, West Lafayette, IN, 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): n/a,   Downloads (12 Months): n/a,   Citation Count: 2
Additional Information:

abstract   references   cited by   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.1345212
What is a DOI?

ABSTRACT

Migrating sequential programs to effectively utilize next generation multicore architectures is a key challenge facing application developers and implementors. Languages like Java that support complex control- and dataflow abstractions confound classical automatic parallelization techniques. On the other hand, introducing multithreading and concurrency control explicitly into programs can impose a high conceptual burden on the programmer, and may entail a significant rewrite of the original program.

In this paper, we consider a new technique to address this issue. Our approach makes use of futures, a simple annotation that introduces asynchronous concurrency into Java programs, but provides no concurrency control. To ensure concurrent execution does not yield behavior inconsistent with sequential execution (i.e., execution yielded by erasing all futures), we present a new interprocedural summary-based dataflow analysis. The analysis inserts lightweight barriers that block and resume threads executing futures if a dependency violation may ensue. There are no constraints on how threads execute other than those imposed by these barriers.

Our experimental results indicate futures can be leveraged to transparently ensure safety and profitably exploit parallelism; in contrast to earlier efforts, our technique is completely portable, and requires no modifications to the underlying JVM.


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
Multitreemap. http://sourceforge.net/projects/multitreemap/.
2
3
 
4
 
5
John Boyland. Checking interference with fractional permissions. In SAS, pages 55--72, 2003.
6
7
8
9
 
10
11
12
 
13
Tim Harris and Satnam Singh. Feedback Directed Implicit Parallelism. In IFCP, pages 251--264, 2007.
14
15
16
 
17
18
19
 
20
O. Lhotak. Spark: A flexible points-to analysis framework for java. Master?s thesis, McGill University, 2002.
21
22
23
 
24
 
25
26
27
28
29
30
 
31


Collaborative Colleagues:
Armand Navabi: colleagues
Xiangyu Zhang: colleagues
Suresh Jagannathan: colleagues