Date: 03 July 2008 Time: 14:00-15:00
Location: "Mediterranean Studies" Seminar Room, FORTH, Heraklion, Crete
Host: A. Bilas
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 talk, 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. This is joint work with Armand Navabi and Xiangyu Zhang.
Suresh Jagannathan is a Professor of Computer Science and a University Faculty Scholar at Purdue University. Prior to joining Purdue, he was a Senior Research Scientist at the NEC Research Institute. His interests are in programming language design and implementation, concurrent and distributed systems, and software engineering.
He is especially interested in new high-level language mechanisms and their associated implementation for safely exploiting concurrency on scalable parallel platforms. He received his BS from SUNY Stony Brook, and his MS and PhD from MIT.