• DocumentCode
    3456947
  • Title

    Improving Signatures by Locality Exploitation for Transactional Memory

  • Author

    Quislant, Ricardo ; Gutierrez, Eladio ; Plata, Oscar ; Zapata, Emilio L.

  • Author_Institution
    Dept. of Comput. Archit., Univ. of Malaga, Malaga, Spain
  • fYear
    2009
  • fDate
    12-16 Sept. 2009
  • Firstpage
    303
  • Lastpage
    312
  • Abstract
    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.
  • Keywords
    multi-threading; multiprocessing programs; storage management; Wisconsin GEMS simulator; address mappings; concurrent program; concurrent transaction; hardware transactional memory; hash function; large-data transaction; locality exploitation; multicore processor; multithreaded programming; per-thread Bloom filters; performance improvement; read memory address; signature design; spatial locality; write memory address; Costs; Filters; Hardware; Multicore processing; Parallel programming; Programming profession; Proposals; Read-write memory; Writing; Yarn; Bloom filters; H3 Hashing; Hardware Transactional Memory; Memory locality; Signatures;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques, 2009. PACT '09. 18th International Conference on
  • Conference_Location
    Raleigh, NC
  • ISSN
    1089-795X
  • Print_ISBN
    978-0-7695-3771-9
  • Type

    conf

  • DOI
    10.1109/PACT.2009.25
  • Filename
    5260524