1 / 10

It’s the Software, Stupid

This research from Microsoft in April 2005 delves into Transactional Memory as a promising abstraction for concurrent programming. It highlights how CMPs expose challenges, the software environment of this mechanism, and the limitations of simple "hardware" transactions. Examples showcase conflicting abstractions in code, nested transactions, and the impact on libraries and components. The study emphasizes the need to understand abstraction boundaries and the complexities involved in integrating Transactional Memory into existing environments.

gpoirier
Download Presentation

It’s the Software, Stupid

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. It’s the Software, Stupid James Larus Microsoft Research April 2005

  2. 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

  3. Example 1: Conflicting Abstractions Code

  4. Example 1: Conflicting Abstractions Code Transactional Memory

  5. Example 1: Conflicting Abstractions Code GC

  6. Example 1: Conflicting Abstractions Code GC TM TM

  7. Example 2: Nested Transactions Code Libraries Components

  8. What is abstraction boundary? Can library hide internal user of concurrency? Example 2: Nested Transactions Code Code Libraries Components Libraries

  9. DB Example 3: IO Code TM

  10. 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

More Related