Polymorphic contention management

Polymorphic contention management
复制标题

DOI:
10.1007/11561927_23
复制
发表时间:
2005-01-01
期刊:
DISTRIBUTED COMPUTING, PROCEEDINGS
影响因子:
--
通讯作者:
Pochon, B
Pochon, B
中科院分区:
其他
文献类型:
--
作者:
Guerraoui, R;Herlihy, M;Pochon, B

文献摘要

被引文献

相似文献

在软件事务内存(STM)系统中,争用管理器解决访问相同内存位置的事务之间的冲突。尽管事务的原子性和可串行性始终得到保证,但争用管理器对于保证系统整体取得进展至关重要。最近的文献中已经提出并评估了许多不同的争用管理策略。对这些策略的实证评估得出了惊人的结果,似乎不存在在所有合理情况下都能发挥最佳作用的“通用”争用管理器,相反,事务吞吐量可能会根据事务长度、数据访问模式、争用阶段与非争用阶段的长度等因素而发生巨大变化。本文提出了多态争用管理,这种结构允许争用管理器不仅可以在工作负载之间变化,而且可以在单个工作负载中的并发事务之间变化,甚至可以在单个事务的不同阶段之间变化。混合争用管理器或即时更改它们的能力提供了性能优势,但也提出了许多问题,涉及给定类的争用管理器如何以有用的方式与不同的、可能未知的类的争用管理器交互。我们根据与每个争用管理器相关的成本,通过对层次结构中的争用管理器进行分类来解决这些问题,并提出一种通用算法来处理不同类别的争用管理器之间的冲突。我们描述了我们的多态争用管理结构如何与 SXM 库中的嵌套事务顺利集成。
In software transactional memory (STM) systems, a contention manager resolves conflicts among transactions accessing the same memory locations. Whereas atomicity and serializability of the transactions are guaranteed at all times, the contention manager is of crucial importance for guaranteeing that the system as a whole makes progress.A number of different contention management policies have been proposed and evaluated in the recent literature. An empirical evaluation of these policies leads to the striking result that there seems to be no "universal" contention manager that works best under all reasonable circumstances, Instead, transaction throughput can vary dramatically depending on factors such as transaction length, data access patterns, the length of contended vs. uncontended phases, and so on.This paper proposes polymorphic contention management, a structure that allows contention managers to vary not just across workloads, but across concurrent transactions in a single workload, and even across different phases of a single transaction. The ability to mix contention managers or to change them on-the-fly provides performance benefits, but also poses number of questions concerning how a contention manager of a given class can interact in a useful way with contention managers of different, possibly unknown classes. We address these questions by classifying contention managers in a hierarchy, based on the cost associated with each contention manager, and present a general algorithm to handle conflict between contention managers from different classes. We describe how our polymorphic contention management structure is smoothly integrated with nested transactions in the SXM library.