Lecture
Quasi-Static Scheduling for Safe Futures
Speaker: |
Suresh Jagannathan, Dept. of Computer Science, Purdue University |
Date: |
Thursday, 3 July 2008 |
Time: |
14:00-15:00 |
Location: |
"Mediterranean Studies" Seminar Room, FORTH. Heraklion, Crete |
Host: |
A. Bilas |
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 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. |
Bio: |
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. |