Writing multithreaded programs is a fairly complex task that poses a major obstacle to exploit multicore
processors. Transactional Memory (TM) emerges as an alternative to the conventional multithreaded programming to ease
the writing of concurrent programs. Hardware Transactional Memory (HTM) implements most of the required mechanisms
of TM at the core level, e.g. conflict detection. Signatures are designed to support the detection of conflicts amongst
concurrent transactions, and are usually implemented as per-thread Bloom filters in HTM. Basically, signatures use fixed
hardware to summarize an unbounded amount of read and write memory addresses at the cost of false conflicts (detection
of non-existing conflicts).
In this paper, a novel signature design that exploit locality is proposed to reduce the number of false conflicts. We show
how that reduction translates into a performance improvement in the execution of concurrent transactions. Our signatures
are based on address mappings of the hash functions that reduce the number of bits inserted 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 do not require extra hardware. Our proposal was experimentally evaluated using
the Wisconsin GEMS simulator and all codes from the STAMP benchmark suite. Results show a significant performance improvement in many cases, specially for those codes with long-running, large-data transactions.