导读:本文包含了程序并行化论文开题报告文献综述及选题提纲参考文献,主要关键词:MSVL,PPTL,UMC4MSVL,运行时验证
程序并行化论文文献综述
杨豪[1](2018)在《程序验证的并行化方法研究与实现》一文中研究指出随着计算机技术的迅速发展,人类生活对计算机软件的依赖程度日益加深,在软件功能日益强大的同时,其复杂度和集成度也急剧增高,随之而来,软件漏洞所引发的灾难也频频发生,尤其在一些关键领域,一个软件漏洞就可能造成很严重的后果,因此,软件的安全性和可靠性急需得到保证。程序验证作为一种验证软件系统安全性和可靠性的验证技术,致力于确定一个系统是否正确完成了预设的目标。目前,程序验证已经广泛应用到软件安全相关的分析和验证中,并且取得了很大的成功。UMC4MSVL作为一个代码级运行时验证工具,它使用建模仿真验证语言(Modeling Simulation and Verification Language,MSVL)程序M描述系统,命题投影时序逻辑(Propositional Projection Temporal Logic,PPTL)公式P描述性质,动态执行包含系统和性质信息的程序来验证性质的有效性。该工具对程序中不同分支采用深度优先搜索的思想进行验证,验证完一条分支路径后,再去遍历验证其它分支路径。为了进一步提高程序验证的效率,本文基于多核计算机提供的硬件基础上,引入并行化的程序验证思想,实现UMC4MSVL的并行化验证,同时验证多条分支路径,提高程序验证效率。本文的主要贡献分为以下几点:1.对UMC4MSVL验证器进行研究,包括验证原理、验证方法和工具实现,提出并行化验证的思想;2.设计UMC4MSVL的并行化验证框架并实现。实现多线程模块,将深度优先遍历的过程任务化并提交到任务队列,利用线程池技术同时执行多个任务进而同时验证多个分支路径;解决了并行验证过程中的变量互斥问题;实现了MSVL语句的并行化验证;并特别针对MSVL并行性语句的并行化验证提供了解决方案;3.实现反例路径输出功能,当性质不满足时,可以输出导致性质不成立的执行路径,便于验证人员进行分析;4.通过幻方用例和狼羊菜用例测试了并行化验证的效率,通过一个简单用例和一个复杂用例测试了反例路径输出功能。(本文来源于《西安电子科技大学》期刊2018-06-01)
徐晓岩[2](2017)在《计算流体力学仿真程序并行化方法研究》一文中研究指出计算流体力学(Computational Fluid Dynamics,CFD)采用数值计算方法针对复杂流动问题进行求解以发现各种流动的现象和规律,已经广泛应用在航空、航空、气象等领域。格子Boltzmann方法(Lattice Boltzmann Method,LBM)是CFD求解的典型数值计算方法,拥有天然的数据并行性、边界处理简单、稳定性高等优点,但是随着网格规模的扩大,使用LBM方法进行求解出现了执行时间过长的问题,同时在高性能计算机快速发展的今天,如何使LBM方法能够在高性能集群上有不错的性能,是本领域研究的热点。本文主要对计算流体力学中的LBM方法的并行化方法进行研究,论文通过对LBM方法的分析,包括对LBM计算过程以及可并行化进行分析,结合现有的成熟并行框架,针对LBM求解随着网格规模的增大在单机上串行执行时间过长的问题,提出了基于OpenMP的LBM并行化方法,缩短了 LBM方法在单个机器上的执行时间;针对LBM方法在高性能集群上的扩展问题,通过对计算网格进行划分,利用MPI进行计算通信,提出了基于MPI的LBM并行化方法;针对纯MPI并行方法在集群上出现的通信代价过高、执行效率过低的问题,提出了两种混合编程模型,并根据混合编程模型提出了基于MPI+OpenMP的LBM并行化方法,充分利用了集群的特性,有良好的性能;针对混合编程中存在的OpenMP使用过多导致线程创建和销毁和MPI通信过长导致计算时间变长的问题,提出了改进的基于MPI+OpenMP的LBM并行化方法,经过实验发现改进后的方法降低了运行的时间。(本文来源于《哈尔滨工程大学》期刊2017-12-01)
李鹤飞[3](2017)在《朱衣河水质演变数值模拟并行化程序设计与实现》一文中研究指出在研究河流、海洋等水体环境时多采用数值模拟的方式来模拟水质演变过程。为了保证水质计算结果的准确性,需要选择广阔的计算区域并且研究水体中各种元素之间的关系和受外界条件的影响,因此水体环境中水质演变过程的计算范围大、复杂程度高,数值模拟结果的数据量庞大。而大多数的数值模拟过程是采用串行程序编写的,这就导致在实际应用中对水体环境研究时的计算效率低下,具有一定的局限性,不能满足人们的需求。近几年,高性能计算相关的软硬件技术得到了长足的发展,随着对河流水质研究的日趋重视,并行计算在河流水体环境研究中的应用变得越来越广泛。本文利用基于MPI的并行处理技术,对朱衣河水质演变数值模拟程序进行并行化处理,主要工作如下:(1)通过对串行程序的结构进行详细分析,确定可并行处理部分。(2)将可并行处理部分合理划分若干部分,采用基于MPI的阻塞通信技术对串行程序进行并行化处理。(3)利用基于MPI的非阻塞通信技术对串行程序进行并行化处理,并通过使用自定义数据类型,减少消息传递量和传递次数。(4)对这两种并行模式下的效率和加速比进行可靠的分析,以提升数值模拟的计算性能。实验结果表明:采用基于MPI并行技术对原程序并行化设计后的并行程序能够有效降低运行时间、提高运行效率。与串行模式相比,阻塞模式和非阻塞模式分别可以使计算速度提高2.8倍和3.6倍,两种方式的运行速度、并行效率和加速比都得到了显着提高,但是在非阻塞通信模式下具有更好的加速比和并行效率,程序运行速度更快。因此采用基于MPI的非阻塞通信技术在朱衣河水质演变数值模拟中能够达到更好的实际效果,具有可实施性。(本文来源于《河北工程大学》期刊2017-12-01)
胡传伟[4](2017)在《基于开源热工水力程序的GPU并行化实现与应用》一文中研究指出熔盐堆是使用液态燃料的第四代先进核能系统的堆型,在可持续性、经济性、安全性以及防核扩散四个方面有着很好的评价。熔盐堆使用的熔盐具有独特的传热特性,需要数值传热学和计算流体力学方法对熔盐堆中的物理过程进行计算和分析。计算流体力学使用数值方法对流体流动和热传导等相关物理问题进行状态方程求解,需要大规模的数据计算。借助于传统的CPU并行计算方法已经不能很好的满足计算要求,而通用图形计算技术的迅速发展使得许多传统的CPU并行计算方法转向图形处理器并行计算方法。本论文研究了计算流体力学软件Code_Saturne的GPU并行化及优化,并应用于熔盐堆堆芯物理模型,主要研究内容包括(1)GPU并行计算方法。本文介绍了GPU并行编程方法并以OpenACC编程模型为例说明GPU并行编程的思想。(2)并行性分析。详细介绍了开源计算流体力学软件Code_Saturne的架构及程序运行;分析了Code_Saturne源码中与物理方程求解有关的算法的可并行性,并将其修改为可在GPU上并行计算的程序;研究了稀疏矩阵运算在GPU上的并行求解算法,主要实现预处理共轭梯度算法的GPU并行版本。(3)GPU并行程序准确性验证。通过方腔驱动流模型基准题验算表明,GPU并行加速前后的Code_Saturne的计算结果基本一致,验证了其准确性。(4)优化GPU并行程序。对二次开发程序的加速比进行分析,通过调用GPU扩展函数库、调节数据存储、线程维度等GPU加速方式进行程序的优化。结合通用的GPU并行优化方法,本文实现并优化了开源CFD软件Code_Saturne的稀疏线性求解模块,对GPU并行的熔盐堆设计分析软件开发具有参考价值。(本文来源于《中国科学院研究生院(上海应用物理研究所)》期刊2017-05-01)
谭延丹[5](2017)在《基于并行化和代码片段提取的大型程序迭代编译技术研究》一文中研究指出迭代编译作为一种自适应的程序优化技术,能够针对任何编译器实现和系统环境,获得良好的优化效果,实现代码性能的可移植。但迭代编译的迭代时间长被广为诟病,这使得迭代编译不能够直接应用于大型程序的优化。因此,学术界广泛研究的问题是如何将迭代编译运用于大型程序的优化。课题为了解决如何运用迭代编译的方法优化大型程序的问题,首先验证了迭代编译对于程序的优化效果,分析了将迭代编译直接运用于大型程序的时间消耗,研究了一个迭代编译框架OpenTuner的实现方法。基于前期的分析工作,课题展开了下列研究:首先开展了迭代编译完全并行化的可行性研究。传统实现为了减少迭代编译中运行评估程序时的干扰,迭代过程没有实现完全并行化。课题中提出将迭代编译的运行评估阶段完全并行化,减少迭代编译流程的时间消耗。采用实验量化分析方法,分析将迭代编译完全并行化是否可行。基于开源的迭代编译框架OpenTuner,实现了迭代编译的完全并行化,验证了完全并行化的可行性。然后研究了基于程序热点代码片段提取的迭代编译方法。根据计算机程序的统计特征,程序的大部分运行时间集中在少数代码中。课题采用代码片段提取的方法优化大型程序中的热点代码。探索代码片段提取和封装过程中的难点,并且将封装的代码用于迭代编译,提高热点代码的性能,以达到优化大型程序的目的。针对SPEC CPU2006中的程序,提取和封装其中的热点代码片段,并且用OpenTuner对代码片段进行迭代编译优化,将优化的最终结果用于大型程序相应代码片段的优化。最后对优化效果进行了测试,结果显示大部分程序都获得了良好的加速比。(本文来源于《国防科学技术大学》期刊2017-04-01)
祁美玲,王苍龙,田园[6](2016)在《结构材料辐照损伤的分子动力学程序GPU并行化及优化方法》一文中研究指出分子动力学模拟方法作为研究结构材料初级辐照损伤的重要模拟工具,由于受到计算能力的制约,很难模拟千万乃至数亿量级的原子体系。本文基于NIVIDIA公司的CUDA架构对结构材料辐照损伤的分子动力学程序在单个GPU上进行了并行化,并对影响程序运行效率的相关因素进行了分析和测试。经过一系列优化,相比于单CPU的执行时间,粒子数为两百万时,双精度加速比可达112倍,单精度加速比达到了叁百倍,为后续扩展为大规模多GPU的结构材料辐照损伤的分子动力学程序打下基础。(本文来源于《2016第八届全国计算物理会议报告文集》期刊2016-10-31)
于阳阳[7](2016)在《分子对接软件DOCK中的小球生成程序的并行化实现》一文中研究指出分子对接是指通过计算机模拟小分子配体和大分子受体之间的相互作用。在过去几十年里,世界上各个研究小组开发了数个分子对接软件,其中,Kuntz研究小组开发的DOCK分子对接软件应用最为广泛。生成小球的Sphgen程序是DOCK分子对接软件中很重要的一个步骤,它的计算过程十分耗时,严重地拖延了整个分子对接过程。因此,很有必要通过并行计算的技术来加快Sphgen程序计算,缩短分子对接的时间。Kuntz研究小组已经开发了一个基于Pthreads的并行Sphgen程序,但是这个并行Sphgen程序的加速比很低,在16个CPU参与计算情况下,加速比最多只有8.9,负载不均衡是导致加速比低下的原因。因此,本文首先提出了解决并行Sphgen程序的负载不均衡的叁种方法:去除零原子,非均匀划分法,动态调度。本文通过分析Sphgen程序的计算数据,发现零原子是负载不均衡的一个原因,通过去除零原子,负载不均衡的问题得到了缓解,加速比有所提高;本文又从Sphgen程序的时间复杂度出发,经过理论推导,得出一个新的数据划分方法——非均匀划分法,它从理论上保证了各个CPU分配的计算任务的时间复杂度是相等的。通过这叁种改进方法,在最好的情况下,并行Sphgen程序的加速比增加了5.0。其次,本文开发了基于MPI+OpenMP的并行Sphgen程序。通过MPI实现并行Sphgen程序面临的最大难点是串行的Sphgen程序是用C++编写的,而MPI只能传递简单数据类型,不能传递C++对象,因此,本文这一部分主要解决了MPI不能传递C++对象的问题。本文通过对象序列化机制,开发了能传递C++对象的MPI_Send_Object和MPI_Recv_Object两个函数,扩展了MPI函数库,使C++对象的传递和简单数据类型传递一样简单。最后,本文开发了基于CUDA的并行Sphgen程序。本文对这个叁个版本的并行Sphgen程序进行了比较,基于CUDA的并行Sphgen程序的计算效率最为高效。(本文来源于《兰州大学》期刊2016-06-30)
段红英[8](2015)在《Fortran程序CUDA并行化总结》一文中研究指出虽然Fortran常用来进行科学计算,但是面对计算量大的程序仍然很耗时。通常人们用MPI进行粗粒度的并行来提高程序的运行效率,近年来随着GPU计算能力的提高,将程序进行细粒度GPU并行化成为一种趋势。文章基于NVIDIA公司的CUDA框架,就Fortran程序向CUDA移植过程中的一些问题进行总结,并给出了相应的解决方案。(本文来源于《物联网技术》期刊2015年11期)
沈咸飞[9](2015)在《C程序形状的并行化分析》一文中研究指出C语言作为一门主流的编程语言,在操作系统、编译器、嵌入式软件等领域得到广泛使用,这些领域的软件的安全性问题直接影响整个软件领域的安全。与其他语言相比,C语言具有指针、动态存储分配、无数组越界动态检查等语言特性,导致C程序容易出现空指针脱引用、内存泄漏、缓冲区溢出等诸多内存安全漏洞。目前学术界和工业界都非常关注C程序的安全性问题,并提出了多种可以增强C程序的安全性方法如:程序验证、动态分析、静态分析等。本文工作基于我们实验室研发的一个C程序形状的静态分析工具原型ShapeChecker,它主要用来分析C程序内存方面的错误。本文主要讨论该工具中分析的并行化设计与实现,主要的贡献在于:第一,在ShapeChecker中设计实现了符号执行调度算法。ShapeChecker从函数与路径两个层次上分析程序,需要有相应的调度算法去选择可分析的函数和路径,再由符号执行引擎去分析这些函数和路径。第二,在ShapeChecker中设计实现了函数层次和路径层次上的并行化分析。在ShapeChecker中,函数层次和路径层次是两个可以采用并行化技术的分析层次,在这两个层次上进行并行化,可以提升ShapeChecker的分析性能。第叁,参与实现了ShapeChecker原型系统。原型系统支持对单链表、双链表、树等形状的分析,主要寻找C程序中与内存相关的错误。目前系统可以分析规模在万行左右的C程序,可以找出代码中空指针脱引用、缓冲区溢出、内存泄露等错误。并行化分析技术可以提升分析工具的分析性能,增强工具的可伸缩性,使工具可以分析更大规模的程序。(本文来源于《中国科学技术大学》期刊2015-04-22)
张朋[10](2015)在《多核平台下串行程序的并行化改造》一文中研究指出在人们将CPU的性能一步步推向高点的时候,多核已经取代了单核统治了当下的PC平台。为了充分利用多核平台强劲的计算资源,并让众多经过时间检验的优秀串行程序旧物新用,从而保持软件设计与硬件提升的协调,对串行程序并行化改造的研究显得颇为重要且已较为活跃。本文以串行程序并行化的重点技术-控制依赖和数据依赖的分析为基础,提出一个基于带权集合的串行程序并行化方案,重点研究了控制依赖和数据依赖的分析方法,并以实际工作中一个课题CRAES系统①的并行化改造为依据,对基于带权集合并行化方案加以深入分析和讨论。主要研究内容分为四部分。(1)对串行程序并行化的相关知识(串行程序、并行程序、并行程序设计方案、并行编程模型以及程序控制依赖和数据依赖)进行总结。(2)以CRAES系统的并行化改造为依据,对本文所提方案的需求分析及概要设计进行说明。(3)详细阐述控制依赖分析方法和数据依赖分析方法,并给出改进的算法;从数据分解、任务分解、循环级分解的角度分析了对串行程序的并行化改造可能;描述基于带权集合串行程序并行化方案的算法设计以及具体实现;给出改造后的并行程序的调试和优化方法。(4)简单介绍CRAES系统,以对此算法的分析为基础对其进行了并行化改造,并通过实验对并行化前后运行性能进行比较。(本文来源于《电子科技大学》期刊2015-03-19)
程序并行化论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
计算流体力学(Computational Fluid Dynamics,CFD)采用数值计算方法针对复杂流动问题进行求解以发现各种流动的现象和规律,已经广泛应用在航空、航空、气象等领域。格子Boltzmann方法(Lattice Boltzmann Method,LBM)是CFD求解的典型数值计算方法,拥有天然的数据并行性、边界处理简单、稳定性高等优点,但是随着网格规模的扩大,使用LBM方法进行求解出现了执行时间过长的问题,同时在高性能计算机快速发展的今天,如何使LBM方法能够在高性能集群上有不错的性能,是本领域研究的热点。本文主要对计算流体力学中的LBM方法的并行化方法进行研究,论文通过对LBM方法的分析,包括对LBM计算过程以及可并行化进行分析,结合现有的成熟并行框架,针对LBM求解随着网格规模的增大在单机上串行执行时间过长的问题,提出了基于OpenMP的LBM并行化方法,缩短了 LBM方法在单个机器上的执行时间;针对LBM方法在高性能集群上的扩展问题,通过对计算网格进行划分,利用MPI进行计算通信,提出了基于MPI的LBM并行化方法;针对纯MPI并行方法在集群上出现的通信代价过高、执行效率过低的问题,提出了两种混合编程模型,并根据混合编程模型提出了基于MPI+OpenMP的LBM并行化方法,充分利用了集群的特性,有良好的性能;针对混合编程中存在的OpenMP使用过多导致线程创建和销毁和MPI通信过长导致计算时间变长的问题,提出了改进的基于MPI+OpenMP的LBM并行化方法,经过实验发现改进后的方法降低了运行的时间。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
程序并行化论文参考文献
[1].杨豪.程序验证的并行化方法研究与实现[D].西安电子科技大学.2018
[2].徐晓岩.计算流体力学仿真程序并行化方法研究[D].哈尔滨工程大学.2017
[3].李鹤飞.朱衣河水质演变数值模拟并行化程序设计与实现[D].河北工程大学.2017
[4].胡传伟.基于开源热工水力程序的GPU并行化实现与应用[D].中国科学院研究生院(上海应用物理研究所).2017
[5].谭延丹.基于并行化和代码片段提取的大型程序迭代编译技术研究[D].国防科学技术大学.2017
[6].祁美玲,王苍龙,田园.结构材料辐照损伤的分子动力学程序GPU并行化及优化方法[C].2016第八届全国计算物理会议报告文集.2016
[7].于阳阳.分子对接软件DOCK中的小球生成程序的并行化实现[D].兰州大学.2016
[8].段红英.Fortran程序CUDA并行化总结[J].物联网技术.2015
[9].沈咸飞.C程序形状的并行化分析[D].中国科学技术大学.2015
[10].张朋.多核平台下串行程序的并行化改造[D].电子科技大学.2015