• DocumentCode
    3634561
  • Title

    EazyHTM: EAger-LaZY hardware Transactional Memory

  • Author

    Saša Tomić;Cristian Perfumo;Chinmay Kulkarni;Adrià Armejach;Adrián Cristal;Osman Unsal;Tim Harris;Mateo Valero

  • Author_Institution
    BSC-Microsoft Research Centre, USA
  • fYear
    2009
  • Firstpage
    145
  • Lastpage
    155
  • Abstract
    Transactional memory aims to provide a programming model that makes parallel programming easier. Hardware implementations of transactional memory (HTM) suffer from fewer overheads than implementations in software, and refinements in conflict management strategies for HTM allow for even larger improvements. In particular, lazy conflict management has been shown to deliver better performance, but it has hitherto required complex protocols and implementations. In this paper we show a new scalable HTM architecture that performs comparably to the state-of-the-art and can be implemented by minor modifications to the MESI protocol rather than re-engineering it from the ground up. Our approach detects conflicts eagerly while a transaction is running, but defers the resolution lazily until commit time. We evaluate this EAger-laZY system, EazyHTM, by comparing it with the scalable-TCC-like approach and a system employing ideal lazy conflict management with a zero-cycle transaction validation and fully-parallel commits. We show that EazyHTM performs on average 7% faster than scalable-TCC. In addition, EazyHTM has fast commits and aborts, can commit in parallel even if there is only one directory present, and does not suffer from cascading waits.
  • Keywords
    "Hardware","Parallel programming","Protocols","Permission","Memory management","Computer architecture","Scalability","Parallel architectures","File servers","System recovery"
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2009. MICRO-42. 42nd Annual IEEE/ACM International Symposium on
  • ISSN
    1072-4451
  • Print_ISBN
    978-1-60558-798-1
  • Electronic_ISBN
    2379-3155
  • Type

    conf

  • Filename
    5375348