100 likes | 103 Views
It’s the Software, Stupid. James Larus Microsoft Research April 2005. Transactional Memory. Promising abstraction for concurrent programming CMPs bring problems to the forefront Mechanism lives in software environment simple “hardware” transactions may not provide appropriate semantics.
E N D
It’s the Software, Stupid James Larus Microsoft Research April 2005
Transactional Memory • Promising abstraction for concurrent programming • CMPs bring problems to the forefront • Mechanism lives in software environment • simple “hardware” transactions may not provide appropriate semantics
Example 1: Conflicting Abstractions Code Transactional Memory
Example 1: Conflicting Abstractions Code GC TM TM
Example 2: Nested Transactions Code Libraries Components
What is abstraction boundary? Can library hide internal user of concurrency? Example 2: Nested Transactions Code Code Libraries Components Libraries
DB Example 3: IO Code TM
Summary • Not starting with a clean slate • TM must work within existing environment • changes to use TM will be large • unrealistic to change everything at once