A simple deterministic algorithm for guaranteeing the forward progress of transactions

This paper describes a remarkably simple deterministic (not probabilistic) contention-management algorithm for guaranteeing the forward progress of transactions - avoiding deadlocks, livelocks, and other anomalies. The transactions must be finite (no infinite loops), but on each restart, a transacti...

Full description

Bibliographic Details
Main Author: Leiserson, Charles E (Contributor)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Elsevier, 2018-04-23T16:54:56Z.
Subjects:
Online Access:Get fulltext
LEADER 01449 am a22001693u 4500
001 114871
042 |a dc 
100 1 0 |a Leiserson, Charles E  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Leiserson, Charles E  |e contributor 
245 0 0 |a A simple deterministic algorithm for guaranteeing the forward progress of transactions 
260 |b Elsevier,   |c 2018-04-23T16:54:56Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/114871 
520 |a This paper describes a remarkably simple deterministic (not probabilistic) contention-management algorithm for guaranteeing the forward progress of transactions - avoiding deadlocks, livelocks, and other anomalies. The transactions must be finite (no infinite loops), but on each restart, a transaction may access different shared-memory locations. The algorithm supports irrevocable transactions as long as the transaction satisfies a simple ordering constraint. In particular, a transaction that accesses only one shared-memory location is never aborted. The algorithm is suitable for both hardware and software transactional-memory systems. It also can be used in some contexts as a locking protocol for implementing transactions "by hand.". 
655 7 |a Article 
773 |t Information Systems