首页> 外文期刊>ACM transactions on computer systems >DoublePlay: Parallelizing Sequential Logging and Replay
【24h】

DoublePlay: Parallelizing Sequential Logging and Replay

机译:DoublePlay:并行化顺序记录和重播

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

摘要

Deterministic replay systems record and reproduce the execution of a hardware or software system. In contrast to replaying execution on uniprocessors, deterministic replay on multiprocessors is very challenging to implement efficiently because of the need to reproduce the order of or the values read by shared memory operations performed by multiple threads. In this paper, we present DoublePlay, a new way to efficiently guarantee replay on commodity multiprocessors. Our key insight is that one can use the simpler and faster mechanisms of single-processor record and replay, yet still achieve the scalability offered by multiple cores, by using an additional execution to parallelize the record and replay of an application. DoublePlay timeslices multiple threads on a single processor, then runs multiple time intervals (epochs) of the program concurrently on separate processors. This strategy, which we call uniparallelism, makes logging much easier because each epoch runs on a single processor (so threads in an epoch never simultaneously access the same memory) and different epochs operate on different copies of the memory. Thus, rather than logging the order of shared-memory accesses, we need only log the order in which threads in an epoch are timesliced on the processor. DoublePlay runs an additional execution of the program on multiple processors to generate checkpoints so that epochs run in parallel. We evaluate DoublePlay on a variety of client, server, and scientific parallel benchmarks; with spare cores, DoublePlay reduces logging overhead to an average of 15% with two worker threads and 28% with four threads.
机译:确定性重播系统记录并重现硬件或软件系统的执行。与在单处理器上重播执行相反,在多处理器上进行确定性重播要有效地实施非常具有挑战性,因为需要重现多个线程执行的共享内存操作的顺序或读取的值。在本文中,我们介绍DoublePlay,这是一种有效保证在商品多处理器上重播的新方法。我们的主要见识在于,人们可以使用更简单,更快速的单处理器记录和重放机制,但仍可以通过使用额外的执行来并行化应用程序的记录和重放来实现多核提供的可伸缩性。 DoublePlay在单个处理器上对多个线程进行时间片划分,然后在单独的处理器上同时运行程序的多个时间间隔(纪元)。我们将这种策略称为单并行性,它使记录变得更加容易,因为每个时期都在单个处理器上运行(因此,时代中的线程永远不会同时访问同一内存),而不同的时期则在内存的不同副本上运行。因此,我们不需要记录共享内存访问的顺序,而只需要记录一个时期中的线程在处理器上进行时间划分的顺序。 DoublePlay在多个处理器上运行该程序的附加执行以生成检查点,以便历元并行运行。我们在各种客户端,服务器和科学并行基准上评估DoublePlay;使用备用内核,DoublePlay可以通过两个工作线程将日志记录的平均开销减少到平均15%,而对于四个线程则可以将日志记录的平均开销减少到28%。

著录项

  • 来源
    《ACM transactions on computer systems》 |2012年第1期|p.53-76|共24页
  • 作者单位

    Computer Science and Engineering, University of Michigan, 2260 Hayward, Ann Arbor,MI48109-2121;

    Computer Science and Engineering, University of Michigan, 2260 Hayward, Ann Arbor,MI48109-2121;

    Computer Science and Engineering, University of Michigan, 2260 Hayward, Ann Arbor,MI48109-2121;

    Computer Science and Engineering, University of Michigan, 2260 Hayward, Ann Arbor,MI48109-2121;

    Computer Science and Engineering, University of Michigan, 2260 Hayward, Ann Arbor,MI48109-2121;

    Computer Science and Engineering, University of Michigan, 2260 Hayward, Ann Arbor,MI48109-2121;

    Computer Science and Engineering, University of Michigan, 2260 Hayward, Ann Arbor,MI48109-2121;

  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    deterministic replay; uniparallelism;

    机译:确定性重放;单并行;

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号