作者: K.E. Moore , J. Bobba , M.J. Moravan , M.D. Hill , D.A. Wood
DOI: 10.1109/HPCA.2006.1598134
关键词:
摘要: Transactional memory (TM) simplifies parallel programming by guaranteeing that transactions appear to execute atomically and in isolation. Implementing these properties includes providing data version management for the simultaneous storage of both new (visible if transaction commits) old (retained aborts) values. Most (hardware) TM systems leave values "in place" (the target address) buffer elsewhere until commit. This makes aborts fast, but penalizes much more frequent) commits. In this paper, we present a implementation transactional memory, log-based (LogTM), commits fast storing per-thread log cacheable virtual place. LogTM two additional contributions. First, extends MOESI directory protocol enable conflict detection on evicted blocks commit (using lazy cleanup). Second, handles (library) software with little performance penalty. Evaluations running micro- SPLASH-2 benchmarks 32-way multiprocessor support our decision optimize showing only 1-2% abort.