基于模糊规则推理的并行应用性能脆弱点分析方法及系统的制作方法

文档序号:6430652阅读:198来源:国知局
专利名称:基于模糊规则推理的并行应用性能脆弱点分析方法及系统的制作方法
技术领域
本发明涉及高性能计算机并行系统设计与性能调优技术,特别是涉及一种基于模糊规则推理的并行应用性能脆弱点分析方法及系统。
背景技术
在并行系统应用中,进程经常需要访问远程进程提供的数据,致使一个进程的进展依赖于另一个进程的进展,这就可能导致一些进程由于等待其它进程的数据而不得不处于等待状态,或者因无更多的任务可做而处于空闲状态。在点到点通信中,发送进程和接收进程的不同步,可能使接收进程提早进入接收状态,等待发送进程,或者阻塞发送进程提早进入发送状态等待接收进程。集合同步与此类似,它的完成需要每一个参与的进程都到达一个特定的点,于是有些进程可能提早进入,不得不等待其它的进程。因此,有相当一部分的通信和同步时间通常可以归因于等待状态。尤其是将通信密集型应用扩展到大量进程上时,这样的等待状态将严重影响性能。目前对并行应用性能的分析大多采用统计方法,但是传统统计方法存在几个问题(1)传统统计工作一般是由技术人员根据经验,通过分析并行应用运行日志等监控数据的方式进行,其效果很大程度上取决于个人经验以及分析人员的认真程度,因而分析结果不具有科学性、客观性,工作效率也比较低。(2)常规的并行系统应用性能分析工作由于过于依赖人工判别,因此不可避免的导致效率低下、误判率高、经验难以继承、可扩张性差等问题。随着计算模式下的大规模并行系统的应用,需要分析的监控数据会成为海量数据,而这些海量数据之间可能存在复杂的关系,使用传统统计方法很难对其数据间的关系进行处理,而计算机人工智能及模糊数学的发展为大规模并行系统性能的智能分析提供了 ■石出。

发明内容
本发明针对现有技术不足,提出一种基于模糊规则推理的并行应用性能脆弱点分析方法及系统,能够高效、准确的发现系统性能脆弱点,为后续性能调优工作提供辅助决策支持。本发明所采用的技术方案—种基于模糊规则推理的并行应用性能脆弱点分析方法,首先将导致并行程序性能低效的各种情况进行抽象,获得并行程序性能特征模式,构建并行程序性能脆弱点特征模式推理规则库,然后1)采用基于重放的并行痕迹分析方法进行痕迹文件特征提取,通过分布式存储和并行处理技术,在同应用程序实际执行同样多的CPU上重放原始通信,使得每个进程独立地分析本地痕迹数据,在遍历痕迹数据时,根据每个事件区域和相关系统资源的重要性,识别需要的特征,生成特征文件;
5
2)将模糊数学方法引入产生式规则定义和推理中,采用基于模糊方法的匹配机制,自动搜索事件痕迹的特征模式,实现特征模式的匹配和发现,发现和定位并行程序的性能脆弱点,最终为进一步的计算机并行系统性能调优工作提供辅助决策。一种基于模糊规则推理的并行应用性能脆弱点分析系统,主要由推理机模块、知识库、特征提取模块、综合数据库和用户接口模块组成;其中知识库存储用于结论的推理、问题的求解的专家经验的判断性知识,以及推理、求解过程中的各种控制知识;推理机是系统的组织控制机构,控制、协调整个系统,根据输入数据,利用知识库中的知识规则按一定的策略进行推理,对知识库和综合数据库进行搜索和查询,准确有效地使用规则,得到相应结论,使问题得到求解,并通过用户接口模块向用户提交推理结果;综合数据库是专家系统的数据交换中心,规则推理的前提与结果、推理产生的中问结果、痕迹文件中获取的性能特征数据等都存储在全局数据库中,与推理机进行交互;特征提取模块,通过基于重放的并行痕迹分析方法,从分布存储的痕迹文件中提取特征值,形成知识库中所需要的事实,为规则的建立提供事实基础,同时,将需要分析的并行程序的分布式痕迹文件进行预处理,提取所需要特征,送入推理机,推理机根据这些特征和相应的规则,实现推理。本发明的有益积极效果1、本发明基于模糊规则推理的并行应用性能脆弱点分析方法及系统,通过专家系统的设计构建,实现了智能化、高效、准确、可扩展的并行程序性能分析,能够高效、准确的发现系统性能脆弱点,为后续性能调优工作提供辅助决策支持。基于知识库的专家系统,作为一个具有大量专门知识和经验的程序系统,可根据某一领域内的专家知识和经验进行推理和判断,模拟人类专家的决策过程,以解决需要专家专业知识才能解决的复杂问题。专家系统不仅能够很好的保留所有分析工作的经验总结,并被分析人员共享使用,其智能推理机制又能够促进对人工经验的提炼总结,从中获取更深层次的规则。同时专家系统良好的扩充性能够保证随着分析人员经验的增加,其推理的智能性和有效性也随之提升,促进了专家系统整体执行效率的提高。2、本发明针对通信密集型并行系统应用中的低效行为的发现与定位问题,通过抽象提取的方法,得到程序性能脆弱点特征模式,通过基于重放的并行痕迹分析方法进行痕迹文件特征提取。基于正向推理机制,采取“模糊方法的产生式规则推理技术”实现特征模式的匹配和发现,从而发现导致并行系统应用性能出现瓶颈、下降的主要因素,为后续调优策略进行辅助决策。


图1 为本发明基于模糊规则推理的并行应用性能脆弱点分析专家系统组成结构图;图2:迟发送模式示意图;图3 并行痕迹分析流程图;图4 迟发送模式的特征提取示意图。
具体实施例方式实施例一本发明基于模糊规则推理的并行应用性能脆弱点分析方法,首先将导致并行程序性能低效的各种情况进行抽象,获得并行程序性能特征模式,构建并行程序性能脆弱点特征模式推理规则库,然后1)采用基于重放的并行痕迹分析方法进行痕迹文件特征提取,通过分布式存储和并行处理技术,在同应用程序实际执行同样多的CPU上重放原始通信,使得每个进程独立地分析本地痕迹数据,在遍历痕迹数据时,根据每个事件区域和相关系统资源的重要性,识别需要的特征,生成特征文件;2)将模糊数学方法引入产生式规则定义和推理中,采用基于模糊方法的匹配机制,自动搜索事件痕迹的特征模式,实现特征模式的匹配和发现,发现和定位并行程序的性能脆弱点,最终为进一步的计算机并行系统性能调优工作提供辅助决策。实施例二 本实施例结合图1 图4,进一步说明本发明基于模糊规则推理的并行应用性能脆弱点分析方法的具体实施方式
。所述分析方法包括1、模式定义为了更好地描述性能脆弱点,将影响程序执行性能的各种执行行为抽象出来,形成性能模式,为规则的定义建立基础。(1)抽象机制复合事件是痕迹文件中的一个事件集,它满足与特定性能问题有关的条件。虽然事件的类型不尽相同,每种事件有不同的属性,但是每个事件都至少提供一个时间属性和一个表示引发它发生的控制流的位置属性。这种程序执行的表示方法称为“基本事件模型”。基本事件模型仅能对事件顺序存取,有很大的局限性。通过增加状态序列和指针属性, 可将其扩充为增强事件模型。增强事件模型提供一种抽象机制,更容易描述表示低效行为的复合事件,并能够以事件位置为参考随机访问事件。状态序列将事件映射到一个事件集,这个事件集代表了事件发生时并行系统的执行状态。这就允许用执行状态来描述复合事件。一个事件通过移除元素或/和添加元素到集合中引起一个状态改变,从而修改代表部件状态的事件集。因此,对每一个部件的状态, 一个事件痕迹定义一个状态序列。这个初始状态总是一个空集。转移规则定义了一个事件怎样使一个状态转变成它的后续状态。例如,为每一对处理器保持一个消息序列。这个初始序列是空的。每当发送事件发生时,就将它添加进队列,并且每当接收事件发生时,就将相应的发送事件移除队列。其它状态序列可以描述MPI集合通信,OpenMP并行操作,和锁同步,区域栈,还有调用树等。指针属性连接两个相互对应的事件,所以它可以沿对应事件的路径定义复合事件。指针属性被添加到基本模型已定义的属性中,并且具有对应事件的位置值。如从一个消息接收事件到对应的消息发送事件的属性指针。访问过接收事件后,它很容易访问对应的发送事件,因为发送事件的位置被保存在接收事件的一个属性中。另外还有其它指针属性描述不同类型的通信,比如,获得和释放锁,进入和离开一个区域。(2)模式定义将复合事件进行抽象后,通常可以对其进行形式化定义。每个模式的形式化定义一般由4部分构成。(a)根声明。(b)实例化部分。(c)约束。(d) —个精确的表达式。
如在基于MPI的并行程序中,对于MPI_Recv、MPI_ffait等阻塞接收操作,如果接 收者较早到达,就处于阻塞等待状态,直到它所等待的发送者将消息发出。这种情形会导致 接收进程的低效。如图2所示为迟发送模式示意图。在基于MPI的并行程序中,对于MPI_ Recv, MPI_ffait等阻塞接收操作,如果接收者较早到达,就处于阻塞等待状态,直到它所等 待的发送者将消息发出。这种情形会导致接收进程的低效。此为迟发送模式。我们把这种情形抽象为“迟发送”模式。该模式可形式化描述如下ROOTRECV r ;INSTANTIATIONs: = r. sendptr ;
e2: = r. exitptr ;
THEN B其中,Rulelayer为规则所在层数;Number为同一层规则的规则序号;IF"'THEN… 为产生式规则,n为自然数。许多条这样的规则构成了知识库。以迟发送模式为例,构建产生式规则如下
IF通信方式为点对点(Pl)且发送事件和接收事件是一对(P》且接收事件到达的时间早于发送事件到达时间(P3) THEN它为迟发送模式(P4)。使用谓词逻辑表示为Pl Λ P2 Λ P3 —P4(严重程度)3、分布式并行特征提取技术为了在大规模的痕迹文件中分析发现复杂的低效行为模式,关键任务是对痕迹文件的特征提取,本系统采用基于重放的并行痕迹分析方法,如图3所示。该方法扩展了顺序痕迹分析方法,通过分布式存储和并行处理技术,在同应用程序实际执行同样多的CPU上重放原始通信,使得每个进程独立地分析本地痕迹数据,而不像顺序痕迹分析方法需要顺序地分析单一的全局痕迹数据。随着痕迹事件规模的扩大,并行痕迹分析方法可以适应大规模搜索,快速随机获取某个事件及上下文通信。在遍历痕迹数据时,根据每个事件区域和相关系统资源的重要性,识别需要的特征,生成特征文件。如图3所示为并行痕迹分析流程图对于目标应用的每个进程,创建一个分析进程来分析它的本地痕迹文件,分析进程间的数据交换可通过MPI通信完成。在开始痕迹分析之前,先将痕迹数据装入内存,使用标识映射表将本地标识符转换为全局标识符,以确保创建的事件实例指向正确的对象。由并行特征分析器从痕迹文件中进行分析,提取其中特征值。在痕迹分析期间,保持整个事件痕迹驻留在主存中,可以透明执行到单个事件的随机存取。统一每个进程可能使用不同的本地标识符来标识同一个对象。为在分析过程中建立一个全局视图,必须建立一个从本地到全局标识的映射表,此过程被称为统一。合并每个并行分析进程只分析本地痕迹文件,因此当分析完成时,需要将本地分析结果合并到整体特征文件中。对于目标应用的每个进程,创建一个分析进程来分析它的痕迹文件,分析进程间的数据交换可通过MPI通信完成。在开始痕迹分析之前,先将痕迹数据装入内存,使用映射表将本地标识符转换为全局标识符,以确保创建的事件实例指向正确的对象。在痕迹分析期间,保持整个事件痕迹驻留在主存中,可以透明执行到单个事件的随机存取。考虑上述点对点通信的迟发送模式的并行重放特征提取的实例。如图4所示为迟发送模式的特征提取示意图。检测由两边(发送和接收事件)的通信事件触发。每当分析进程发现一个发送事件,就创建一个包含该事件的消息及相关的enter事件(enter事件用指针属性enterptr定位),然后使用点对点消息的方式将这个消息发送到接收者进程。当目标进程到达接收事件时,接收上面提到的包含远程成分的消息。同本地的有效成分(接收和进入事件)一起,获取两个enter事件的时戳,计算等待发送者所花费的时间,并计算等待时间与通信时间的比例,为后续性能脆弱点定位和判断提供事实依据。在这个并行重放中,检测由两边(发送和接收事件)的通信事件触发。每当分析进程发现一个发送事件,就创建一个包含该事件的消息及相关的enter事件(enter事件用指针属性enterptr定位),然后使用点对点消息的方式将这个消息发送到接收者进程。当目标进程到达接收事件时,接收上面提到的包含远程成分的消息。同本地的有效成分(接收和进入事件)一起,获取两个enter事件的时戳,计算等待发送者所花费的时间,并计算等待时间与通信时间的比例,为后续性能脆弱点定位和判断提供事实依据。
4、基于模糊方法的规则推理本方案的推理机制采用正向推理策略,也就是由现象根据规则推出结论的方法, 根据用户提供的特征数据,在知识库中搜索LHS部分与其相匹配的规则,然后推出规则的 RHS部分,从而得到一个结论。如果该结论仍然作为知识库中某个规则的LHS的组成部分, 则表明此次推理过程并未结束,需要按照上述正向推理策略,继续进行推理,直到所得结论无法应用任何规则的LHS部分为止。至此,推理过程结束,所得结论即对应于某个模式的存在。推理的实质,是对知识库中规则的LHS部分进行的模式匹配,而规则的LHS部分通常是由多个事实通过布尔运算连接而成。由于很多低效行为会表现出多种不同的特征,其与本质特征之间具有一定的模糊性,上述的确定性规则在应用到推理过程中就有可能会出现难以接受的结论。因此我们将模糊数学方法引入产生式规则定义和推理中,很好地解决了多种不同特征共同作用于某种低效行为方式。基于模糊方法的产生式规则定义如下IF A1(A) and A2 (r2) and—and An (rn) THEN B (a)其中,AiG = 1,2,···,η)为低效行为特征;B为规则的结论,即属于哪种模式;ri(i =1,2,…,η)为低效行为特征的模糊隶属度阈值;a为规则的可信度。具体计算方法如下(1)对于条件&(1 = 1,2,…,η),分别计算其存在的置信度巧(0-1),若其超过阈值,则认为条件Ai成立;否则,不成立。(2)根据规则定义,计算结论B的可信度β (迟发送例子中,可信度为B的严重程度),若结论B的可信度β大于规则的可信度阈值a,则结论B成立,且可信度为β。(3)重复后续规则推理。将结论B及其置信度β作为更高层规则的条件代入,从而继续后续规则的推理,直至推理结束。以迟发送模式的推理为例,产生式推理规则为IF通信方式为点对点(Pl)且发送事件和接收事件是一对(P》且接收事件到达的时间早于发送事件到达时间(Ρ3) THEN它为迟发送模式(P4)。使用谓词逻辑表示为Pl Λ P2 Λ P3 — P4 (严重程度 β )若条件Pi (i = 1,2,3)满足时,即其置信度大于设定的阈值,条件成立,可得到结
论B的可信度β为
^ e、.time - e, .timeβ = ^―-~,
e 2 .time - ex .time当β > a时,结论成立,且结论B的可信度为β。以此为条件,可以继续对“迟发送、错误顺序”模式进行推理,判定该模式的存在性。实施例三参见图1,本实施例为基于模糊规则推理的并行应用性能脆弱点分析系统,实现并行应用性能脆弱点分析与发现的辅助决策,其系统构成如图1所示系统主要由推理机、知识库、特征提取模块、综合数据库和用户接口模块等部分组成。知识库存储用于结论的推理、问题的求解的专家经验的判断性知识,以及推理、求解过程中的各种控制知识。系统的核心是知识,其性能取决于知识库中知识的数量、质量及表示方法。知识表示方法决定了知识库的组织结构并直接影响整个系统的工作效率。推理机是系统的组织控制机构,控制、协调整个系统,根据输入数据,利用知识库中的知识规则按一定的策略进行推理,对知识库和综合数据库进行搜索和查询,准确有效地使用规则,得到相应结论,使问题得到求解,并通过用户接口向用户提交推理结果。在推理机的作用下,普通用户能够如同领域专家一样解决具体领域的困难问题。综合数据库是系统的数据交换中心,规则推理的前提与结果、推理产生的中问结果、痕迹文件中获取的性能特征数据等都存储在全局数据库中,与推理机进行交互。特征提取模块是本方案的关键技术,通过基于重放的并行痕迹分析方法,从分布存储的痕迹文件中提取特征值,形成知识库中所需要的事实,为规则的建立提供事实基础, 另一方面,将需要分析的并行程序的分布式痕迹文件进行预处理,提取所需要特征,送入推理机,推理机根据这些特征和相应的规则,实现推理。
权利要求
1.一种基于模糊规则推理的并行应用性能脆弱点分析方法,首先将导致并行程序性能低效的各种情况进行抽象,获得并行程序性能特征模式,构建并行程序性能脆弱点特征模式推理规则库,然后1)采用基于重放的并行痕迹分析方法进行痕迹文件特征提取,通过分布式存储和并行处理技术,在同应用程序实际执行同样多的CPU上重放原始通信,使得每个进程独立地分析本地痕迹数据,在遍历痕迹数据时,根据每个事件区域和相关系统资源的重要性,识别需要的特征,生成特征文件;2)将模糊数学方法引入产生式规则定义和推理中,采用基于模糊方法的匹配机制,自动搜索事件痕迹的特征模式,实现特征模式的匹配和发现,发现和定位并行程序的性能脆弱点,最终为进一步的计算机并行系统性能调优工作提供辅助决策。
2.根据权利要求1所述的基于模糊规则推理的并行应用性能脆弱点分析方法,其特征是为了更好地描述性能脆弱点,将影响程序执行性能的各种执行行为抽象出来,形成性能模式,为规则的定义建立基础;1)复合事件是痕迹文件中的一个事件集,它满足与特定性能问题有关的条件,每个事件都至少提供一个时间属性和一个表示引发它发生的控制流的位置属性,通过增加状态序列和指针属性,可将其扩充为增强事件模型;状态序列将事件映射到一个事件集,这个事件集代表了事件发生时并行系统的执行状态,用执行状态来描述复合事件,一个事件通过移除元素或/和添加元素到集合中引起一个状态改变,从而修改代表部件状态的事件集;指针属性连接两个相互对应的事件,通过指针属性沿对应事件的路径定义复合事件; 指针属性被添加到基本模型已定义的属性中,并且具有对应事件的位置值;2)将复合事件进行抽象后,以对其进行形式化定义;每个模式的形式化定义一般由4 部分构成(a)根声明,(b)实例化部分,(c)约束,(d) 一个精确的表达式。
3.根据权利要求1或2所述的基于模糊规则推理的并行应用性能脆弱点分析方法,其特征是用谓词逻辑表达产生式规则IF A THEN B表示为A — B,其中A、B表示一定事实,在该产生式规则的基础上,定义合成产生式规则和层次产生式规则,合成产生式规则即产生式规则的前提或结论部分含“与”、“或”关系;层次产生式规则是借助于多层或嵌套式的规则,其形式为Rulelayer Number :IF A1 [and A2 and and Aj THEN B其中,Rulelayer为规则所在层数;Number为同一层规则的规则序号;IF*"THEN···为产生式规则;许多条这样的规则构成了知识库。
4.根据权利要求3所述的基于模糊规则推理的并行应用性能脆弱点分析方法,其特征是采用基于重放的并行痕迹分析方法分析全局痕迹数据,随着痕迹事件规模的扩大,并行痕迹分析方法可以适应大规模搜索,快速随机获取某个事件及上下文通信,其过程包括统一每个进程使用不同的本地标识符来标识同一个对象,为在分析过程中建立一个全局视图,建立一个从本地到全局标识的映射表,此过程被称为统一;合并每个并行分析进程只分析本地痕迹文件,当分析完成时,将本地分析结果合并到整体特征文件中;对于目标应用的每个进程,创建一个分析进程来分析它的痕迹文件,分析进程间的数据交换可通过MPI通信完成;在开始痕迹分析之前,先将痕迹数据装入内存,使用映射表将本地标识符转换为全局标识符,以确保创建的事件实例指向正确的对象;在痕迹分析期间, 保持整个事件痕迹驻留在主存中,以透明执行到单个事件的随机存取;在这个并行重放中,检测由发送和接收事件的通信事件触发;每当分析进程发现一个发送事件,就创建一个包含该事件的消息及相关的enter事件,然后使用点对点消息的方式将这个消息发送到接收者进程,当目标进程到达接收事件时,接收上面提到的包含远程成分的消息;然后同本地的接收和进入事件一起,获取两个enter事件的时戳,计算等待发送者所花费的时间,并计算等待时间与通信时间的比例,为后续性能脆弱点定位和判断提供事实依据。
5.根据权利要求4所述的基于模糊规则推理的并行应用性能脆弱点分析方法,其特征是基于模糊方法的规则推理过程如下推理机制采用正向推理策略,也就是由现象根据规则推出结论的方法,根据用户提供的特征数据,在知识库中搜索LHS部分与其相匹配的规则,然后推出规则的RHS部分,从而得到一个结论;如果该结论仍然作为知识库中某个规则的LHS的组成部分,则表明此次推理过程并未结束,需要按照上述正向推理策略,继续进行推理,直到所得结论无法应用任何规则的LHS部分为止;至此,推理过程结束,所得结论即对应于某个模式的存在; 基于模糊方法的产生式规则定义如下 IF A1 (rx) and A2 (r2) and—and An (rn) THEN B (a)其中,Ai(i=l,2, ,n)为低效行为特征;B为规则的结论,即属于哪种模式;ri(i=l,2, ,η)为低效行为特征的模糊隶属度阈值;a为规则的可信度; 具体计算方法如下(1)对于条件&(1=1,2,,η),分别计算其存在的置信度A (0-1),若其超过阈值,则认为条件Ai成立;否则,不成立;(2)根据规则定义,计算结论B的可信度β,若结论B的可信度β大于规则的可信度阈值a,则结论B成立,且可信度为β ;(3)重复后续规则推理,将结论B及其置信度β作为更高层规则的条件代入,从而继续后续规则的推理,直至推理结束。
6.一种基于模糊规则推理的并行应用性能脆弱点分析系统,其特征是主要由推理机模块、知识库、特征提取模块、综合数据库和用户接口模块组成;其中知识库存储用于结论的推理、问题的求解的专家经验的判断性知识,以及推理、求解过程中的各种控制知识;推理机是系统的组织控制机构,控制、协调整个系统,根据输入数据,利用知识库中的知识规则按一定的策略进行推理,对知识库和综合数据库进行搜索和查询,准确有效地使用规则,得到相应结论,使问题得到求解,并通过用户接口模块向用户提交推理结果;综合数据库是专家系统的数据交换中心,规则推理的前提与结果、推理产生的中问结果、痕迹文件中获取的性能特征数据等都存储在全局数据库中,与推理机进行交互;特征提取模块,通过基于重放的并行痕迹分析方法,从分布存储的痕迹文件中提取特征值,形成知识库中所需要的事实,为规则的建立提供事实基础,同时,将需要分析的并行程序的分布式痕迹文件进行预处理,提取所需要特征,送入推理机,推理机根据这些特征和相应的规则,实现推理。
全文摘要
本发明涉及高性能计算机并行系统设计与性能调优技术,特别是涉及一种基于模糊规则推理的并行应用性能脆弱点分析方法及系统。所述分析方法,首先将导致并行程序性能低效的各种情况进行抽象,获得并行程序性能特征模式,构建并行程序性能脆弱点特征模式推理规则库,然后采用基于重放的并行痕迹分析方法进行痕迹文件特征提取,识别需要的特征,生成特征文件;将模糊数学方法引入产生式规则定义和推理中,采用基于模糊方法的匹配机制,自动搜索事件痕迹的特征模式,实现特征模式的匹配和发现,发现和定位并行程序的性能脆弱点,最终为进一步的计算机并行系统性能调优工作提供辅助决策。所述系统主要由推理机模块、知识库、特征提取模块、综合数据库和用户接口模块组成。
文档编号G06F17/30GK102289491SQ20111022979
公开日2011年12月21日 申请日期2011年8月11日 优先权日2011年8月11日
发明者于磊, 侯雪梅, 徐冰, 李志博, 杜祝平 申请人:上海红神信息技术有限公司, 中国人民解放军信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1