Unified Locality-Sensitive Signatures for Transactional Memory - Quislant-del-Barrio, Ricardo; Gutiérrez-Carrasco, Eladio Damián; Plata-González, Óscar Guillermo; López-Zapata, Emilio (Springer, 2011)
Transactional memory systems coordinate the execution of concurrent transactions by committing non-conflicting ones. Transaction conflicts are detected by recording on-the-fly the memory locations issued by the threads. Some implementations use two per-thread Bloom filters (signatures), one for reads and another for writes, for that purpose. Signatures summarize sets of memory addresses accessed inside a transaction in bounded hardware. However, fixed-sized hardware introduces the address aliasing problem that results in false positives during the conflict checking process. It is known that the false positive rate increases with the size of the transactions, which has a strong negative impact in the performance of their concurrent execution. In a previous work, authors developed a technique with the aim of reducing the probability of false positives by exploiting spatial locality. In this paper we propose a new technique based on joining the two Bloom filters into a single one and partially sharing the hash function mappings for reads and writes. This unification technique is combined with the locality-sensitive one and it is proved that the false positive rate is further reduced. This paper proves that unified locality-sensitive signatures improve the execution performance of large concurrent transactions in most tested codes compared to separate signatures, without increasing significantly the required hardware area and with a small increment of power consumption.
https://www.springernature.com/gp/open-science/policies/book-policies
Keywords: Ordenadores - Memorias; Ingeniería de ordenadores; Hardware transactional memory; memory locality; signatures; Bloom filters