Extending Contention Managers for User-Defined Priority-Based Transactions

Justin Gottschlich , Daniel A. Connors.
Proceedings of the 2008 Workshop on Exploiting Parallelism with Transactional Memory and other Hardware Assisted Methods April, 2008.
Transactional memory (TM) contention management (CM) is the process of handling memory conflicts in transactions. Contention managers were first proposed as a way of separating transactional progress from correctness and to prevent transactional starvation. While significant work in the area of contention management has been done, most prior work has focused on preventing starvation through various fairness policies. Real-time systems, or systems that have strict requirements for task behavior, usually guarantee such behavior through priority scheduling. As such, these systems require more than the current CM goal of starvation prevention, they require partial task ordering guarantees specified by the user. This work considers the concrete implementation and impli- cations of TM contention manager extension for user-defined priority-based transactions as specifically identified as consequen- tial by prior contention management research. Our primary focus is centered on the correlation between priority scheduling and consis- tency checking. We demonstrate how transactional schedulers built into contention managers handle user-defined priority-based trans- actions and the limitations of the scheduler due to the consistency checking model.

[ PDF ]