基于分组压缩算法的并行程序模型检测

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:hanwenqian
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在并行时代,系统正确性验证越来越受到关注。在并行系统中,由于线程之间执行次序的不确定性,错误往往很难通过测试的方法重现,从而研究人员提出模型检测技术验证并行程序。模型检测一般利用状态空间搜索的方法验证系统的正确性,随着被验证系统规模的增大,各线程之间交互次序的改变导致被搜索的状态集越来越大,因此,这种状态爆炸现象是亟需解决的难题。本文致力于缓解验证过程中出现的状态爆炸现象,在现有的模型检测框架Spin基础上,重新生成新的模型检测器GSpin。结合新的状态空间搜索算法,减少搜索的状态集,提高并行验证效率。本文的研究工作及创新之处主要包括以下两个方面:1.编译制导分组,结合分组压缩算法搜索状态空间本文在Bell实验室开发的模型检测器Spin的基础上,在验证程序中添加制导分组语句,重新改写新的词法语法规则文件,添加对制导语句的分析处理,生成新的模型检测器GSpin。利用GSpin生成的分组信息,结合分组压缩算法搜索系统状态。新的验证框架能有效减少验证系统的状态空间大小,提高验证效率。本文选取了8组测试程序,平均减少56.7%的状态空间大小,有效提高了验证效率。2.优化的分组压缩算法为了进一步提高程序的验证效率,考虑到各个分组之间的不相关性,本文提出两种优化的分组压缩算法,分别为局部并行化的Native算法及完全并行化的Entirely算法。Native算法将分组与多线程一一对应,使得每个线程顺序搜索相应的组,同步各组第一次到达自己的最终状态后,利用主线程将各线程的搜索路径合并,在串行模式下继续搜索系统状态。Entirely算法认为每个组都是一个独立的整体,并不仅仅在第一条完整路径上,还包括回溯等过程。该算法更能缩短验证时间,进一步提高验证效率。利用局部并行化算法Native算法搜索程序状态空间,随着被验证程序规模的增加,并行化效果也随之加强,验证时间平均减少了41.7%,但以消耗内存为代价,内存是顺序模式下的分组压缩算法的1.47倍。完全并行搜索的Entirely算法平均搜索时间减少了70%。由于程序中使用的是静态内存申请策略,使得Entirely算法的内存消耗与Native算法申请的内存差别不大,是顺序模式下的分组压缩算法的1.5倍。
其他文献
语音是实现人们之间沟通交流的最直接和方便的手段,语音识别也就成为了实现这一梦想的关键性技术,声纹识别就是语音识别中的一个关键技术。声纹特征是从语音波形当中提取出来
将人工免疫系统原理应用于入侵检测,形成了基于人工免疫的入侵检测系统。设计了一种基于遗传算法的动态克隆选择算法,该算法对r-连续位匹配规则进行改进,并应用遗传算法原理
在当今信息时代,网络成为人们获取信息的主要手段,信息检索一般通过搜索引擎进行。用户查询中词语复合结构占了相当一部分,但是目前的搜索引擎处理大多基于关键字,用户的查询
随着当今时代数码相机的平民化,对数码相片的后期编辑与处理的需求日益提高,而色调调整是其重要一方面。传统的局部色调调整工具如Photoshop面临一个较大的缺陷:人们在选择物
?无线射频识别(RFID)技术作为目前众多先进领域技术之一,开辟了普适计算领域内新的历史篇章。随着RFID技术的广泛深入应用,RFID中间件成为应用系统中的核心部分。但是由于在
随着世界经济的快速发展,汽车保有量与日俱增,由驾驶员疲劳驾驶造成的交通事故也越来越多,为了保障行驶安全和预防交通事故的发生,研究一种能有效检测驾驶员疲劳并及时给出报
日趋深入的应用对图像处理技术提出了更高的要求,使得图像处理的研究更加深入、广泛。作为图像处理的一个重要环节,图像增强在整个图像处理过程中有着承上启下的作用。由于图
经济全球化之后,企业越来越关注业务流程管理,而Petri网作为一种数学化的建模工具,也越来越多被应用到业务流程管理的定量分析中。Petri网的发展同时得益于各种扩展Petri网的
电网线损是一个综合性的经济、技术指标,它所反映的不仅是电网结构和运行方面的合理性,而且可以反映电力企业的技术和管理水平。便捷、有效的线损计算和分析方法将有利于发现
随着互联网络在人们的工作和生活中扮演的角色越来越重要,互联网络中存在的网络攻击和软件漏洞对系统及网络安全的威胁也日益突起,引起了人们更多的注意。为此,可信计算组织