Hybrid transactional memory

Hybrid transactional memory
复制标题

DOI:
10.1145/1168918.1168900
复制
发表时间:
2006-11-01
影响因子:
--
通讯作者:
Nussbaum, Daniel
Nussbaum, Daniel
中科院分区:
其他
文献类型:
--
作者:
Damron, Peter;Fedorova, Alexandra;Nussbaum, Daniel

文献摘要

被引文献

相似文献

transmandemory(TM)承诺大大降低编写正确、高效和可扩展的并发程序的难度。但是“有界”和“尽力而为”的硬件TM建议对程序员施加了不合理的限制,而更灵活的软件TM实现被认为太慢。在硬件中支持“无界”事务的建议需要显着更高的复杂性和风险比best-effort designs.We介绍混合transmittance内存(HyTM),一种方法来实现TM在软件中,使其可以使用最大努力的硬件TM(HTM),以提高性能,但不依赖于HTM。因此,程序员可以开发和测试事务程序在现有的系统今天,并可以享受HTM支持的性能优势时,它变得available.We描述了我们的原型HyTM系统,包括一个编译器和一个库。编译器允许使用尽力HTM尝试事务,如果失败则使用软件库重试。我们已经使用我们的原型来“transactify”Berkeley DB系统的一部分,以及几个基准测试。通过禁用HTM的可选使用,我们可以在现有系统上运行所有这些测试。此外,通过使用一个模拟的多处理器与HTM的支持,我们证明了HyTM方法的可行性:它可以提供性能和可扩展性接近一个无限的HTM实现,而不需要支持所有的事务与复杂的HTM支持。
Transactional memory (TM) promises to substantially reduce the difficulty of writing correct, efficient, and scalable concurrent programs. But "bounded" and "best-effort" hardware TM proposals impose unreasonable constraints on programmers, while more flexible software TM implementations are considered too slow. Proposals for supporting "unbounded" transactions in hardware entail significantly higher complexity and risk than best-effort designs.We introduce Hybrid Transactional Memory (HyTM), an approach to implementing TM in software so that it can use best-effort hardware TM (HTM) to boost performance but does not depend on HTM. Thus programmers can develop and test transactional programs in existing systems today, and can enjoy the performance benefits of HTM support when it becomes available.We describe our prototype HyTM system, comprising a compiler and a library. The compiler allows a transaction to be attempted using best-effort HTM, and retried using the software library if it fails. We have used our prototype to "transactify" part of the Berkeley DB system, as well as several benchmarks. By disabling the optional use of HTM, we can run all of these tests on existing systems. Furthermore, by using a simulated multiprocessor with HTM support, we demonstrate the viability of the HyTM approach: it can provide performance and scalability approaching that of an unbounded HTM implementation, without the need to support all transactions with complicated HTM support.