节点文献

机群系统并行程序调试环境研究

Research on Debugging Environments of Parallel Programs in Cluster Systems

【作者】 刘建

【导师】 沈美明;

【作者基本信息】 清华大学 , 计算机系统结构, 2002, 博士

【摘要】 并行程序调试是一个复杂的课题,在这方面做了很多研究工作,但许多问题仍没有得到圆满解决。本文对并行调试中的时钟模型、时间开销、交互式调试的干扰、动态条件断点、性能调试等问题进行了研究,取得了有价值的成果。在这些研究工作的基础之上,作者设计了一个机群系统并行程序调试环境并实现了其原型系统。本文的主要贡献包括以下几个方面: 1. 描述了性能调试的基本含义和特征,分析了它应提供的方法和手段及需要解决的主要技术问题,进而归纳出并行程序性能调试的模型框架:性能数据采集- 性能数据可视化和分析- 程序修改。针对正确性调试和性能调试在技术及应用上逐步融合、统一的趋势,提出了调试环境的概念,即把性能调试和正确性调试有机地集成于一个环境中。2. 开发了一种基于事件的物理时钟。结合物理时钟和逻辑时钟的优点,设计了一个事后分析的时钟调整算法,证明了其正确性和收敛性。该混合时钟可以满足一般机群系统并行程序调试环境的需要,且无任何额外的通信开销。3. 提出了一种基于状态冻结的确定性检查点设置方法,解决了长时间运行程序的调试问题。该方法避免了检查点中的孤儿消息、多米诺效应和活锁问题;用记录的方法处理中途消息;用记录/重放方法解决不确定性问题。有效地解决了调试和检查点结合所产生的各种问题,且结构清晰、易于实现。4. 为降低交互式调试的干扰,提出了一种新的无干扰(pure)调试模式。所设计的冻结和解冻算法是实现无干扰调试模式的基础,通过形式化分析交互式调试操作对程序的干扰特性,从理论上证明了冻结和解冻算法的正确性。5. 采用动态插装技术,实现了条件断点。此种方法和传统方法相比效率极高,从测试的数据看,比GDB快几倍到几百倍;该方法同时也降低了调试器的干扰。6. 提出了基于状态冻结的交互式性能调试模式。性能测量代码的动态插装技术将交互式调试模式引入到了性能调试中;状态冻结是为了降低交互式调试的干扰。精确到源程序行级的性能数据采集,摆脱了程序构造符的限制,使采集的精度更高、采集的范围更灵活。7. 在本文研究成果的基础之上,设计并实现了一个机群系统并行程序调试环境- DENNET的原型系统。

【Abstract】 The process of debugging parallel programs is a very important phase in the cycle of software development. Parallel debugging is a complicated work. Research of debugging techniques of parallel programs has been made for many years. However, few of the problems have been successfully solved. In this dissertation, research has been made on the topics of clock of cluster system, time-cost of debugging, intrusion of interactive debugging operation, dynamic conditional breakpoint, and performance debugging issues. Some of the achievements are used in the implementation of a parallel debugging environment for cluster systems.The contribution of this dissertation arrives from the follows:1. The characteristics, methods and techniques of performance debugging are described. The framework of performance debugging usually comprises a part which is responsible for collecting the performance information and a part which analyses and displays the performance data. In allusion to the unification of techniques and interface of correctness and performance debugging, the concept of debugging environment, which means the integrated environment of correctness debugging tool and performance debugging tool, has been proposed.2. An event-based physical clock has been development. It integrated the advantages of physical clock and logical clock so that it can not only represent the time duration but also preserve the partial order of events. A postmortem clock adjustment algorithm has been designed. The correctness and astringency have also been proved The outstanding advantage of our algorithm is that there is not any extra communication overhead.The deterministic checkpoint based on state-freezing can successfully avoid nephew messages, domino effect and live lock. By<WP=7>3. means of recording transient message, all the four problems of checkpoint are solved. And the non-deterministic is settled by the technique of recording/replay. The primary benefit of this algorithm is simple and easy to implement.4. A new debugging mode, called pure mode, has been propsoed to decrease the intrusion of interactive debugging operations. The characteristics of intrusion are formally uncovered. The correctness of freezing and melting algorithms has also been proved.5. By using of dynamic instrumentation, we implement conditional breakpoint. The efficiency of this kind conditional breakpoint is much higher than traditional one. Compared with GDB, we are able to execute a program with conditional breakpoints from several times to hundreds times faster.6. Combining dynamic instrumenting techniques and state-freezing strategy, the interactive performance debugging mode based on state-freezing is proposed Dynamic instrumenting technique makes it possible to introduce interactive debugging mode in performance debugging. To reduce intrusion of interactive debugging operations, state-freezing strategy is certainly a good choice. Instrumentation at the line of source program makes the collection of performance data more accurate and flexible.7. A debugging environment for parallel programs in cluster systems, called DENNET, is implemented. DENNET plays a positive role in prompting the researches of debugging environment in cluster systems.

  • 【网络出版投稿人】 清华大学
  • 【网络出版年期】2004年 02期
节点文献中: