Robust Contention Management in Software Transactional Memory

Rachid Guerraoui, Maurice P. Herlihy, Michał Kapałka, Bastian Pochon · Infoscience (Ecole Polytechnique Fédérale de Lausanne) · 2005

Software transactional memory (STM) systems use lightweight, in-memory software transactions to address concurrency in multi-threaded applications, ensuring safety at all times.A contention manager is responsible for the system as a whole to make progress (liveness).In this paper, we study the impact of transaction failures on contention management in the context of STM systems.The failures we consider include page faults as well as actual process or thread crashes.We observe that, even with a small number of failures, many of the previously defined contention managers do not behave well, in the average case, and none provides worst case guarantees.We introduce FTGreedy, a new contention manager that is able to cope with faulty transactions.In short, FTGreedy (a) compares well with previous contention managers when no failures occur, (b) has good performance in the face of failures, and (c) provable worst case properties even if transactions can fail, as long as the system features some synchrony assumptions (which need only be weak and eventual).

Read the paper · More papers on PaperTik