首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 140 毫秒
1.
软件DSM系统的并行调试环境已经成为制约其广泛应用的一个重要因素。全局断点技术是用户调试程序的一种基本方法。该文通过定义软件DSM程序执行的HB1序来描述程序的执行,并以此定义因果分布式断点。并使用重放方法和向量时间戳技术来获得因果分布式断点。应用测试结果表明,该方法产生很小的空间和时间开销。  相似文献   

2.
于佳耕  周鹏  武延军  赵琛 《软件学报》2012,23(6):1620-1634
进程重放用于程序调试,无法重现系统全部状态,难以分析错误根源.而系统级重放复杂且难于实现,尚无模型分析方法提供理论指导,确保重放执行与记录执行等价.为了使执行重放系统适用于系统调试,建立虚拟机指令执行模型,提出了虚拟机执行重放的定义,给出并证明了成功重放的充分条件.根据该充分条件,设计实现了基于Xen的虚拟机重放系统CASMotion.CASMotion讨论了Xen DomU中不确定事件的种类,给出各类事件的重放方法以及时间点的匹配算法.CASMotion成功实现了不确定事件的准确重放,实验结果表明其具有较低的性能损失.  相似文献   

3.
高岚  王锐  钱德沛 《软件学报》2013,24(6):1390-1402
多核处理器并行程序的确定性重放是实现并行程序调试的有效手段,对并行编程有重要意义。但由于多核架构下存在共享访存不同步问题,并行程序确定性重放的研究依然面临多方面的挑战,给并行程序的调试带来很大困难,严重影响了多核架构下并行程序的普及和发展。分析了多核处理器造成并行程序确定性重放难以实现的关键因素,总结了确定性重放的评价指标,综述了近年来学术界对并行程序确定性重放的研究。根据总结的评价指标,从纯软件方式和硬件支持方式对目前的确定性重放方法进行了分析与对比,并在此基础上对多核架构下并行程序的确定性重放未来的研究趋势和应用前景进行了展望。  相似文献   

4.
为了改进软件DSM系统中对文件的存取性能以获得更好的应用程序性能,基于软件DSM系统JIAJIA的并行文件子系统DPFS被开发出来,DPFS系统采用文件映射接口作为编程接口,使得文件存取界面简单,并且能充分利用软件DSM系统的大量特性,系统设计相对简单,在曙光2000并行机上进行的应用测试表明,采用DPFS文件系统后,应用程序的整体性能有了很大提高。  相似文献   

5.
软件DSM(distributed shared memory)系统在机群上构造了共享存储编程环境,结合了共享存储的易编程性和机群的可扩展性,引起了广泛的研究.由于软件DSM系统是一个分布式系统,系统失败风险大,需要实现容错技术以促进其实用化.利用用户级检查点技术,在支持域存储一致模型的软件DSM系统JIAJIA的基础上,设计并实现了一个可恢复的高可移植的软件DSM系统JIACKPT(JIAjia with ChecKPoinTing).由于采用适合软件DSM系统的强全局一致状态以及多种优化措施,JIACKPT易于实现且获得很好的性能.在一个8节点的PC机群上的应用测试表明,即使每分钟做一次检查点,大部分应用的检查点开销也小于10%.此外,JIACKPT还具有高可移植性.这些都表明JIACKPT已经成为一个比较实用的系统.  相似文献   

6.
一个嵌入式软件系统开发调试环境的建立   总被引:1,自引:0,他引:1  
由于嵌入式软件系统往往需要固化在EPROM中,其运行平台(目标机)缺少甚至没有对软件进行调试的工具,因此,对于嵌入式软件系统的开发和调试而言,其工程复杂程度要比在通用PC机上开发调试一个系统软件大的多,本文通过一个作战应用软件系统开发调试的实例,来介绍一种建立嵌入式软件系统开发调试环境的方法。  相似文献   

7.
在软件的开发测试部署过程中,调试工作耗费了开发人员非常多的精力和时间,有时一个很难被发现的错误会导致多次重启调试。反向调试是软件调试的一种技术,无需重启即可向后查看运行的指令及状态,这能够大大提高软件调试的速度,降低软件开发的难度,有效修复程序运行时发生的错误。该技术的核心问题是运行状态的恢复,目前针对该问题的解决方法主要有状态保存和状态重构。文中主要从反向调试的原理、学术研究、产品实现、技术应用等方面梳理其发展情况,对该技术进行分析研究,总结了基于时间和基于指令的状态保存反向调试技术以及两种反向执行重构状态的方法,并提出了有关记录重放程序执行、定位分析软件错误、反向数据流恢复这3方面的应用,可为反向调试技术的研究应用提供一定的参考。  相似文献   

8.
介绍了为曙光机群系统设计实现的并行调试器DCDB。DCDB同时支持调试MPI或PVM、C或Fortran的并行应用程序,实现了记录/重放并行调试功能,支持循环调试,解决了并行调试时并行程序的不确定性问题。DCDB采用Client/server/Client结构,具有友好的图形用户界面,系统主要采用Java语言开发,具有良好的可移植性和可扩展性。  相似文献   

9.
基于分布式共享存储系统的并行文件子系统DPFS   总被引:4,自引:0,他引:4  
为了改进软件 DSM系统中对文件的存取性能以获得更好的应用程序性能 ,基于软件 DSM系统 JIAJIA的并行文件子系统 DPFS被开发出来 .DPFS系统采用文件映射接口作为应用编程接口 ,使得文件存取界面简单 ,并且能充分利用软件 DSM系统的大量特性 ,系统设计相对简单 .在曙光 2 0 0 0并行机上进行的应用测试表明 ,采用DPFS文件子系统后 ,应用程序的整体性能有了很大提高  相似文献   

10.
基于事件模型的可视化并行调试技术   总被引:3,自引:0,他引:3       下载免费PDF全文
并行程序存在资源竞争、时序紊乱、死锁等复杂问题,加上并行程序的不确定性,给调试带来了很大的困难.基于事件模型的可视化并行调试技术EVTPD(event—basedvisualizationtechniquesonparalleldebugging)为解决这些困难提供了一个途径.EVTPD的基本要素是事件监视与可视化重放.本文讨论了事件监视与可视化重放中的关键技术;事件描述、事件过滤、事件识别、时戳、记录重放、执行重放和视图定义,并且给出了一个基于工作站机群系统的并行调试器的结构.  相似文献   

11.
Distributed shared memory (DSM) allows parallel programs to run on distributed computers by simulating a global virtual shared memory, but data racing bugs may easily occur when the threads of a multi-threaded process concurrently access the physically distributed memory. Earlier tools to help programmers locate data racing bugs in non-DSM parallel programs are not easily applied to DSM systems. This study presents the data race avoidance and replay scheme (DRARS) to assist debugging parallel programs on DSM or multi-core systems. DRARS is a novel tool which controls the consistency protocol of the target program, automatically preventing a large class of data racing bugs when the parallel program is subsequently run, obviating much of the need for manual debugging. For data racing bugs that cannot be avoided automatically, DRARS performs a deterministic replay-type function on DSM systems, faithfully reproducing the behavior of the parallel program during run time. Because one class of data racing bugs has already been eliminated, the remaining manual debugging task is greatly simplified. Unlike previous debugging methods, DRARS does not require that the parallel program be written in a specific style or programming language. Moreover, DRARS can be implemented in most consistency protocols. In this paper, DRARS is realized and verified in real experiments using the eager release consistency protocol on a DSM system with various applications.  相似文献   

12.
A technology of the deterministic replay of an execution process in virtual machines can be used for debugging, improving reliability and robustness, software development and incident investigation (including reverse engineering of malware). The paper describes an implementation of deterministic replay for guest machines based on IA-32 in the emulator QEMU. This implementation minimizes the list of replayed devices. The organization of QEMU is discussed in detail, and the techniques used in the implementation are thoroughly explained. The key performance characteristics, such as the size of log of nondeterministic events and slowdown are experimentally measured.  相似文献   

13.
Reverse debugging is the software development technique that effectively helps fix bugs occurring at the nondeterministic program behavior. It allows one to examine the past states of the program without rerunning it. An implementation of reverse debugging based on deterministic replay in the QEMU 2.0 emulator is described. A number of techniques improving the debugging performance due to reducing the amount of saved data, optimized storage of system snapshots, indexing, and compressing of the event log are proposed. The emulator can work together with the interactive GDB debugger, which makes it possible to use the reverse-continue, reverse-nexti, reverse-stepi and reverse-finish commands in the course of debugging. The execution time of these commands depends on the frequency of recording the system’s state snapshots. An estimate of the optimal frequency for the reverse-continue command is obtained.  相似文献   

14.
在基于消息传递的并发程序中,由于进程的调度顺序以及消息延时等特性,使得同样输入的不同执行呈现不同的结果,这种并发程序行为的不确定性直接导致了程序错误的不可再现性,即后续的执行无法再现前次执行的错误。以反复执行程序、重复再现故障为核心的循环调试方法变得不再可用。因此,对于并发程序的调试问题,我们将传统的循环调试方法加以扩充,引入追踪和重演的机制,重放程序的某次执行,以消除并发程序的错误不可再现性。  相似文献   

15.
In this paper we describe the design and implementation of an integrated monitoring and debugging system for a distributed real-time computer system. The monitor provides continuous, transparent monitoring capabilities throughout a real-time system's lifecycle with bounded, minimal, predictable interference by using software support. The monitor is flexible enough to observe both high-level events that are operating system- and application-specific, as well as low-level events such as shared variable references. We present a novel approach to monitoring shared variable references that provides transparent monitoring with low overhead. The monitor is designed to support tasks such as debugging realtime applications, aiding real-time task scheduling, and measuring system performance. Since debugging distributed real-time applications is particularly difficult, we describe how the monitor can be used to debug distributed and parallel applications by deterministic execution replay.  相似文献   

16.
《Micro, IEEE》2007,27(1):48-55
As hardware vendors transition to multicore chips, software vendors face increased software reliability challenges. To effectively debug software in this new world, developers must be able to replay executions that exhibit a bug so that they can zero in on concurrency bugs - especially intermittent ones. Such deterministic replay also aids fault detection and recovery, intrusion detection, and the like. Deterministic replay requires both a recorder and a replayer. The recorder logs information during multithreaded program execution that is sufficient to enable deterministic replay. In the postmortem analysis, the replayer uses the logged information, together with the program binary, to faithfully replay the original execution. The replay will always exercise the same bugs and produce the same outputs. Clearly, an investment in modest chip resources has great potential to ease the challenges of debugging the multithreaded software that both users and vendors will continue to demand  相似文献   

17.
基于机群操作系统的并行调试器   总被引:2,自引:0,他引:2  
并行调试工具的设计,是并行计算环境工具研究开发中的一个突出难点。介绍了一个在曙光3000上实现的并行调试器DCDB3.0。该调试器是未来曙光4000机群操作系统的一部分,是曙光3000上的第1个可运行版本,采用典型的客户/服务器模式。客户端的用户界面可将冗繁的调试信息与操作可视化。客户端可以远离提供服务的大型机,其远程通信依赖的是机群操作系统中的DRPC和任务管理,前者提供远程方法调用,后者使得客户端能够在服务器上启动相应的任务。DCDB3.0的服务器端负责处理调试任务和同客户端进行信息交互。DCDB3.0的功能具有可扩放性,使得可以在此平台上研究一些高级并行调试技术的实现。改进了已有的方式,实现了重放技术,并计划进一步添加其他高级并行调试技术。  相似文献   

18.
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号