首页> 中国专利> 基于模糊规则推理的并行应用性能脆弱点分析方法及系统

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

摘要

本发明涉及高性能计算机并行系统设计与性能调优技术,特别是涉及一种基于模糊规则推理的并行应用性能脆弱点分析方法及系统。所述分析方法,首先将导致并行程序性能低效的各种情况进行抽象,获得并行程序性能特征模式,构建并行程序性能脆弱点特征模式推理规则库,然后采用基于重放的并行痕迹分析方法进行痕迹文件特征提取,识别需要的特征,生成特征文件;将模糊数学方法引入产生式规则定义和推理中,采用基于模糊方法的匹配机制,自动搜索事件痕迹的特征模式,实现特征模式的匹配和发现,发现和定位并行程序的性能脆弱点,最终为进一步的计算机并行系统性能调优工作提供辅助决策。所述系统主要由推理机模块、知识库、特征提取模块、综合数据库和用户接口模块组成。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-05-07

    授权

    授权

  • 2012-02-08

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20110811

    实质审查的生效

  • 2011-12-21

    公开

    公开

说明书

技术领域

本发明涉及高性能计算机并行系统设计与性能调优技术,特别是涉及一种 基于模糊规则推理的并行应用性能脆弱点分析方法及系统。

背景技术

在并行系统应用中,进程经常需要访问远程进程提供的数据,致使一个进 程的进展依赖于另一个进程的进展,这就可能导致一些进程由于等待其它进程 的数据而不得不处于等待状态,或者因无更多的任务可做而处于空闲状态。在 点到点通信中,发送进程和接收进程的不同步,可能使接收进程提早进入接收 状态,等待发送进程,或者阻塞发送进程提早进入发送状态等待接收进程。集 合同步与此类似,它的完成需要每一个参与的进程都到达一个特定的点,于是 有些进程可能提早进入,不得不等待其它的进程。因此,有相当一部分的通信 和同步时间通常可以归因于等待状态。尤其是将通信密集型应用扩展到大量进 程上时,这样的等待状态将严重影响性能。

目前对并行应用性能的分析大多采用统计方法,但是传统统计方法存在几 个问题:(1)传统统计工作一般是由技术人员根据经验,通过分析并行应用运 行日志等监控数据的方式进行,其效果很大程度上取决于个人经验以及分析人 员的认真程度,因而分析结果不具有科学性、客观性,工作效率也比较低。(2) 常规的并行系统应用性能分析工作由于过于依赖人工判别,因此不可避免的导 致效率低下、误判率高、经验难以继承、可扩张性差等问题。

随着计算模式下的大规模并行系统的应用,需要分析的监控数据会成为海 量数据,而这些海量数据之间可能存在复杂的关系,使用传统统计方法很难对 其数据间的关系进行处理,而计算机人工智能及模糊数学的发展为大规模并行 系统性能的智能分析提供了基础。

发明内容

本发明针对现有技术不足,提出一种基于模糊规则推理的并行应用性能脆 弱点分析方法及系统,能够高效、准确的发现系统性能脆弱点,为后续性能调 优工作提供辅助决策支持。

本发明所采用的技术方案:

一种基于模糊规则推理的并行应用性能脆弱点分析方法,首先将导致并行 程序性能低效的各种情况进行抽象,获得并行程序性能特征模式,构建并行程 序性能脆弱点特征模式推理规则库,然后

1)采用基于重放的并行痕迹分析方法进行痕迹文件特征提取,通过分布式 存储和并行处理技术,在同应用程序实际执行同样多的CPU上重放原始通信, 使得每个进程独立地分析本地痕迹数据,在遍历痕迹数据时,根据每个事件区 域和相关系统资源的重要性,识别需要的特征,生成特征文件;

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_Wait等阻塞接收操作, 如果接收者较早到达,就处于阻塞等待状态,直到它所等待的发送者将消息发 出。这种情形会导致接收进程的低效。如图2所示为迟发送模式示意图。在基 于MPI的并行程序中,对于MPI_Recv、MPI_Wait等阻塞接收操作,如果接收 者较早到达,就处于阻塞等待状态,直到它所等待的发送者将消息发出。这种 情形会导致接收进程的低效。此为迟发送模式。

我们把这种情形抽象为“迟发送”模式。该模式可形式化描述如下:

ROOT

                RECV  r;

INSTANTIATION

                s:=r.sendptr;

                e1:=r.enterptr;

                e2:=r.exitptr;

                e3:=s.enterptr;

CONSTRAINT

            e1.region=MPI_RECV  ∧

            e3.region=MPI_SEND  ∧

            e1.time<e3.time

SEVERITY

e3.time-e1.timee2.time-e1.time

上述模式的实例化从根部开始,它声明该模式对应的必须是一个接收事件, 该事件中有若干指针,其中r.sendptr(s)指向与该接收事件对应的发送事件, r.enterptr(e1)指向本事件的enter事件,s.enterptr(e2)指向对应的发送 事件的enter事件。约束条件要求通信操作是同步的,并且接收操作早于相应 的发送操作。严重性用于计算等待时间占实际通信时间的比例,即该性能下降 模式的严重程度。

2、产生式规则定义

产生式规则具有清晰性、模块性和自然性的特点,容易用它来描述事实、 规则以及它们的不确定性度量。其一般产生式规则形式为:

IF A THEN B(其中A、B表示一定事实)

许多条这样的规则构成了知识库。可以用谓词逻辑表达产生式规则:

IF A THEN B表示为A→B

在一般产生式规则的基础上我们根据实际情况还会使用到合成产生式规则 和层次产生式规则。合成产生式规则即产生式规则的前提或结论部分含“与”、 “或”等关系,如IF A1 and A2 and… and An THEN B等。层次产生式规则是借 助于多层或嵌套式的规则,其形式为:

Rulelayer… Number:IF A1[and A2 and… and An]THEN B

其中,Rulelayer为规则所在层数;Number为同一层规则的规则序号;IF… THEN…为产生式规则,n为自然数。许多条这样的规则构成了知识库。

以迟发送模式为例,构建产生式规则如下:

IF通信方式为点对点(P1)且发送事件和接收事件是一对(P2)且接收事 件到达的时间早于发送事件到达时间(P3)THEN它为迟发送模式(P4)。

使用谓词逻辑表示为:

P1∧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(r1)and A2(r2)and…and An(rn)THEN B(a)

其中,Ai(i=1,2,…,n)为低效行为特征;B为规则的结论,即属于哪种 模式;ri(i=1,2,…,n)为低效行为特征的模糊隶属度阈值;a为规则的可信 度。

具体计算方法如下:

(1)对于条件Ai(i=1,2,…,n),分别计算其存在的置信度ri(0-1),若 其超过阈值,则认为条件Ai成立;否则,不成立。

(2)根据规则定义,计算结论B的可信度β(迟发送例子中,可信度为B的 严重程度),若结论B的可信度β大于规则的可信度阈值a,则结论B成立,且 可信度为β。

(3)重复后续规则推理。将结论B及其置信度β作为更高层规则的条件代入, 从而继续后续规则的推理,直至推理结束。

以迟发送模式的推理为例,产生式推理规则为:

IF通信方式为点对点(P1)且发送事件和接收事件是一对(P2)且接收事 件到达的时间早于发送事件到达时间(P3)THEN它为迟发送模式(P4)。

使用谓词逻辑表示为:

P1∧P2∧P3→P4(严重程度β)

若条件Pi(i=1,2,3)满足时,即其置信度大于设定的阈值,条件成立, 可得到结论B的可信度β为

β=e3.time-e1.timee2.time-e1.time,

当β>a时,结论成立,且结论B的可信度为β。

以此为条件,可以继续对“迟发送、错误顺序”模式进行推理,判定该模 式的存在性。

实施例三:参见图1,本实施例为基于模糊规则推理的并行应用性能脆弱点 分析系统,实现并行应用性能脆弱点分析与发现的辅助决策,其系统构成如图1 所示:系统主要由推理机、知识库、特征提取模块、综合数据库和用户接口模 块等部分组成。

知识库存储用于结论的推理、问题的求解的专家经验的判断性知识,以及 推理、求解过程中的各种控制知识。系统的核心是知识,其性能取决于知识库 中知识的数量、质量及表示方法。知识表示方法决定了知识库的组织结构并直 接影响整个系统的工作效率。

推理机是系统的组织控制机构,控制、协调整个系统,根据输入数据,利 用知识库中的知识规则按一定的策略进行推理,对知识库和综合数据库进行搜 索和查询,准确有效地使用规则,得到相应结论,使问题得到求解,并通过用 户接口向用户提交推理结果。在推理机的作用下,普通用户能够如同领域专家 一样解决具体领域的困难问题。

综合数据库是系统的数据交换中心,规则推理的前提与结果、推理产生的 中问结果、痕迹文件中获取的性能特征数据等都存储在全局数据库中,与推理 机进行交互。

特征提取模块是本方案的关键技术,通过基于重放的并行痕迹分析方法, 从分布存储的痕迹文件中提取特征值,形成知识库中所需要的事实,为规则的 建立提供事实基础,另一方面,将需要分析的并行程序的分布式痕迹文件进行 预处理,提取所需要特征,送入推理机,推理机根据这些特征和相应的规则, 实现推理。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号