Scalability White Papers

Language Support for Lightweight Transactions

Overview Concurrent programming is notoriously difficult. Current abstractions are intricate and make it hard to design computer systems that are reliable and scalable. This paper argues that these problems can be addressed by moving to a declarative style of concurrency control in which programmers directly indicate the safety properties that they require. In the scheme the programmer demarks sections of code which execute within lightweight software-based transactions that commit atomically and exactly once. These transactions can update shared data, instantiate object invoke library features and so on. They can also block, waiting for arbitrary boolean conditions to become true. Transactions which do not access the same shared memory locations can commit concurrently. Furthermore, in general, no performance penalty is incurred for memory accesses outside transactions.

Further White Paper Details
PublisherAssociation for Computing Machinery File FormatPDF
Date PublishedOctober 2003
FormatWhite Papers   
Topics

Quick Sitemap Links: