International Journal of Parallel Programming

, Volume 39, Issue 3, pp 375-396

First online:

Hybrid Transactional Memory with Pessimistic Concurrency Control

  • Enrique VallejoAffiliated withUniversity of Cantabria Email author 
  • , Sutirtha SanyalAffiliated withBarcelona Supercomputing Center
  • , Tim HarrisAffiliated withMicrosoft Research
  • , Fernando VallejoAffiliated withUniversity of Cantabria
  • , Ramón BeivideAffiliated withUniversity of Cantabria
  • , Osman UnsalAffiliated withBarcelona Supercomputing Center
  • , Adrián CristalAffiliated withBarcelona Supercomputing Center
  • , Mateo ValeroAffiliated withBarcelona Supercomputing CenterUniversitat Politècnica de Catalunya

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


Transactional Memory (TM) intends to simplify the design and implementation of the shared-memory data structures used in parallel software. Many Software TM systems are based on writer-locks to protect the data being modified. Such implementations can suffer from the “privatization” problem, in which transactional and non-transactional accesses to the same location can lead to inconsistent results. One solution is the use of Pessimistic Concurrency Control, but it entails an important performance penalty due to the need of reader-writer locking. In this paper a hybrid TM design is proposed to reduce the performance overheads caused by the use of these locks while combining three desirable features: (i) full TM functionality whether or not the architectural support is present; (ii) execution of a single common code path in software or hardware; and, (iii) immunity from the privatization problem. The analysis shows how a Hybrid TM can lose important properties, such as starvation freedom. To overcome this issue, Directory Reservations is presented, a low-cost mechanism improving existent solutions designed for Hardware TM.


Hybrid transactional memory Pessimistic concurrency control Writer starvation Directory reservation