This research focuses on how to integrate software transactions into the definition and implementation of modern programming languages. With small-scale parallel computers (also known as multicore architectures) becoming the norm, there is an urgent need for programming languages to provide programmers convenient mechanisms for exploiting parallelism. Software transactions are one such mechanism because they make it easier to synchronize computations executing in parallel. While they hold great promise, important questions of semantics and interaction with language-implementation technology have not been considered with sufficient precision. This research investigates the semantic questions via formal operational semantics, attacking questions regarding weak atomicity, open nesting, and interaction with code written in other languages. For implementation questions, a variety of static and dynamic optimizations are considered for identifying data that is not used within a software transaction or that is used by only one thread of computation at a time.

Project Start
Project End
Budget Start
2007-07-01
Budget End
2011-12-31
Support Year
Fiscal Year
2007
Total Cost
$381,000
Indirect Cost
Name
University of Washington
Department
Type
DUNS #
City
Seattle
State
WA
Country
United States
Zip Code
98195