首页> 外文期刊>Theory of computing systems >Software Engineering with Transactional Memory Versus Locks in Practice
【24h】

Software Engineering with Transactional Memory Versus Locks in Practice

机译:实践中具有事务性内存与锁的软件工程

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

摘要

Transactional Memory (TM) 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 article, 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 article provides valuable lessons for improving TM.
机译:事务性内存(TM)承诺通过用原子事务替换锁来简化并行编程。尽管TM研究最近取得了很大进展,但是使用TM从头开发现实的并行程序的经验很少。在本文中,我们提供了一个详细的案例研究结果,该案例研究比较了使用事务性内存和锁从头开发并行程序的程序员团队。我们在六个真实的环境中分析和量化开发时间,编程进度,代码指标,编程模式以及对代码理解的简易性,这六个团队各自在一个十五周的时间内编写了一个并行的桌面搜索引擎。三个随机选择的团队使用了英特尔的软件事务内存编译器和Pthread,而其他团队仅使用了Pthread。我们的分析是探索性的:给定相同的要求,每个团队能走多远? TM团队是最早拥有并行搜索引擎原型的团队。与锁定团队相比,TM团队花费不到一半的时间调试分段错误,但在调整性能和实现查询方面存在更多问题。与行业专家进行的代码检查显示,TM代码比锁代码更易于理解,因为锁团队使用了许多锁(多达数千个)来提高性能。从每个团队各自的成功和失败故事中学习,本文为改进TM提供了宝贵的经验教训。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号