acm-header
登录

ACM通信

研究突出了

技术视角:并行程序确定性重放的软硬件支持


长期以来,并行编程一直被认为是一个难题。这个问题最近有了紧迫感:单线程性能提升的长征已经停止了。由于对功耗的限制和对额外处理器复杂性的投资回报率的降低,摩尔定律提供的额外晶体管现在正被引入每个模具的核数呈几何级数增长。通过运行多个并行任务,这些核心可以很容易地应用于服务器环境中令人尴尬的并行问题和分布式计算。然而,在许多应用程序中,从前的单线程应用程序的性能提高是非常需要的,从个人计算设备到功能超级计算机。

并行编程中的一个关键问题是在访问同步和数据变量时存在内存竞争的情况下发现并发错误和调试程序执行的能力。由于不确定性的系统效应,包含竞赛或bug的并行程序的后续执行不太可能具有相同的执行顺序。这可能会导致在应用程序部署很久之后出现罕见的问题。以较慢的调试模式重新运行程序也会改变相对时间,并且很容易掩盖问题。理想情况下,我们想要的是一种确定地重放并行程序执行的方法,通过记录内存竞赛的结果而不显著减慢原始程序的执行。此外,人们希望记录执行的需求是可管理的,并且应用程序的重播以与原始执行类似的速度发生。

五年前,威斯康辛大学的飞行数据记录仪在这个方向上迈出了重要一步。1这个原始的系统需要很好的硬件状态。然而,对于主流的采用,额外的硬件应该非常小,因为微处理器设计的所有用户都将为硬件支持付费,无论他们是否使用它。经过前几年的几次改进,今年出现了两个系统,它们在减少支持确定性重播所需的开销方面取得了巨大飞跃:这两个系统都只记录指令的原子块的执行,而不是记录单个内存引用。

同样来自威斯康辛大学的Rerun通过记录原子事件来减少开销。集是来自单个线程的一系列指令,它们碰巧在执行时不与系统中的任何其他线程发生冲突。剧集由录音系统自动创建,无需修改应用程序。Rerun使用Lamport Scalar clock来对片段进行排序,并启用对等执行的重播。在8核系统中,重新运行将每个核的硬件状态降低到每个核166字节,日志大小仅为每个核1.67字节/千指令。这导致多核系统的核心*日志开销产品比之前的工作小了一个数量级。


下面这篇论文是通信研究重点部分的第一篇:它包含了来自两个相互竞争(但属于学院的)研究团队的最新工作的综合。


DeLorean是在伊利诺伊大学(University of Illinois)同时开发的,它执行由检查点原子分隔的大块指令,就像在事务内存或线程级推测中一样。执行较大的指令块在日志大小和重放速度两方面都有好处。例如,对于一个8核处理器,DeLorean能够实现每核0.0063字节/千指令的日志大小,同时仍然能够以原始执行速度的72%重放。从这个角度来看,以这种日志大小,8核处理器一整天的执行只需要20GB,这是1TB磁盘驱动器的一小部分。

以下的论文是第一次通信的研究亮点部分:它包含了来自两个竞争性(但学院)研究团队的近期工作的综合。由于Rerun和DeLorean团队的方法出现在同一次会议上,因此他们都被邀请为本文贡献了自己的力量,这两个团队都代表了重大的进步,而且他们的方法实际上是互补的。Rerun需要很少的额外硬件,而DeLorean可以实现更小的日志大小,但需要检查点和恢复硬件,类似于事务性内存系统中提供的硬件。这两种研究流都有可能对未来并行编程的生产率产生重大影响。

回到顶部

参考文献

1.Xu, M, Bodik, R,和Hill, M.D.“飞行数据记录器”,用于实现全系统多处理器确定性重放。ACM/IEEE计算机体系结构国际研讨会, 2003年6月。

回到顶部

作者

诺曼·p·JouppiNorm.Jouppi@hp.com)是位于加利福尼亚州帕洛阿尔托的惠普(Hewlett-Packard)百亿亿次级计算实验室的研究员和主任。

回到顶部

脚注

DOI: http://doi.acm.org/10.1145/1516046.1516067


©2009 acm 0001-0782/09/0600 $10.00

允许为个人或课堂使用本作品的全部或部分制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,需要事先获得特定的许可和/或付费。

数字图书馆是由计算机协会出版的。版权所有©2009 ACM, Inc.


没有发现记录

登录为完全访问
»忘记密码? »创建ACM Web帐号
文章内容:
Baidu
map