Efficient Support for In-Place Metadata in Transactional Memory

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

2 Citations (Scopus)


Implementations of Software Transactional Memory (STM) algorithms associate metadata with the memory locations accessed during a transaction’s lifetime. This metadata may be stored either in-place, by wrapping every memory cell in a container that includes the memory cell itself and the corresponding metadata; or out-place (also called external), by resorting to a mapping function that associates the memory cell address with an external table entry containing the corresponding metadata. The implementation techniques for these two approaches are very different and each STM framework is usually biased towards one of them, only allowing the efficient implementation of STM algorithms following that approach, hence inhibiting the fair comparison with STM algorithms falling into the other. In this paper we introduce a technique to implement in-place metadata that does not wrap memory cells, thus overcoming the bias by allowing STM algorithms to directly access the transactional metadata. The proposed technique is available as an extension to the DeuceSTM framework, and enables the efficient implementation of a wide range of STM algorithms and their fair (unbiased) comparison in a common STM infrastructure. We illustrate the benefits of our approach by analyzing its impact in two popular TM algorithms with two different transactional workloads, TL2 and multi-versioning, with bias to out-place and in-place respectively.
Original languageUnknown
Title of host publicationLecture Notes in Computer Science
EditorsC Kaklamanis, T Papatheodorou, P Spirakis
Place of PublicationRhodes, Greece
PublisherSpringer Berlin Heidelberg
ISBN (Print)978-3-642-32819-0
Publication statusPublished - 1 Jan 2012
EventEuro-Par - International European Conference on Parallel and Distributed Computing -
Duration: 1 Jan 2012 → …


ConferenceEuro-Par - International European Conference on Parallel and Distributed Computing
Period1/01/12 → …

Cite this