Dynamically Filtering Thread-Local Variables in Lazy-Lazy Hardware Transactional Memory

  • Authors:
  • Sutirtha Sanyal;Sourav Roy;Adrian Cristal;Osman S. Unsal;Mateo Valero

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • HPCC '09 Proceedings of the 2009 11th IEEE International Conference on High Performance Computing and Communications
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Transactional Memory (TM) is an emerging technology which promises to make parallel programming easier. However, to be efficient, underlying TM system should protect only true shared data and leave thread-local data out of the transaction. This speed-up the commit phase of the transaction which is a bottleneck for a lazily versioned HTM. This paper proposes a scheme in the context of a lazy-lazy(lazy conflict detection and lazy data versioning) Hardware Transactional Memory (HTM) system to identify dynamically variables which are local to a thread and exclude them from the commitset of the transaction. Our proposal covers sharing of both stack and heap but also filters out local accesses to both of them. We also propose, in the same scheme, to identify local variables for which versioning need not be maintained.For evaluation, we have implemented a lazy-lazy model of HTM in line with the conventional and the scalable version of the TCC in a full system simulator. For operating system, we have modified the Linux kernel. We got an average speed-up of 31% for the conventional TCC, on applications from the STAMP benchmark suite. For the scalable TCC we got an average speedup of 16%. Also, we found that on average 99% of the local variables can be safely omitted when recording their old values to handle aborts.