CN103425583A - 一种多dsp并行系统的跟踪和回放方法 - Google Patents
一种多dsp并行系统的跟踪和回放方法 Download PDFInfo
- Publication number
- CN103425583A CN103425583A CN2013103747695A CN201310374769A CN103425583A CN 103425583 A CN103425583 A CN 103425583A CN 2013103747695 A CN2013103747695 A CN 2013103747695A CN 201310374769 A CN201310374769 A CN 201310374769A CN 103425583 A CN103425583 A CN 103425583A
- Authority
- CN
- China
- Prior art keywords
- dsp
- parallel system
- mode
- playback
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一多DSP并行系统的跟踪和回放方法。该方法可对多DSP并行系统运行的程序运行状态进行跟踪,并收集到系统关键的运行信息,在并行系统第二次运行时,通过前一次收集的跟踪信息,可以完全回放前面一次的执行过程。该方法可以用于多DSP并行系统运行状态监测和记录,并且能够在多DSP并行系统出现故障时,迅速定位故障并修复故障。
Description
技术领域
本发明涉及到一种并行系统跟踪和回放的方法,尤其涉及到了多DSP并行系统的跟踪和回放,能够对多DSP并行系统的应用程序进行跟踪和回放,一旦DSP并行系统出现故障,跟踪和回放功能就很容易帮助用户定位故障并修复故障。
背景技术
当前信息技术飞速发展,数字信号处理器(Digital Signal Processor,DSP),以其独特的结构和快速算法在移动通信、雷达信号处理和实时图像处理等领域中得到了广泛应用。然而随着实时信号处理对速度需求的不断增加,仅靠单DSP 系统已经不能适应超大运算量的要求。一些信号处理应用,不仅运算量大,处理复杂,数据吞吐量也很大,必须采用实时性强、精度高和具备高数据吞吐量连接网络的大规模并行多DSP处理系统。采用多DSP并行处理技术使系统不仅处理能力大大增强,而且具有很好的伸缩性和灵活性。
虽然现有的并行多DSP系统比单个DSP系统更具优越性,但也使系统的设计更加复杂。处理并行问题,要比处理单纯的顺序问题困难的多。并发程序在并行多DSP系统中执行,由于并行系统DSP之间并发性、DSP之间的通信与同步等原因而具有不确定性, 即在相同输入的情况下,多次运行并行应用程序往往会经历不同的同步过程,产生不同的输出结果。这样就导致了并行应用程序的运行过程有不可重现性,一旦系统在运行过程中出现了故障,由于故障的不可重现,导致很难修复故障。
发明内容
本发明的目的在于提供一种对并行多DSP系统的进行跟踪执行和回放执行的方法。
本发明解决技术问题采用的技术方案是:一种多DSP并行系统的跟踪和回放方法,包括以下步骤:
步骤1:在多DSP并行系统的并发运行库基础上开发满足自己需求的应用程序。
步骤2:设置应用程序的运行模式为跟踪模式或回放模式,并开始应用程序在多DSP并行系统上运行。
步骤3:如果运行模式为跟踪模式,则开启并行系统跟踪单元,对应用程序进行跟踪执行,并收集应用程序的关键状态信息并存储在本地文件中;应用程序运行结束并输出运行结果,检测运行结果的正确性,若果正确则一次运行完成,否则返回步骤1;如果运行模式为回放模式,则开启并行系统的回放单元,读取上次跟踪模式下收集的状态信息文件,进行回放模式执行;应用程序跟踪运行结束并输出运行结果,对比运行过程的结果是否与跟踪模式下运行结果相同,如果相同则运行完成,否则返回步骤1。
与现有技术相比,本发明具有以下技术效果:本发明是用于多DSP并行系统的一个软件测试、故障定位、故障修复技术方法。用户可以通过该并行系统的并发运行库开发出多DSP并行应用程序,能够大大提高DSP系统数据处理能力。由于并行程序运行的不确定性,导致并行程序的测试和错误修复非常复杂,而本发明就能够提供对多DSP并行系统的运行进行跟踪,并且在下一次运行时候,可以进行回放执行(也就是完整得重复上一次执行),这样就能加速并行系统的测试,快速定位到故障处并还原故障产生的场景,从而达到迅速修复故障的目的。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明第一实施例的多DSP并行系统的跟踪执行流程示意图;
图2是根据本发明第一实施例的多DSP并行系统运行在跟踪模式,并发运行库的API执行流程示意图;
图3是根据本发明第二实施例的多DSP并行系统的回放执行流程示意图;
图4是根据本发明第二实施例的多DSP并行系统运行在回放模式,并发运行库的API执行流程示意图。
具体实施方式
以下将结合附图及实施例来详细说明本说明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只有不构成冲突,本发明中的各个实施例以及各个实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在任意一种多DSP并行系统中执行,并且,虽然在流程图中示出了逻辑顺序,但在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明多DSP并行系统的跟踪和回放方法,包括以下步骤:
步骤1:在多DSP并行系统的并发运行库基础上开发满足自己需求的应用程序。
应用程序是基于多DSP并行系统的并发运行库所开发,该并发运行库提供了单DSP的进程创建,DSP之间消息通信和DSP之间同步功能。
步骤2:设置应用程序的运行模式为跟踪模式或回放模式,并开始应用程序在多DSP并行系统上运行。
多DSP并行系统是由多个DSP互联组成,并且DSP之间可以通过总线共享内存、HPI主机接口、FIFO缓冲存储三种互联方式互联。
步骤3:如果运行模式为跟踪模式,则开启并行系统跟踪单元,对应用程序进行跟踪执行,并收集应用程序的关键状态信息并存储在本地文件中;应用程序运行结束并输出运行结果,检测运行结果的正确性,若果正确则一次运行完成,否则返回步骤1;如果运行模式为回放模式,则开启并行系统的回放单元,读取上次跟踪模式下收集的状态信息文件,进行回放模式执行;应用程序跟踪运行结束并输出运行结果,对比运行过程的结果是否与跟踪模式下运行结果相同,如果相同则运行完成,否则返回步骤1。
多DSP并行系统的跟踪功能是基于并发运行库的跟踪功能单元实现,该功能单元主要是对并发运行库中进程创建,DSP之间消息通信和DSP之间同步等关键执行信息进行跟踪执行。并将跟踪信息保存至本地文件中。
多DSP并行系统的回放功能是基于并发运行库的回放功能单元实现,该功能单元主要是对并发运行库中的进程创建,DSP之间的消息通信和DSP之间的同步等关键执行信息进行回放执行。
实施例1:
图1是根据本发明第一实施例的多DSP并行系统的跟踪执行流程示意图,下面根据图1详细说明本实施例的各个步骤。
1.在多DSP并行系统的并发运行库的基础上开发出应用程序,设置运行模式为跟踪模式并开始运行。
2.激活跟踪执行单元,跟踪执行单元开始处理跟踪请求。
3.并发程序开始跟踪执行,跟踪单元收集对应的跟踪信息。
4.并发程序跟踪执行结束后输出运行结果。
5.判断执行结果是否正确,如果不正确则返回1;若果结果正确,则跟踪执行单元将跟踪信息存储到本地文件中,整个运行过程结束。
图2是根据本发明第一实施例的多DSP并行系统并发运行库API在跟踪模式下的流程示意图,下面根据图2详细说明API在跟踪模式下的执行步骤。
1.跟踪执行单元首先进行初始化。
2.应用程序调用API(该API名称为A),A向跟踪单元发送调用A的请求,然后A一直等待跟踪单元的回应。
3.跟踪单元接收到A的请求后,记录A的调用记录,然后向A回应请求。
4.A等待到跟踪单元的回应,然后执行A的真正功能调用。
5.A的调用执行结束。
实施例2:
图3是根据本发明第二实施例的多DSP并行系统的回放执行流程示意图,下面根据图3详细说明本实施例的各个步骤。
1.在多DSP并行系统的并发运行库的基础上开发出应用程序,设置运行模式为回放模式并开始运行。
2.激活回放执行单元,回放执行单元读取上一次存储的跟踪信息文件,形成回放顺序列表。
3.并发程序开始回放执行,回放单元处理并发程序的回放请求。
4.并发程序跟踪执行结束后输出运行结果。
5.判断执行结果是否正确,如果不正确则返回1;若果结果正确,,整个回放运行过程结束。
图4是根据本发明第二实施例的多DSP并行系统并发运行库API在回放模式下的流程示意图,下面根据图4详细说明API在回放模式下的执行步骤。
1.回放执行单元读取上次跟踪执行存储的跟踪信息文件,形成回放序列执行列表,初始化请求等待队列,当前回放事件置为回放序列表的第一个事件,并完成其他初始化工作。
2. 回放执行单元等待应用程序的请求。
3.应用程序调用API(该API名称为A),A向回放执行单元发送调用A的请求,然后A一直等待回放单元的回应。
4.回放单元接收到A的请求后,然后判断当前回放事件是否正好是调用A,如果是则转到步骤5,否则转到步骤6。
5. 向应用程序发送当前API请求回复响应,将当前回放事件置为回放链表的下一个事件。然后判断等待队列中是否有请求当前回放事件的等待请求,如果有则转到步骤5;否则转到步骤7。
6.将等待请求放入回放执行单元的等待队列。
7.并行应用程序接收到跟踪执行单元的请求,然后开始执行A的真正调用,接口A调用结束。
Claims (2)
1.一种多DSP并行系统的跟踪和回放方法,其特征在于,包括以下步骤:
步骤1:在多DSP并行系统的并发运行库基础上开发满足自己需求的应用程序;
步骤2:设置应用程序的运行模式为跟踪模式或回放模式,并开始应用程序在多DSP并行系统上运行;
步骤3:如果运行模式为跟踪模式,则开启并行系统跟踪单元,对应用程序进行跟踪执行,并收集应用程序的关键状态信息并存储在本地文件中;应用程序运行结束并输出运行结果,检测运行结果的正确性,若果正确则一次运行完成,否则返回步骤1;如果运行模式为回放模式,则开启并行系统的回放单元,读取上次跟踪模式下收集的状态信息文件,进行回放模式执行;应用程序跟踪运行结束并输出运行结果,对比运行过程的结果是否与跟踪模式下运行结果相同,如果相同则运行完成,否则返回步骤1。
2.根据权利要求1所述的方法,其特征在于应用程序运行的系统为多DSP并行系统,DSP之间可以通过总线共享内存、HPI主机接口、FIFO缓冲存储三种互联方式互联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310374769.5A CN103425583B (zh) | 2013-08-25 | 2013-08-25 | 一种多dsp并行系统的跟踪和回放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310374769.5A CN103425583B (zh) | 2013-08-25 | 2013-08-25 | 一种多dsp并行系统的跟踪和回放方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425583A true CN103425583A (zh) | 2013-12-04 |
CN103425583B CN103425583B (zh) | 2016-06-01 |
Family
ID=49650366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310374769.5A Expired - Fee Related CN103425583B (zh) | 2013-08-25 | 2013-08-25 | 一种多dsp并行系统的跟踪和回放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425583B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970512A (zh) * | 2014-05-21 | 2014-08-06 | 龙芯中科技术有限公司 | 多核处理器及其并行重放方法 |
CN104216764A (zh) * | 2014-07-31 | 2014-12-17 | 昆明理工大学 | 一种基于多线程嵌入式系统并行程序跟踪与回放方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008039964A1 (en) * | 2006-09-28 | 2008-04-03 | Nec Laboratories America, Inc. | Software testing using machine learning |
CN101510170A (zh) * | 2009-03-21 | 2009-08-19 | 大连海事大学 | 一种对MIDlet生命周期事件记录回放的测试方法 |
-
2013
- 2013-08-25 CN CN201310374769.5A patent/CN103425583B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008039964A1 (en) * | 2006-09-28 | 2008-04-03 | Nec Laboratories America, Inc. | Software testing using machine learning |
CN101510170A (zh) * | 2009-03-21 | 2009-08-19 | 大连海事大学 | 一种对MIDlet生命周期事件记录回放的测试方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970512A (zh) * | 2014-05-21 | 2014-08-06 | 龙芯中科技术有限公司 | 多核处理器及其并行重放方法 |
CN103970512B (zh) * | 2014-05-21 | 2016-09-14 | 龙芯中科技术有限公司 | 多核处理器及其并行重放方法 |
CN104216764A (zh) * | 2014-07-31 | 2014-12-17 | 昆明理工大学 | 一种基于多线程嵌入式系统并行程序跟踪与回放方法 |
CN104216764B (zh) * | 2014-07-31 | 2017-09-12 | 昆明理工大学 | 一种基于多线程嵌入式系统并行程序跟踪与回放方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103425583B (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442560B (zh) | 一种日志重演方法、装置、服务器和存储介质 | |
CN102929585B (zh) | 一种支持多主机分布式数据处理的批处理方法及系统 | |
CN105045632A (zh) | 一种多核环境下实现免锁队列的方法和设备 | |
CN105701190A (zh) | 一种数据同步的方法和装置 | |
CN103279386A (zh) | 一种计算机作业调度系统高可用的方法 | |
CN105630664B (zh) | 一种反向调试方法、装置及调试器 | |
CN112988702A (zh) | 异构数据源实时数据传输方法及系统、存储介质及终端 | |
CN103823708A (zh) | 虚拟机读写请求处理的方法和装置 | |
CN104866528A (zh) | 多平台数据采集方法及系统 | |
CN102541750A (zh) | 数据快照的实现方法和装置 | |
CN103425583A (zh) | 一种多dsp并行系统的跟踪和回放方法 | |
CN105302489A (zh) | 一种异构多核远程嵌入式存储器系统与方法 | |
CN112948124B (zh) | 一种加速任务处理方法、装置、设备及可读存储介质 | |
CN105159944A (zh) | 一种数据库应急处理方法及系统 | |
CN104657239A (zh) | 基于分离式日志的多核处理器瞬时故障恢复系统及其瞬时故障恢复方法 | |
CN104298773A (zh) | 一种etl作业自动切库系统及方法 | |
CN101971562B (zh) | 控制自动运行过程执行的方法、装置及系统 | |
CN110085237B (zh) | 交互过程的恢复方法、装置及设备 | |
CN114095343A (zh) | 基于双活系统的容灾方法、装置、设备及存储介质 | |
CN113986723A (zh) | 一种mock测试方法及其相关设备 | |
CN113032021A (zh) | 系统切换及其数据处理方法、装置、设备及存储介质 | |
CN105095248A (zh) | 一种数据库集群系统及其恢复方法、管理节点 | |
CN102253940B (zh) | 树形控件处理数据的方法和装置 | |
CN107608662B (zh) | 基于MongoDB的分布式计时系统 | |
CN110908821A (zh) | 任务失败管理的方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160601 Termination date: 20190825 |