| 摘要: |
| 多核处理器并行程序的确定性重放是实现并行程序调试的有效手段,对并行编程有重要意义.但由于多核架构下存在共享访存不同步问题,并行程序确定性重放的研究依然面临多方面的挑战,给并行程序的调试带来很大困难,严重影响了多核架构下并行程序的普及和发展.分析了多核处理器造成并行程序确定性重放难以实现的关键因素,总结了确定性重放的评价指标,综述了近年来学术界对并行程序确定性重放的研究.根据总结的评价指标,从纯软件方式和硬件支持方式对目前的确定性重放方法进行了分析与对比,并在此基础上对多核架构下并行程序的确定性重放未来的研究趋势和应用前景进行了展望. |
| 关键词: 多核处理器 并行程序 确定性重放 多线程程序 数据竞争 调试 |
| DOI:10.3724/SP.J.1001.2013.04392 |
| 分类号: |
| 基金项目:国家自然科学基金(61073011, 61133004); 国家高技术研究发展计划(863)(2012AA010902) |
|
| Deterministic Replay for Parallel Programs in Multi-Core Processors |
|
GAO Lan1, WANG Rui1,2, QIAN De-Pei1
|
|
1.Department of Computer Science and Engineering, BeiHang University, Beijing 100191, China;2.Beijing Key Laboratory of Network Technology, Beijing 100191, China
|
| Abstract: |
| The deterministic replay for parallel programs in multi-core processor systems is important for the debugging and dissemination of parallel programs, however, due to the difficulty in tackling unsynchronized accessing of shared memory in multiprocessors, industrial-level deterministic replay for parallel programs have not emerged yet. This paper analyzes non-deterministic events in multi-core processor systems and summarizes metrics of deterministic replay schemes. After studying the research for deterministic multi-core processor replay in recent years, this paper introduces the proposed deterministic replay schemes for parallel programs in multi-core processor systems, investigates characteristics of software-pure and hardware-assisted deterministic replay schemes, analyzes current researches and gives the prospects of deterministic replay for parallel programs in multi-core processor systems. |
| Key words: multi-core processor parallel program deterministic replay multithread data race debugging |