首页> 外文会议>Principles and practice of parallel programming >Leveraging Parallel Nesting in Transactional Memory
【24h】

Leveraging Parallel Nesting in Transactional Memory

机译:利用事务内存中的并行嵌套

获取原文

摘要

Exploiting the emerging reality of affordable multi-core architectures goes through providing programmers with simple abstractions that would enable them to easily turn their sequential programs into concurrent ones that expose as much parallelism as possible. While transactional memory promises to make concurrent programming easy to a wide programmer community, current implementations either disallow nested transactions to run in parallel or do not scale to arbitrary parallel nesting depths. This is an important obstacle to the central goal of transactional memory, as programmers can only start parallel threads in restricted parts of their code.This paper addresses the intrinsic difficulty behind the support for parallel nesting in transactional memory, and proposes a novel solution that, to the best of our knowledge, is the first practical solution to meet the lowest theoretical upper bound known for the problem.Using a synthetic workload configured to test parallel transactions on a multi-core machine, a practical implementation of our algorithm yields substantial speed-ups (up to 22x with 33 threads) relatively to serial nesting, and shows that the time to start and commit transactions, as well as to detect conflicts, is independent of nesting depth.
机译:利用可负担的多核体系结构的新兴现实,是为程序员提供了简单的抽象,使他们能够轻松地将其顺序程序转换为并发程序,以显示尽可能多的并行性。尽管事务性内存有望使广大程序员社区轻松进行并发编程,但当前的实现方式要么不允许嵌套事务并行运行,要么无法扩展到任意并行嵌套深度。这是阻碍事务存储中心目标的重要障碍,因为程序员只能在其代码的受限部分中启动并行线程。 本文解决了在事务内存中支持并行嵌套背后的内在困难,并提出了一种新颖的解决方案,据我们所知,这是满足该问题的最低理论上限的第一个实际解决方案。 使用配置为在多核计算机上测试并行事务的综合工作负载,相对于串行嵌套,我们算法的实际实现可显着提高速度(使用33个线程时可达22倍),并显示了启动和提交事务的时间以及检测冲突与嵌套深度无关。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号