A lazy snapshot algorithm with eager validation

Torvald Riegel, Pascal Felber & Christof Fetzer

Résumé 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.
Citation T. Riegel, et al., "A lazy snapshot algorithm with eager validation," in 20th International Symposium on Distributed Computing, Stockholm, SWEDEN, 2006, p. 284-298.
Type Actes de congrès (Anglais)
Editeur S Dolev
Nom de la conférence 20th International Symposium on Distributed Computing (Stockholm, SWEDEN)
Date de la conférence 2006
Editeur commercial Springer-Verlag Berlin
Pages 284-298