TLRW: return of the read-write lock. TL2 and similar STM algorithms deliver high scalability based on write-locking and invisible readers. In fact, no modern STM design locks to read along its common execution path because doing so would require a memory synchronization operation that would greatly hamper performance. In this paper we introduce TLRW, a new STM algorithm intended for the single-chip multicore systems that are quickly taking over a large fraction of the computing landscape. We make the claim that the cost of coherence in such single chip systems is down to a level that allows one to design a scalable STM based on read-write locks. TLRW is based on byte-locks, a novel read-write lock design with a low read-lock acquisition overhead and the ability to take advantage of the locality of reference within transactions. As we show, TLRW has a painfully simple design, one that naturally provides coherent state without validation, implicit privatization, and irrevocable transactions. Providing similar properties in STMs based on invisible-readers (such as TL2) has typically resulted in a major loss of performance. In a series of benchmarks we show that when running on a 64-way single-chip multicore machine, TLRW delivers surprisingly good performance (competitive with and sometimes outperforming TL2). However, on a 128-way 2-chip system that has higher coherence costs across the interconnect, performance deteriorates rapidly. We believe our work raises the question of whether on single-chip multicore machines, read-write lock-based STMs are the way to go.
Keywords for this software
References in zbMATH (referenced in 5 articles )
Showing results 1 to 5 of 5.
- Rodriguez, Matthew; Spear, Michael: Brief announcement: On implementing software transactional memory in the C++ memory model (2020)
- Gramoli, Vincent; Guerraoui, Rachid; Trigonakis, Vasileios: (\mathrmTM^2\mathrmC): a software transactional memory for many-cores (2018)
- Cingolani, Davide; Ianni, Mauro; Pellegrini, Alessandro; Quaglia, Francesco: Mixing hardware and software reversibility for speculative parallel discrete event simulation (2016) ioport
- Attiya, Hagit; Hillel, Eshcar: A single-version STM that is multi-versioned permissive (2012)
- Perelman, Dmitri; Byshevsky, Anton; Litmanovich, Oleg; Keidar, Idit: SMV: selective multi-versioning STM (2011)