首页> 外文期刊>Computer architecture news >Supporting Nested Transactional Memory in LogTM
【24h】

Supporting Nested Transactional Memory in LogTM

机译:在LogTM中支持嵌套事务存储

获取原文
获取原文并翻译 | 示例

摘要

Nested transactional memory (TM) facilitates software composition by letting one module invoke another without either knowing whether the other uses transactions. Closed nested transactions extend isolation of an inner transaction until the top-level transaction commits. Implementations may flatten nested transactions into the top-level one, resulting in a complete abort on conflict, or allow partial abort of inner transactions. Open nested transactions allow a committing inner transaction to immediately release isolation, which increases parallelism and expressiveness at the cost of both software and hardware complexity. This paper extends the recently-proposed flat Log-based Transactional Memory (LogTM) with nested transactions. Flat LogTM saves pre-transaction values in a log, detects conflicts with read (R) and write (W) bits per cache block, and, on abort, invokes a software handler to unroll the log. Nested LogTM supports nesting by segmenting the log into a stack of activation records and modestly replicating R/W bits. To facilitate composition with non-transactional code, such as language runtime and operating system services, we propose escape actions that allow trusted code to run outside the confines of the transactional memory system.
机译:嵌套事务存储(TM)通过让一个模块调用另一个模块而又不知道另一个模块是否使用事务来促进软件的编写。封闭的嵌套事务扩展了内部事务的隔离,直到顶级事务提交为止。实现可能会将嵌套事务展平到顶级事务中,从而在冲突时完全中止,或者允许部分中止内部事务。开放式嵌套事务允许提交中的内部事务立即释放隔离,从而以提高软件和硬件复杂性为代价提高了并行性和可表达性。本文扩展了最近提出的带有嵌套事务的平面基于日志的事务存储(LogTM)。 Flat LogTM将事务前的值保存在日志中,检测每个缓存块与读(R)和写(W)位的冲突,并在中止时调用软件处理程序以展开日志。 Nested LogTM通过将日志分段成一堆激活记录并适度复制R / W位来支持嵌套。为了促进与非事务处理代码(例如语言运行时和操作系统服务)的组合,我们提出了转义操作,这些操作可让受信任的代码在事务存储系统的范围之外运行。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号