【24h】

A Study of Transactional Memory vs. Locks in Practice

机译:交易记忆与锁的实践研究

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

摘要

Transactional Memory (I'M) promises to simplify parallel programming by replacing locks with atomic transactions. Despite much recent progress in TM research, there is very little experience using TM to develop realistic parallel programs from scratch. In this paper, we present the results of a detailed case study comparing teams of programmers developing a parallel program from scratch using transactional memory and locks. We analyze and quantify in a realistic environment the development time, programming progress, code metrics, programming patterns, and ease of code understanding for six teams who each wrote a parallel desktop search engine over a fifteen week period. Three randomly chosen teams used Intel's Software Transactional Memory compiler and Pthreads, while the other teams used just Pthreads. Our analysis is exploratory: Given the same requirements, how far did each team get? The TM teams were among the first to have a prototype parallel search engine. Compared to the locks teams, the TM teams spent less than half the time debugging segmentation faults, but had more problems tuning performance and implementing queries. Code inspections with industry experts revealed that TM code was easier to understand than locks code, because the locks teams used many locks (up to thousands) to improve performance. Learning from each team's individual success and failure story, this paper provides valuable lessons for improving TM.
机译:事务性内存(I'M)承诺通过用原子事务替换锁来简化并行编程。尽管TM研究最近取得了很大进展,但是使用TM从头开发现实的并行程序的经验很少。在本文中,我们提供了一个详细的案例研究的结果,该案例比较了使用事务性内存和锁从头开发并行程序的程序员团队。我们分析和量化了六个团队的开发时间,编程进度,代码指标,编程模式以及对代码理解的便捷性,这六个团队各自在一个十五周的时间内编写了一个并行的桌面搜索引擎。三个随机选择的团队使用了英特尔的软件事务内存编译器和Pthread,而其他团队仅使用了Pthread。我们的分析是探索性的:给定相同的要求,每个团队能走多远? TM团队是最早拥有并行搜索引擎原型的团队。与锁定团队相比,TM团队花费不到一半的时间调试分段错误,但在调整性能和实现查询方面存在更多问题。与行业专家进行的代码检查显示,TM代码比锁代码更易于理解,因为锁团队使用了许多锁(多达数千个)来提高性能。从每个团队各自的成败故事中学习,本文为改进TM提供了宝贵的经验教训。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号