A lazy snapshot algorithm with eager validation

  • Authors:
  • Torvald Riegel;Pascal Felber;Christof Fetzer

  • Affiliations:
  • Dresden University of Technology, Dresden, Germany;University of Neuchâtel, Neuchâtel, Switzerland;Dresden University of Technology, Dresden, Germany

  • Venue:
  • DISC'06 Proceedings of the 20th international conference on Distributed Computing
  • Year:
  • 2006

Quantified Score

Hi-index 0.02

Visualization

Abstract

Most high-performance software transactional memories (STM) use optimistic invisible reads. Consequently, a transaction might have an inconsistent view of the objects it accesses unless the consistency of the view is validated whenever the view changes. Although all STMs usually detect inconsistencies at commit time, a transaction might never reach this point because an inconsistent view can provoke arbitrary behavior in the application (e.g., enter an infinite loop). In this paper, we formally introduce a lazy snapshot algorithm that verifies at each object access that the view observed by a transaction is consistent. Validating previously accessed objects is not necessary for that, however, it can be used on-demand to prolong the view's validity. We demonstrate both formally and by measurements that the performance of our approach is quite competitive by comparing other STMs with an STM that uses our algorithm.