Versioned boxes as the basis for memory transactions

  • Authors:
  • João Cachopo;António Rito-Silva

  • Affiliations:
  • INESC-ID/Technical University of Lisbon, Lisboa, Portugal;INESC-ID/Technical University of Lisbon, Lisboa, Portugal

  • Venue:
  • Science of Computer Programming - Special issue: Synchronization and concurrency in object-oriented languages
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we propose the use of Versioned Boxes, which keep a history of values, as the basis for language-level memory transactions. Unlike previous work on software transactional memory, in our proposal read-only transactions never conflict with any other concurrent transaction. This may improve significantly the concurrency on applications which have longer transactions and a high read/write ratio.Furthermore, we discuss how we can reduce transaction conflicts by delaying computations and re-executing only parts of a transaction in case of a conflict. We propose two language-level abstractions to support these strategies: the per-transaction boxes and the restartable transactions.Finally, we lay out the basis for a more generic model, which better supports fine-grained restartable transactions. The goal of this new model is to generalize the previous two abstractions to reduce conflicts.