Implementation tradeoffs in the design of flexible transactional memory support. We present FlexTM (flexible transactional memory), a high performance TM framework that allows software to determine when (eagerly, lazily, or in a mixed fashion) and how to manage conflicts, while employing hardware to manage transactional state and to track conflicts. FlexTM coordinates four decoupled hardware mechanisms: read and write signatures, which summarize per-thread access sets; per-thread conflict summary tables (CSTs), which identify the processors with which conflicts have occurred; programmable data isolation, which buffers speculative updates in the local cache and uses an overflow table to handle unbounded updates; and alert-on-update, which notifies a thread immediately when a specified location is written by another processor. The CSTs enable an STM-inspired commit protocol that manages conflicts in a decentralized manner (no global arbitration) and allows parallel commits.
Keywords for this software
References in zbMATH (referenced in 1 article )
Showing result 1 of 1.
- Shriraman, Arrvindh; Dwarkadas, Sandhya; Scott, Michael L.: Implementation tradeoffs in the design of flexible transactional memory support (2010)