Parallel programming is becoming more important as computer architectures offer more cores to harness. Reasoning about explicitly concurrent threads can be challenging, and concurrency bugs are costly to find and fix.
We present Out-of-Order Java: a parallel programming model that starts with a single-threaded expression of a program and can produce a parallel implementation that is guaranteed to have the same observable behavior. Such a parallel programming model prevents concurrency bugs and guarantees executions are repeatable.
A host of static and dynamic program analyses enable Out-of-Order Java to produce parallel implementations automatically. We present these analyses, most notably disjoint reachability analysis. Disjoint reachability analysis is a static heap analysis that extracts reachability properties between heap objects. We demonstrate how Out-of-Order Java can use disjoint reachability analysis results to obtain a parallel implementation for object-oriented code that previous systems have difficulty analyzing.
We have implemented Out-of-Order Java and evaluated it on several benchmarks. Our experimental results show Out-of-Order Java can extract much of the expected parallelism in our benchmark programs. Disjoint reachability analysis is a key component of Out-of-Order Java; we have also experimentally evaluated the impact of several analysis modes for disjoint reachability analysis.
We conclude Out-of-Order Java demonstrates the viability of parallel programming models with single-threaded semantics and minimal annotation and that guarantees deterministic execution without speculation.
|Commitee:||Chou, Pai H., Domer, Rainer|
|School:||University of California, Irvine|
|Department:||Electrical and Computer Engineering|
|School Location:||United States -- California|
|Source:||DAI-B 74/01(E), Dissertation Abstracts International|
|Subjects:||Computer Engineering, Computer science|
|Keywords:||Deterministic parallel programming, Java, Object-oriented codes, Out-of-order execution, Program analysis|
Copyright in each Dissertation and Thesis is retained by the author. All Rights Reserved
The supplemental file or files you are about to download were provided to ProQuest by the author as part of a
dissertation or thesis. The supplemental files are provided "AS IS" without warranty. ProQuest is not responsible for the
content, format or impact on the supplemental file(s) on our system. in some cases, the file type may be unknown or
may be a .exe file. We recommend caution as you open such files.
Copyright of the original materials contained in the supplemental file is retained by the author and your access to the
supplemental files is subject to the ProQuest Terms and Conditions of use.
Depending on the size of the file(s) you are downloading, the system may take some time to download them. Please be