MPICH同步通信程序死锁检测研究

来源 :中国科学院软件研究所 | 被引量 : 0次 | 上传用户:xcswzq
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
MPI是分布式内存并行处理计算机上开发基于消息传递应用系统的事实标准,主要用于并行计算机和集群的高性能运算,MPICH是其重要实现。MPI程序可能发生死锁,而且调试困难,国际上主要采用运行时动态调试方法。但是,这些方法的致命缺陷是发现死锁后,死锁造成的损失已无可挽回;况且,它们无法用于全节点空间上。为解决这些问题,针对MPICH点对点同步通信程序,本文提出了一种静态方法。   根据静态方法程序建模的需要,开发了一种基于JavaCC技术的编译器前端工具,该工具对MPICH程序进行编译产生程序语法树。   提出一种MPICH同步通信程序的建模方法,并设计出一种模型构造器遍历语法树来构造模型。根据程序性质,模型构造器可构造出三种模型:无参数模型,一次参数化模型和二次参数化模型。无参数模型不含任何参数;一次参数化模型含有一个并行节点ID的参数;二次参数化模型含有并行节点ID以及并行节点数量两个参数。构造出一种优化算法将全节点空间上的一次参数化模型转化为无参数模型之后进行死锁判定;对二次参数化模型,采用穷举方法转化为无参数模型后进行死锁判定。   针对非对称条件程序死锁性质的不确定性,提出对称条件假设。根据该假设,无参数模型被转化为循环嵌套模型之后再进行死锁判定。   为提高循环嵌套模型死锁判定效率,提出比例方程组概念。设计出建立并求解比例方程组的线性时空复杂度算法。比例方程组无解有两种情况:比例方程组包含第一类或者第二类比例冲突。提出比例冲突相关的方法,在常数时间内通过分析循环模型中产生冲突的几个循环的循环次数是否满足死锁条件来判断死锁。在比例方程组有解的情况下,给出了一种算法截取该模型的常数个循环片断进行死锁判定。为对循环片断进行死锁判定,开发了一种线性时空复杂度算法将片断顺序化后进行死锁判定。   为进一步提高算法效率,对Java哈希表类库进行了优化,使该库能够完全避免由于存取比例数据而产生的哈希碰撞。   理论证明,实验表明,该方法能够在运行前,最坏情况下以线性时空复杂度,判定点对点MPICH同步通信程序在全节点空间的死锁性质。
其他文献
随着计算能力和通信能力的增强,计算设备所占用的体积也越来越小,各种新形态的传感器、移动设备及无线网络设备日趋普及。这极大地促进了以无线、移动和嵌入式设备为基础的普适
随着人类社会的不断发展,各类视频数据呈现爆发式增长。视频数据在采集上表现出超高清化的趋势,在处理上越来越偏重智能化和多业务融合,这给传统的前端采集原始数据结合云端融合
多表征模型组合仿真是可组合仿真、遗留系统集成的重要研究领域,也是多表征建模与仿真的一项关键技术,无论在理论研究还是实际应用上都有重要意义。本文针对多表征模型组合仿真
本文提出一种基于阴影图[1]预滤波的伪柔和阴影实时绘制算法。   阴影是真实世界中的一种十分普遍的物理现象,它不但可以反映物体自身的形状,而且可以反映空间中物体与物体
语义Web是现有Web的一个语义延伸,目标是使Web的应用具有一定的智能,能够进行更准确的信息搜索和一定的决策支持,帮助用户自动完成一些任务。语义Web的实现需要人工智能、数据库
服务发现协议(Service Discovery Protocol)是支持程序和设备自动发现并访问网络中所需服务的协议,是分布式环境特别是普适环境下进行资源共享、数据集成、流程协作的前提。目
随着安全操作系统面临的安全威胁种类越来越多,最小特权原则的有效实施成为降低系统安全风险的必要安全保障。然而从现有研究的成果来看,还存在一些不足:如对最小特权原则研究的
网络流量分类是多项网络研究工作的前提和基础,一直是网络研究领域的热点问题。近年来,随着互联网技术的发展,新型网络应用不断涌现,给现有的流量分类技术带来了一系列挑战。本文
金融衍生品领域的高效数值模拟计算是当前的研究热点,描述金融衍生品定价的Black-Scholes方程,其参数的改进和数值求解对计算结果与实际结果的拟合,会产生大的影响。本文对Black
随着集成电路的发展速度仍然按照摩尔定律推进,集成电路的功能和复杂性越来越高,对高性能集成电路的测试提出了新的要求。测试和可测试性设计的地位日趋重要。通常测试高性能集