Maintaining Consistent Transactional States without a Global Clock

  • Authors:
  • Hillel Avni;Nir Shavit

  • Affiliations:
  • Tel-Aviv University, Tel-Aviv, Israel 69978 and Freescale Semiconductor Israel Ltd., Herzliya, Israel 46725;Tel-Aviv University, Tel-Aviv, Israel 69978 and Sun Microsystems Laboratories, Burlington MA 01803-0903

  • Venue:
  • SIROCCO '08 Proceedings of the 15th international colloquium on Structural Information and Communication Complexity
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

A crucial property required from software transactional memory systems (STMs) is that transactions, even ones that will eventually abort, will operate on consistent states. The only known technique for providing this property is through the introduction of a globally shared version clock whose values are used to tag memory locations. Unfortunately, the need for a shared clock moves STM designs from being completely decentralized back to using centralized global information.This paper presents TLC, the first thread-local clock mechanism for allowing transactions to operate on consistent states. TLC is the proof that one can devise coherent-state STM systems without a global clock.A set of early benchmarks presented here within the context of the TL2 STM algorithm, shows that TLC's thread-local clocks perform as well as a global clock on small scale machines. Of course, the big promise of the TLC approach is in providing a decentralized solution for future large scale machines, ones with hundreds of cores. On such machines, a globally coherent clock based solution is most likely infeasible, and TLC promises a way for transactions to operate consistently in a distributed fashion.