首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 109 毫秒
1.
基于事务性执行的投机并行多线程是一种适合未来多核微处理器架构的新型并行程序设计和编译技术.但在此基础上的并行程序执行过程更为复杂,程序执行过程的模拟成为关键问题之一.本文提出利用二进制代码级动态插桩技术对投机并行多线程程序进行功能性模拟,设计并实现了完整的软件平台,可精确地模拟和监控并行程序的线程级投机执行过程,检测访存冲突,从而实现投机并行多线程的语义.该软件平台同时可以作为进一步研究投机多线程并行程序真实执行过程的基础,并有效支持投机并行多线程编译器的设计和分析.  相似文献   

2.
随着各领域需要处理的数据量越来越大,数据密集型应用也变得越来越被重视.该文提出一种包含数据访存层次和访存冲突等信息的新并行程序执行模型PSRAM(h).针对数据密集型应用以访存为主的特点,PSRAM(h)模型将程序执行时间简化为访存时间,通过分析各程序子段的访存层次和数量来预测串行程序的执行时间,进而通过使用各线程执行时间的最大值来预测并行程序的执行时间.使用PSRAM(h)模型下对最典型的数据密集型应用矩阵向量乘进行分析,在龙芯3A处理器和Intel Xeon E5520处理器两个平台上的测试结果表明,PSRAM(h)模型分析结果与实测结果大部分情况下误差小于20%.由此可见,针对数据密集型应用,PSRAM(h)不但可以给出程序执行时间的下限,还可以有效的预测程序的执行时间.  相似文献   

3.
江建慧  赵晓东 《微处理机》1995,(2):29-35,39
在用各类商用微处理机系列产品构造实时应用系统时,必须解决其抗干扰问题。本文以对微处理机系统的指令执行过程受干扰情况的分析为基础,研究了失控后的程序执行流程的行为,着重讨论了程序执行流程出现差错后的各种恢复策略。  相似文献   

4.
LS SIMD C编译器的数据通信优化算法   总被引:1,自引:1,他引:0  
1 引言当前理想的程序自动并行化系统的实现存在许多难于解决的问题,因此较为流行的并行计算方法是利用并行语言编写并行程序,编译器对并行程序进行编译生成相应的节点程序执行。并行语言按并行执行的粒度分为基于任务的并行语言(主要面向一般应用领域的计算)和数据并行语言(主要应用于科学数值计算),典型的数据并行语言如HPF。对于数据并行语言而言,程序执行的并行性已由程序设计人员根据程序中的数据相关性给出。因此,如何确定数据的分布、优化数据的通信是影响并行程序执行效率的重要问题。数据分布大致可以分为两个阶段:首先对源程序中数据的相关性分析得到数据在抽象处理机上的分布,然后将抽象处理机上的数据分布映射到物理处理机上。数据分布的确定通常有以下几种实现方式:一种是由程序员给出抽象数据分布,编译  相似文献   

5.
在研究PLC程序编译执行过程和新指令特点的基础上,基于ARM-FPGA的PLC主机结构,提出一种新型PLC指令的编译方法。静态编译将指令的操作数转换为PLC软元件的直接地址,建立转移类指令的转移地址链表,编译成为新的PLC程序代码序列;动态编译在PLC程序执行过程中将新程序指令中操作数的直接地址转换为立即数,由FPGA模块执行。通过对PLC用户源程序的编译与执行,表明该方法能够充分应用FPGA高速并行处理的功能,提高了PLC程序执行的速度。  相似文献   

6.
ARM程序执行周期估计的基于模拟的非线性方法   总被引:1,自引:0,他引:1  
为了快速而准确地估计ARM处理器上的程序执行时间,研究了基于模拟的非线性程序执行时间估计器的结构.它由程序功能剖面生成模块和程序执行时间预测模块串联而成.程序功能剖面生成模块直接用精确指令模拟器Sim-profile实现;而基于程序执行中的动态指令数与执行时间在处理器上的非线性关系,对于程序执行时间预测模块的实现,首先设计了一种人工神经网络方案,再根据对人工神经网络局限性的判断,如局部最优问题、不适于解决小样本的回归、网络拓扑结构依赖先验知识等缺点,又提出了基于最小二乘支持向量机的方法.实验证明,这些非线性方法,特别是基于最小二乘支持向量机的方法,可以用较低的模拟代价获得较高的程序执行时间估计精度.  相似文献   

7.
基于编译技术的程序可视化   总被引:4,自引:0,他引:4  
程序可视化的目的是使程序的内部结构以及行为可视化更容易被理解。程序可视化工具有助于程序员理解程序的实际行为和其开发的深层的系统,以及调试程序或者测试程序所用资源。特别是对于正在学习初级编程的人,程序可视化工具能帮助他们学习一个程序是如何被编译和执行的。因此,有必要进行关于程序执行可视化的研究。介绍了一种以编译技术,主要是以词法分析和语法分析为基础的开发程序可视化工具的方法,并给出了C语言程序执行可视化工具的实例,以说明该方法的实用性。该工具是在程序执行特征测试工具的基础上,将其词法分析器和词法分析器加以修改而实现的。  相似文献   

8.
孟庆春  刘云卿 《计算机科学》2009,36(10):150-152
在现有的工业控制系统中经常使用PLC实现顺序控制、定时等功能。控制程序经常需要执行同步操作且输入开关量的触发时机具有不确定性,因此无法充分描述真实的执行过程。为此提出下述解决方法:首先在控制程序的编译阶段,使用Petri网建立网模型以表示程序执行逻辑,其次在控制程序的执行阶段,根据程序真实执行状况动态运行上述网模型,当程序运行结束时网模型停止执行,由此判断程序中存在的逻辑错误。  相似文献   

9.
以往的程序设计,主要在程序的结构、算法及执行速度上下功夫,程序几乎是“默默”地运行,至于处理多长时间,用户要等待多久就不得而知了。如果能将程序执行速度输出到屏幕上,不仅会大大平息用户焦急等待的心情,且不会影响处理速度,从而实现程序执行进度可视化。本文所提供的程序执行进度可视化通用模块的设计方法,适用于任何数据库管理系统,只要存在批量数据处理,就可直接调用本模块。本模块将关键数据参数化,应用程序可在需要处直接调用。进度可视窗的定义进度可视窗设计:一般程序界面均占用上半屏幕主要区域,所以本窗口开设在…  相似文献   

10.
为提高程序的整体执行效率,提出一种基于踪迹(trace-based)的通用即时编译技术。在SECD抽象机指令序列的解释执行中,将执行频率高的程序片段识别为踪迹,并编译成Java字节码,由Java虚拟机执行。任何用SECD抽象机实现的编程语言都可以使用该技术来提高程序执行效率。介绍该技术的实现方法,包括解释执行环境和Java字节码程序执行环境的转换方法,实现采用该技术的执行引擎框架。实验结果表明,该技术可有效提高程序的执行效率。  相似文献   

11.
面向Java的分布式程序测试系统   总被引:2,自引:0,他引:2  
顾庆  陈道蓄  谢立  孙钟秀 《软件学报》2003,14(4):743-749
由于程序的分布运行,测试分布式程序必须同时考虑并发特性和运行环境.介绍了一个面向Java语言的分布式程序测试系统JDPT(Java-oriented distributed program testing system).JDPT基于运行环境定义事件,通过事件序列记录分布式程序的运行过程,并定义事件约束检测可行事件序列集的有效性.通过该技术,JDPT可以有效地判断程序在运行环境中并发执行的正确性,适用于跨平台的Java程序测试.  相似文献   

12.
Sidle系统是运行在SUN工作站网络上的一组实用程序,利用空闲的处理机资源进行大粒度的并行计算.同其它远程执行设备相比,它能支持程序内部并行和嵌套的远程执行,允许一个服务员机接受多个远程执行任务.本文介绍了这些特点和透明性的实现方法.  相似文献   

13.
14.
1IntroductionSequelltialconsistencyl1listhepopularacceptedcriterionofcorrectexecutioninshared-memorysystems.Itdefinesacorrectexecutionastheonewhoseresultisthesameasiftheoperationsofallprocessorswereexecutedinsomesequentialorder,andtheoperationsofeachindividualprocessoraPpearinthissequenceintheorderspecifiedbytheprogram.Troicalimplemelltationofsequelltialconsistencyrequireseachaccesstobedelayeduntilthe..previousaccessinthesameprocesscompletesl2].Thisisdetrimentaltosystemperformancebecauseitdis…  相似文献   

15.
并行化编译系统将串行程序划分成若干个相对独立的模块并行执行。将串行程序转换成并行程序之后,在它们的执行过程中需要进行运行控制。本文主要讨论在并行化编译系统的运行控制中,并行模块的启动以及它们之间的数据通信。  相似文献   

16.
符号执行是一种实用的验证程序中是否包含某类错误的技术,具有0误报率的优点,但是主流的执行工具并不支持分析多线程程序。本文对已有的多线程程序的符号执行工具进行分析,发现存在的问题有:1)有些工具性能好,但是不支持外部库,实用性很差;2)有些工具支持外部库函数,但是版本老,难以更新和维护,无法检查减法溢出、乘法溢出、移位溢出等基本类型的bug。本文基于最主流的符号执行工具KLEE设计并实现支持多线程程序的符号执行工具——MTSE(Multi-Thread Symbolic Execution)。MTSE支持libc和libc++库,并且相对于已有的同类工作Cloud9,MTSE可以多查找出约50%的程序缺陷,并且指令覆盖率和分支覆盖率上均有约30%的提升。  相似文献   

17.
顺序一致共享存储系统中的乱序执行技术——基本理论   总被引:1,自引:1,他引:1  
本文首先研究了共享存储系统中的访存事件及其发生次序,从访存事件次序的角度建立了顺序一致性共享存储系统行正确性模型,然后在执行正确性模型的基础上,提出并证明了一种乱序列执行的方案,根据这个方案,只要满足一定条件,取数操作就可以越过它前面的访存操作执行而不影响系统的正确性。  相似文献   

18.
本提出了一种支持非独立“与”并行的新型“与”并行执行模型DAPM,它通过在共享变元之间建立一种类似生产和消费的同步依赖关系以防止它们在并行执行时产生的约束冲突。与其它模型相比,DAPM可以开发更多的“与”并行。本还从理论上对DAPM的运行代价进行了分析,其分析结果表明DAPM只需较小的运行时刻支持。  相似文献   

19.
在传统调试过程中,缺陷定位通常作为程序修复的前置步骤.最近,一种新型调试框架(统一化调试)被提出.不同于传统调试中缺陷定位和程序修复的单向连接方式,统一化调试首次建立了定位与修复之间的双向连接机制,从而达到同时提升两个领域的效果.作为首个统一化调试技术,ProFL利用程序修复过程中伴随产生的大量补丁执行信息逆向地提升已...  相似文献   

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

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