TardisTM
Daming D. Chen, Phillip B. Gibbons, Todd C. Mowry · 2020
Transactional memory (TM) provides developers with a transaction primitive for concurrent code execution that transparently checks for concurrency conflicts. When such a conflict is detected, the system recovers by aborting and restarting the transaction. Although correct, this behavior wastes work and inhibits forward progress.