CSR--PDOS: Fulfilling the Promise of Transactions in Multithreaded Systems
University Of Rochester, Rochester NY
Investigators
Abstract
All major microprocessor vendors are now committed to multi-threaded and multi-core processors, which make thread-level parallelism visible to the application programmer. A growing consensus holds that traditional lock-based programming techniques are inadequate to program these machines, and that transactions are the most promising alternative. The central goal of the project is to chart a viable transition path to future transactional systems. This goal encompasses work on (1) semantic extensions, including exceptions, conditions, nesting, irreversible operations, and interoperability; (2) characterization and minimization of the costs of software transactions; (3) development of hardware assists; and (4) fast ad-hoc nonblocking data structures that interoperate with transactions. Work on these fronts spans the compiler, run-time system, OS kernel, and high-level hardware architecture, with an emphasis on the run-time level. Expected impacts and outcomes include a high-performance, open-source, library-level implementation of transactional memory; high-performance nonblocking data structures for standard language libraries (examples have already been adopted for the standard release of Java); a deeper understanding of transactional semantics, and of the relationships among transactions, locks, and nonblocking data structures; new hardware implementation techniques; and appropriate compiler support. More broadly, a comprehensive roadmap for transactional memory holds the promise of extending Moore's Law and the IT revolution through the coming decade, with wide-ranging benefits for science, commerce, government, and quality of life.
View original record on NSF Award Search →