基于符号执行的MPI程序分析与验证技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:uf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件可信性提高是计算机科学中的重要研究问题。MPI是高性能计算领域开发并发程序的主流框架,大部分运行在超级计算机上的并发程序是采用MPI开发的,有些开发代价超过几十人年。考虑到使用MPI开发的高性能应用的规模以及高性能计算中心的高昂构建、维护费用,MPI程序的可信性保障问题日渐引起人们的重视,而MPI程序的分析和验证技术作为可信性提高的手段,成为大规模并行程序开发的关键技术。由于MPI程序缺陷可能输入相关,即只有在某些特定输入的时候才表现出来,不提供输入覆盖的技术如测试、正确性检查、动态验证等,难以捕获到这些输入相关缺陷。符号执行是上世纪70年代提出的一种基于约束求解的程序分析技术,可以自动化地探索程序路径空间。符号执行可用于程序的缺陷查找、自动测试和自动验证。本文基本思路就是使用符号执行来分析MPI程序。然而,作为一种通用的基本程序分析方法,符号执行在应用于MPI程序分析上时,面临挑战:面对MPI程序本身的不确定性以及复杂性,在输入覆盖之外,符号执行本身无法提供MPI程序的非确定性覆盖;由于符号执行本身的特性,在分析规模较大的MPI程序时,其可扩展性面临一定的挑战。本文围绕这两方面的挑战展开了研究,旨在进一步提高MPI程序的可信性。本文的主要研究内容包括:1.同步MPI程序的符号执行方法。现存的绝大部分MPI程序缺陷检测方法不能同时提供输入和不确定性的双重覆盖,因此可能存在漏报问题。而在MPI程序中,人们为了获取高性能,允许所谓的“通配接收”,即标记和接收源允许使用通配符,运行时才决定此接收操作是和具体的哪个发送操作相匹配,这就带来了一定的非确定性。针对带有通配接收的阻塞MPI程序,本文采用符号执行来保证输入空间的覆盖,使用懒惰匹配的方法保证通配接收带来的非确定性覆盖,并提出了一种即时调度方法来减少盲目的交叠遍历;另外,我们证明了依据此调度方法,不会漏掉通配接收的匹配而导致漏报死锁。在基准测试集上的实验表明,该方法可以有效地找到程序中的死锁、运行时错误等。2.异步MPI程序的符号执行方法。人们为了开发高效的MPI程序,尽可能使得MPI任务的计算时间和底层MPI库的通信时间重叠,常常通过调用非阻塞接口的方法来实现。然而,本文之前针对阻塞MPI程序提出的方法在面对非阻塞MPI调用的时候,无法直接适用。为了继续保持不确定性和输入空间的双重覆盖,本文扩展了懒惰匹配方法,其主要思想是尽可能地推迟非确定性源接收的匹配时机。另一方面,符号执行的路径空间爆炸问题在分析MPI程序的时候更加突出:在没有采用路径削减技术的情况下,路径数目与程序的进程数、通配接收对应的匹配数、程序的分支数目都呈指数关系。本文提出了一种面向死锁的符号执行引导技术,根据已有路径信息,把引导问题转换成为一个死锁的模型检验问题,根据结果来引导符号执行更快找到死锁。3.MPI缓冲区错误检测。非阻塞MPI调用能够通过重叠部分计算和通信过程,从而能够有效降低通信开销,但是可能带来应用程序和底层MPI库的缓冲区错误。本文基于所提出的MPI程序符号执行方法提出了一种查找输入相关的缓冲区错误的方法,使用一个性质来规约非阻塞通信绑定的缓冲区上发生的事件应该满足的时序,然后在符号执行过程中对每条路径进行检查。同时针对检查方法中需要对大量内存访问指令的解释执行增加检查的问题,提出了两种优化方法,以减少在内存访问指令处的检查数目。此外,本文基于同步以及异步MPI程序的符号执行方法,实现了MPI符号执行平台MPISE。MPISE针对MPI程序的源代码进行分析,能够检测MPI程序的死锁、缓冲区错误与运行时错误,其主要优点有:为MPI程序分析提供输入和通配接收带来的非确定性接收双重覆盖、支持异步调用、不需要修改用户源代码等。在验证的程序规模方面,本文已使用MPISE分析最大多达80 k LOC的MPI程序。
其他文献
一、国际货币体系改革的主要方案和建议  1.创立国际商品储备体系  由于许多发展中国家受初级产品和原材料价格剧烈波动的影响,国际收支状况经常恶化。一些经济学家提出了创立以商品为基础的国际储备货币,以解决初级产品价格波动和国际储备制度不稳定的问题。   主要内容包括:(1)建立一个世界性的中央银行,发行新的国际货币单位,其价值由一个选定的商品篮子来决定,商品篮子由一些基本的国际贸易产品,特别是初级产
甘草(Glycyrrhiza uralensis Fisch.)又名美草、蜜草,为豆科多年生草本植物[1],以根或根茎入药,性平、味甜,有清热解毒、润肺止咳、补脾益气、调和诸药的功效,是常用的大宗药材
可持续农业是中国对世纪国民经济可持续发展的组成部分,其内涵即农业的持续产出应建立在对资源的优化利用、生态系统动态平衡及现代技术体系支持之下。雷州半岛的特殊区位决定
作为一种特殊的数据形态,数据流产生于广泛的应用领域,如传感器监测、移动对象跟踪、网络日志以及股票交易等。在数据流环境中,数据持续不断地快速到达,对这类数据无法存储全
近年来,利用蛙人等小型武器进行近岸袭击和破坏的危害性越来越大,小目标探测成为近岸警戒的主要任务之一。但在复杂的近岸浅海环境下,强噪声、强混响和强杂波的背景使小目标
含沙水流水下二维流场成像测量一直是制约河工模型实验研究的难题,现有基于光学原理的表面流场成像测量和激光CCD二维剖面流场成像测量技术均不适合于含沙水流水下流场的测量
利用计算机模拟人眼的功能准确分割图像中的目标,对于计算机视觉和图像处理至关重要。由于在实际图像中,目标可能受到噪声、遮挡、缺损或背景粘连等因素的影响,仅依赖图像本
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
医学数据挖掘是数据挖掘技术的重要研究方向,多年来始终是计算机科学和医学领域的研究热点。近年来,医学数据挖掘对象正逐渐由临床诊断数据转变到基因芯片数据。目前,许多优