Adoption of multi-core architectures brings a shift to parallel programming as the default model for mainstream software development. Industry and academia alike are designing and implementing languages, runtime systems, and architectures to enable and leverage this shift. One of the foremost technologies to emerge from this effort is transactional memory (TM). Transactional memory offers a new paradigm for expressing general-purpose multithreaded applications safely and efficiently. Although much research effort has focused on implementing transactions, relatively less emphasis has been placed on the problem of defining appropriate programming models for transactional memory. This is a research problem of great practical interest, but also significant difficulty, as its interconnected components span the traditional areas of language implementation (compilers), language design, and software engineering.

This research explores the issue of programming models for transactional memory. First, the investigators evaluate and refine a programming model for allowing a transaction to perform irreversible operations and to coordinate with other threads. The main concept is that of "transaction punctuation" and supports controlled relaxation of transactional guarantees and local reasoning about the effects of other threads. Second, the research examines a hybrid programming model, where a transactional implementation is fitted on a lock-like interface. This approach is suitable both for existing lock-based applications, and for new ones where the programmer has the ability to label critical sections with specific locks. The result is an adaptive combination of the performance advantages of both locks and transactions. Finally, the inestigators study "open-nesting" transactional programming models. Open-nesting is a TM model offering high performance, but at the expense of significant programmer effort. The research evolves and generalizes guidelines for correct open-nesting usage, avoiding counter-intuitive behavior.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
0811833
Program Officer
Almadena Y. Chtchelkanova
Project Start
Project End
Budget Start
2008-09-01
Budget End
2009-05-31
Support Year
Fiscal Year
2008
Total Cost
$107,933
Indirect Cost
Name
University of Oregon Eugene
Department
Type
DUNS #
City
Eugene
State
OR
Country
United States
Zip Code
97403