Improving Signatures by Locality Exploitation for Transactional Memory

Ricardo Quislant, Eladio Gutierrez and Oscar Plata

Writing multithreaded programs is a fairly complex task, and that posesa major obstacle to exploiting multicore processors. TransactionalMemory (TM) emerges as an alternative to the conventional multithreadedprogramming that eases the writing of such concurrent programs.Hardware Transactional Memory (HTM) implements most of the required mechanismsof TM at the core level. Signatures in HTM are designed tosupport the detection of conflicts amongst concurrent transactions, andare usually implemented as per-thread hardware Bloom filters. Basically,signatures use fixed hardware to summarize an unbounded amount ofread/write memory addresses, but at the price of false conflicts(detection of non-existing conflicts). In this paper, we propose a novel signature design that exploit memory reference locality to reduce the number of false conflicts, and showhow these saving translates into a performance improvement in theexecution of concurrent transactions. Our signatures are based on new addressmappings of the hash functions in order to reduce the number of bitsinserted in the filter for those addresses nearby located.This is specially favorable for large transactions, that usually exhibit some amount of spatial locality.Furthermore, the implementation of these signatures do not require extrahardware.Our proposal was experimentally evaluated using theWisconsin GEMS simulator and all codes from the STAMP benchmark suite.Results show that in many cases we obtain a significant performance improvement,specially for those codes with long-running, large-data transactions.

Back to Program