【24h】

Unbounded transactional memory

机译:无限的交易记忆

获取原文

摘要

Hardware transactional memory should support unbounded transactions: transactions of arbitrary size and duration. We describe a hardware implementation of unbounded transactional memory, called UTM, which exploits the common case for performance without sacrificing correctness on transactions whose footprint can be nearly as large as virtual memory. We performed a cycle-accurate simulation of a simplified architecture, called LTM. LTM is based on UTM but is easier to implement, because it does not change the memory subsystem outside of the processor. LTM allows nearly unbounded transactions, whose footprint is limited only by physical memory size and whose duration by the length of a timeslice. We assess UTM and LTM through microbenchmarking and by automatically converting the SPECjvm98 Java benchmarks and the Linux 2.4.19 kernel to use transactions instead of locks. We use both cycle-accurate simulation and instrumentation to understand benchmark behavior. Our studies show that the common case is small transactions that commit, even when contention is high, but that some applications contain very large transactions. For example, although 99.9% of transactions in the Linux study touch 54 cache lines or fewer, some transactions touch over 8000 cache lines. Our studies also indicate that hardware support is required, because some applications spend over half their time in critical regions. Finally, they suggest that hardware support for transactions can make Java programs run faster than when run using locks and can increase the concurrency of the Linux kernel by as much as a factor of 4 with no additional programming work.
机译:硬件交易记忆应支持无限的交易:任意大小和持续时间的事务。我们描述了一个包含UTM的无绑定事务内存的硬件实现,它利用常见情况进行性能而不牺牲交易的正确性,其占地面积几乎与虚拟内存一样大。我们执行了一个称为LTM的简化架构的循环准确模拟。 LTM基于UTM,但更容易实现,因为它不会改变处理器外部的内存子系统。 LTM允许几乎无界面的事务,其占地面积仅受到物理内存大小而受到限制,并且其持续时间是Timslice的长度。我们通过微磁发布来评估UTM和LTM,并通过自动转换SpecJVM98 Java基准测试和Linux 2.4.19内核来使用事务而不是锁。我们使用循环准确的仿真和仪器来了解基准行为。我们的研究表明,即使争用高,常见的情况也是提交的小型事务,但一些应用程序也包含非常大的交易。例如,虽然Linux研究中的99.9%的事务触摸54缓存行或更少,但一些事务触及超过8000个缓存行。我们的研究还表明需要硬件支持,因为某些应用程序在关键区域中花费超过其时间。最后,他们建议对事务的硬件支持可以使Java程序更快地运行,而不是使用锁定运行时的运行,并且可以将Linux内核的并发增加多达4个系数,而无需额外的编程工作。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号