專利名稱:基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高性能計(jì)算機(jī)并行系統(tǒng)設(shè)計(jì)與性能調(diào)優(yōu)技術(shù),特別是涉及一種基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法及系統(tǒng)。
背景技術(shù):
在并行系統(tǒng)應(yīng)用中,進(jìn)程經(jīng)常需要訪問(wèn)遠(yuǎn)程進(jìn)程提供的數(shù)據(jù),致使一個(gè)進(jìn)程的進(jìn)展依賴于另一個(gè)進(jìn)程的進(jìn)展,這就可能導(dǎo)致一些進(jìn)程由于等待其它進(jìn)程的數(shù)據(jù)而不得不處于等待狀態(tài),或者因無(wú)更多的任務(wù)可做而處于空閑狀態(tài)。在點(diǎn)到點(diǎn)通信中,發(fā)送進(jìn)程和接收進(jìn)程的不同步,可能使接收進(jìn)程提早進(jìn)入接收狀態(tài),等待發(fā)送進(jìn)程,或者阻塞發(fā)送進(jìn)程提早進(jìn)入發(fā)送狀態(tài)等待接收進(jìn)程。集合同步與此類似,它的完成需要每一個(gè)參與的進(jìn)程都到達(dá)一個(gè)特定的點(diǎn),于是有些進(jìn)程可能提早進(jìn)入,不得不等待其它的進(jìn)程。因此,有相當(dāng)一部分的通信和同步時(shí)間通常可以歸因于等待狀態(tài)。尤其是將通信密集型應(yīng)用擴(kuò)展到大量進(jìn)程上時(shí),這樣的等待狀態(tài)將嚴(yán)重影響性能。目前對(duì)并行應(yīng)用性能的分析大多采用統(tǒng)計(jì)方法,但是傳統(tǒng)統(tǒng)計(jì)方法存在幾個(gè)問(wèn)題(1)傳統(tǒng)統(tǒng)計(jì)工作一般是由技術(shù)人員根據(jù)經(jīng)驗(yàn),通過(guò)分析并行應(yīng)用運(yùn)行日志等監(jiān)控?cái)?shù)據(jù)的方式進(jìn)行,其效果很大程度上取決于個(gè)人經(jīng)驗(yàn)以及分析人員的認(rèn)真程度,因而分析結(jié)果不具有科學(xué)性、客觀性,工作效率也比較低。(2)常規(guī)的并行系統(tǒng)應(yīng)用性能分析工作由于過(guò)于依賴人工判別,因此不可避免的導(dǎo)致效率低下、誤判率高、經(jīng)驗(yàn)難以繼承、可擴(kuò)張性差等問(wèn)題。隨著計(jì)算模式下的大規(guī)模并行系統(tǒng)的應(yīng)用,需要分析的監(jiān)控?cái)?shù)據(jù)會(huì)成為海量數(shù)據(jù),而這些海量數(shù)據(jù)之間可能存在復(fù)雜的關(guān)系,使用傳統(tǒng)統(tǒng)計(jì)方法很難對(duì)其數(shù)據(jù)間的關(guān)系進(jìn)行處理,而計(jì)算機(jī)人工智能及模糊數(shù)學(xué)的發(fā)展為大規(guī)模并行系統(tǒng)性能的智能分析提供了 ■石出。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)不足,提出一種基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法及系統(tǒng),能夠高效、準(zhǔn)確的發(fā)現(xiàn)系統(tǒng)性能脆弱點(diǎn),為后續(xù)性能調(diào)優(yōu)工作提供輔助決策支持。本發(fā)明所采用的技術(shù)方案—種基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法,首先將導(dǎo)致并行程序性能低效的各種情況進(jìn)行抽象,獲得并行程序性能特征模式,構(gòu)建并行程序性能脆弱點(diǎn)特征模式推理規(guī)則庫(kù),然后1)采用基于重放的并行痕跡分析方法進(jìn)行痕跡文件特征提取,通過(guò)分布式存儲(chǔ)和并行處理技術(shù),在同應(yīng)用程序?qū)嶋H執(zhí)行同樣多的CPU上重放原始通信,使得每個(gè)進(jìn)程獨(dú)立地分析本地痕跡數(shù)據(jù),在遍歷痕跡數(shù)據(jù)時(shí),根據(jù)每個(gè)事件區(qū)域和相關(guān)系統(tǒng)資源的重要性,識(shí)別需要的特征,生成特征文件;
5
2)將模糊數(shù)學(xué)方法引入產(chǎn)生式規(guī)則定義和推理中,采用基于模糊方法的匹配機(jī)制,自動(dòng)搜索事件痕跡的特征模式,實(shí)現(xiàn)特征模式的匹配和發(fā)現(xiàn),發(fā)現(xiàn)和定位并行程序的性能脆弱點(diǎn),最終為進(jìn)一步的計(jì)算機(jī)并行系統(tǒng)性能調(diào)優(yōu)工作提供輔助決策。一種基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析系統(tǒng),主要由推理機(jī)模塊、知識(shí)庫(kù)、特征提取模塊、綜合數(shù)據(jù)庫(kù)和用戶接口模塊組成;其中知識(shí)庫(kù)存儲(chǔ)用于結(jié)論的推理、問(wèn)題的求解的專家經(jīng)驗(yàn)的判斷性知識(shí),以及推理、求解過(guò)程中的各種控制知識(shí);推理機(jī)是系統(tǒng)的組織控制機(jī)構(gòu),控制、協(xié)調(diào)整個(gè)系統(tǒng),根據(jù)輸入數(shù)據(jù),利用知識(shí)庫(kù)中的知識(shí)規(guī)則按一定的策略進(jìn)行推理,對(duì)知識(shí)庫(kù)和綜合數(shù)據(jù)庫(kù)進(jìn)行搜索和查詢,準(zhǔn)確有效地使用規(guī)則,得到相應(yīng)結(jié)論,使問(wèn)題得到求解,并通過(guò)用戶接口模塊向用戶提交推理結(jié)果;綜合數(shù)據(jù)庫(kù)是專家系統(tǒng)的數(shù)據(jù)交換中心,規(guī)則推理的前提與結(jié)果、推理產(chǎn)生的中問(wèn)結(jié)果、痕跡文件中獲取的性能特征數(shù)據(jù)等都存儲(chǔ)在全局?jǐn)?shù)據(jù)庫(kù)中,與推理機(jī)進(jìn)行交互;特征提取模塊,通過(guò)基于重放的并行痕跡分析方法,從分布存儲(chǔ)的痕跡文件中提取特征值,形成知識(shí)庫(kù)中所需要的事實(shí),為規(guī)則的建立提供事實(shí)基礎(chǔ),同時(shí),將需要分析的并行程序的分布式痕跡文件進(jìn)行預(yù)處理,提取所需要特征,送入推理機(jī),推理機(jī)根據(jù)這些特征和相應(yīng)的規(guī)則,實(shí)現(xiàn)推理。本發(fā)明的有益積極效果1、本發(fā)明基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法及系統(tǒng),通過(guò)專家系統(tǒng)的設(shè)計(jì)構(gòu)建,實(shí)現(xiàn)了智能化、高效、準(zhǔn)確、可擴(kuò)展的并行程序性能分析,能夠高效、準(zhǔn)確的發(fā)現(xiàn)系統(tǒng)性能脆弱點(diǎn),為后續(xù)性能調(diào)優(yōu)工作提供輔助決策支持?;谥R(shí)庫(kù)的專家系統(tǒng),作為一個(gè)具有大量專門知識(shí)和經(jīng)驗(yàn)的程序系統(tǒng),可根據(jù)某一領(lǐng)域內(nèi)的專家知識(shí)和經(jīng)驗(yàn)進(jìn)行推理和判斷,模擬人類專家的決策過(guò)程,以解決需要專家專業(yè)知識(shí)才能解決的復(fù)雜問(wèn)題。專家系統(tǒng)不僅能夠很好的保留所有分析工作的經(jīng)驗(yàn)總結(jié),并被分析人員共享使用,其智能推理機(jī)制又能夠促進(jìn)對(duì)人工經(jīng)驗(yàn)的提煉總結(jié),從中獲取更深層次的規(guī)則。同時(shí)專家系統(tǒng)良好的擴(kuò)充性能夠保證隨著分析人員經(jīng)驗(yàn)的增加,其推理的智能性和有效性也隨之提升,促進(jìn)了專家系統(tǒng)整體執(zhí)行效率的提高。2、本發(fā)明針對(duì)通信密集型并行系統(tǒng)應(yīng)用中的低效行為的發(fā)現(xiàn)與定位問(wèn)題,通過(guò)抽象提取的方法,得到程序性能脆弱點(diǎn)特征模式,通過(guò)基于重放的并行痕跡分析方法進(jìn)行痕跡文件特征提取?;谡蛲评頇C(jī)制,采取“模糊方法的產(chǎn)生式規(guī)則推理技術(shù)”實(shí)現(xiàn)特征模式的匹配和發(fā)現(xiàn),從而發(fā)現(xiàn)導(dǎo)致并行系統(tǒng)應(yīng)用性能出現(xiàn)瓶頸、下降的主要因素,為后續(xù)調(diào)優(yōu)策略進(jìn)行輔助決策。
圖1 為本發(fā)明基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析專家系統(tǒng)組成結(jié)構(gòu)圖;圖2:遲發(fā)送模式示意圖;圖3 并行痕跡分析流程圖;圖4 遲發(fā)送模式的特征提取示意圖。
具體實(shí)施例方式實(shí)施例一本發(fā)明基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法,首先將導(dǎo)致并行程序性能低效的各種情況進(jìn)行抽象,獲得并行程序性能特征模式,構(gòu)建并行程序性能脆弱點(diǎn)特征模式推理規(guī)則庫(kù),然后1)采用基于重放的并行痕跡分析方法進(jìn)行痕跡文件特征提取,通過(guò)分布式存儲(chǔ)和并行處理技術(shù),在同應(yīng)用程序?qū)嶋H執(zhí)行同樣多的CPU上重放原始通信,使得每個(gè)進(jìn)程獨(dú)立地分析本地痕跡數(shù)據(jù),在遍歷痕跡數(shù)據(jù)時(shí),根據(jù)每個(gè)事件區(qū)域和相關(guān)系統(tǒng)資源的重要性,識(shí)別需要的特征,生成特征文件;2)將模糊數(shù)學(xué)方法引入產(chǎn)生式規(guī)則定義和推理中,采用基于模糊方法的匹配機(jī)制,自動(dòng)搜索事件痕跡的特征模式,實(shí)現(xiàn)特征模式的匹配和發(fā)現(xiàn),發(fā)現(xiàn)和定位并行程序的性能脆弱點(diǎn),最終為進(jìn)一步的計(jì)算機(jī)并行系統(tǒng)性能調(diào)優(yōu)工作提供輔助決策。實(shí)施例二 本實(shí)施例結(jié)合圖1 圖4,進(jìn)一步說(shuō)明本發(fā)明基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法的具體實(shí)施方式
。所述分析方法包括1、模式定義為了更好地描述性能脆弱點(diǎn),將影響程序執(zhí)行性能的各種執(zhí)行行為抽象出來(lái),形成性能模式,為規(guī)則的定義建立基礎(chǔ)。(1)抽象機(jī)制復(fù)合事件是痕跡文件中的一個(gè)事件集,它滿足與特定性能問(wèn)題有關(guān)的條件。雖然事件的類型不盡相同,每種事件有不同的屬性,但是每個(gè)事件都至少提供一個(gè)時(shí)間屬性和一個(gè)表示引發(fā)它發(fā)生的控制流的位置屬性。這種程序執(zhí)行的表示方法稱為“基本事件模型”?;臼录P蛢H能對(duì)事件順序存取,有很大的局限性。通過(guò)增加狀態(tài)序列和指針屬性, 可將其擴(kuò)充為增強(qiáng)事件模型。增強(qiáng)事件模型提供一種抽象機(jī)制,更容易描述表示低效行為的復(fù)合事件,并能夠以事件位置為參考隨機(jī)訪問(wèn)事件。狀態(tài)序列將事件映射到一個(gè)事件集,這個(gè)事件集代表了事件發(fā)生時(shí)并行系統(tǒng)的執(zhí)行狀態(tài)。這就允許用執(zhí)行狀態(tài)來(lái)描述復(fù)合事件。一個(gè)事件通過(guò)移除元素或/和添加元素到集合中引起一個(gè)狀態(tài)改變,從而修改代表部件狀態(tài)的事件集。因此,對(duì)每一個(gè)部件的狀態(tài), 一個(gè)事件痕跡定義一個(gè)狀態(tài)序列。這個(gè)初始狀態(tài)總是一個(gè)空集。轉(zhuǎn)移規(guī)則定義了一個(gè)事件怎樣使一個(gè)狀態(tài)轉(zhuǎn)變成它的后續(xù)狀態(tài)。例如,為每一對(duì)處理器保持一個(gè)消息序列。這個(gè)初始序列是空的。每當(dāng)發(fā)送事件發(fā)生時(shí),就將它添加進(jìn)隊(duì)列,并且每當(dāng)接收事件發(fā)生時(shí),就將相應(yīng)的發(fā)送事件移除隊(duì)列。其它狀態(tài)序列可以描述MPI集合通信,OpenMP并行操作,和鎖同步,區(qū)域棧,還有調(diào)用樹(shù)等。指針屬性連接兩個(gè)相互對(duì)應(yīng)的事件,所以它可以沿對(duì)應(yīng)事件的路徑定義復(fù)合事件。指針屬性被添加到基本模型已定義的屬性中,并且具有對(duì)應(yīng)事件的位置值。如從一個(gè)消息接收事件到對(duì)應(yīng)的消息發(fā)送事件的屬性指針。訪問(wèn)過(guò)接收事件后,它很容易訪問(wèn)對(duì)應(yīng)的發(fā)送事件,因?yàn)榘l(fā)送事件的位置被保存在接收事件的一個(gè)屬性中。另外還有其它指針屬性描述不同類型的通信,比如,獲得和釋放鎖,進(jìn)入和離開(kāi)一個(gè)區(qū)域。(2)模式定義將復(fù)合事件進(jìn)行抽象后,通??梢詫?duì)其進(jìn)行形式化定義。每個(gè)模式的形式化定義一般由4部分構(gòu)成。(a)根聲明。(b)實(shí)例化部分。(c)約束。(d) —個(gè)精確的表達(dá)式。
如在基于MPI的并行程序中,對(duì)于MPI_Recv、MPI_ffait等阻塞接收操作,如果接 收者較早到達(dá),就處于阻塞等待狀態(tài),直到它所等待的發(fā)送者將消息發(fā)出。這種情形會(huì)導(dǎo)致 接收進(jìn)程的低效。如圖2所示為遲發(fā)送模式示意圖。在基于MPI的并行程序中,對(duì)于MPI_ Recv, MPI_ffait等阻塞接收操作,如果接收者較早到達(dá),就處于阻塞等待狀態(tài),直到它所等 待的發(fā)送者將消息發(fā)出。這種情形會(huì)導(dǎo)致接收進(jìn)程的低效。此為遲發(fā)送模式。我們把這種情形抽象為“遲發(fā)送”模式。該模式可形式化描述如下ROOTRECV r ;INSTANTIATIONs: = r. sendptr ;
e2: = r. exitptr ;
THEN B其中,Rulelayer為規(guī)則所在層數(shù);Number為同一層規(guī)則的規(guī)則序號(hào);IF"'THEN… 為產(chǎn)生式規(guī)則,n為自然數(shù)。許多條這樣的規(guī)則構(gòu)成了知識(shí)庫(kù)。以遲發(fā)送模式為例,構(gòu)建產(chǎn)生式規(guī)則如下
IF通信方式為點(diǎn)對(duì)點(diǎn)(Pl)且發(fā)送事件和接收事件是一對(duì)(P》且接收事件到達(dá)的時(shí)間早于發(fā)送事件到達(dá)時(shí)間(P3) THEN它為遲發(fā)送模式(P4)。使用謂詞邏輯表示為Pl Λ P2 Λ P3 —P4(嚴(yán)重程度)3、分布式并行特征提取技術(shù)為了在大規(guī)模的痕跡文件中分析發(fā)現(xiàn)復(fù)雜的低效行為模式,關(guān)鍵任務(wù)是對(duì)痕跡文件的特征提取,本系統(tǒng)采用基于重放的并行痕跡分析方法,如圖3所示。該方法擴(kuò)展了順序痕跡分析方法,通過(guò)分布式存儲(chǔ)和并行處理技術(shù),在同應(yīng)用程序?qū)嶋H執(zhí)行同樣多的CPU上重放原始通信,使得每個(gè)進(jìn)程獨(dú)立地分析本地痕跡數(shù)據(jù),而不像順序痕跡分析方法需要順序地分析單一的全局痕跡數(shù)據(jù)。隨著痕跡事件規(guī)模的擴(kuò)大,并行痕跡分析方法可以適應(yīng)大規(guī)模搜索,快速隨機(jī)獲取某個(gè)事件及上下文通信。在遍歷痕跡數(shù)據(jù)時(shí),根據(jù)每個(gè)事件區(qū)域和相關(guān)系統(tǒng)資源的重要性,識(shí)別需要的特征,生成特征文件。如圖3所示為并行痕跡分析流程圖對(duì)于目標(biāo)應(yīng)用的每個(gè)進(jìn)程,創(chuàng)建一個(gè)分析進(jìn)程來(lái)分析它的本地痕跡文件,分析進(jìn)程間的數(shù)據(jù)交換可通過(guò)MPI通信完成。在開(kāi)始痕跡分析之前,先將痕跡數(shù)據(jù)裝入內(nèi)存,使用標(biāo)識(shí)映射表將本地標(biāo)識(shí)符轉(zhuǎn)換為全局標(biāo)識(shí)符,以確保創(chuàng)建的事件實(shí)例指向正確的對(duì)象。由并行特征分析器從痕跡文件中進(jìn)行分析,提取其中特征值。在痕跡分析期間,保持整個(gè)事件痕跡駐留在主存中,可以透明執(zhí)行到單個(gè)事件的隨機(jī)存取。統(tǒng)一每個(gè)進(jìn)程可能使用不同的本地標(biāo)識(shí)符來(lái)標(biāo)識(shí)同一個(gè)對(duì)象。為在分析過(guò)程中建立一個(gè)全局視圖,必須建立一個(gè)從本地到全局標(biāo)識(shí)的映射表,此過(guò)程被稱為統(tǒng)一。合并每個(gè)并行分析進(jìn)程只分析本地痕跡文件,因此當(dāng)分析完成時(shí),需要將本地分析結(jié)果合并到整體特征文件中。對(duì)于目標(biāo)應(yīng)用的每個(gè)進(jìn)程,創(chuàng)建一個(gè)分析進(jìn)程來(lái)分析它的痕跡文件,分析進(jìn)程間的數(shù)據(jù)交換可通過(guò)MPI通信完成。在開(kāi)始痕跡分析之前,先將痕跡數(shù)據(jù)裝入內(nèi)存,使用映射表將本地標(biāo)識(shí)符轉(zhuǎn)換為全局標(biāo)識(shí)符,以確保創(chuàng)建的事件實(shí)例指向正確的對(duì)象。在痕跡分析期間,保持整個(gè)事件痕跡駐留在主存中,可以透明執(zhí)行到單個(gè)事件的隨機(jī)存取??紤]上述點(diǎn)對(duì)點(diǎn)通信的遲發(fā)送模式的并行重放特征提取的實(shí)例。如圖4所示為遲發(fā)送模式的特征提取示意圖。檢測(cè)由兩邊(發(fā)送和接收事件)的通信事件觸發(fā)。每當(dāng)分析進(jìn)程發(fā)現(xiàn)一個(gè)發(fā)送事件,就創(chuàng)建一個(gè)包含該事件的消息及相關(guān)的enter事件(enter事件用指針屬性enterptr定位),然后使用點(diǎn)對(duì)點(diǎn)消息的方式將這個(gè)消息發(fā)送到接收者進(jìn)程。當(dāng)目標(biāo)進(jìn)程到達(dá)接收事件時(shí),接收上面提到的包含遠(yuǎn)程成分的消息。同本地的有效成分(接收和進(jìn)入事件)一起,獲取兩個(gè)enter事件的時(shí)戳,計(jì)算等待發(fā)送者所花費(fèi)的時(shí)間,并計(jì)算等待時(shí)間與通信時(shí)間的比例,為后續(xù)性能脆弱點(diǎn)定位和判斷提供事實(shí)依據(jù)。在這個(gè)并行重放中,檢測(cè)由兩邊(發(fā)送和接收事件)的通信事件觸發(fā)。每當(dāng)分析進(jìn)程發(fā)現(xiàn)一個(gè)發(fā)送事件,就創(chuàng)建一個(gè)包含該事件的消息及相關(guān)的enter事件(enter事件用指針屬性enterptr定位),然后使用點(diǎn)對(duì)點(diǎn)消息的方式將這個(gè)消息發(fā)送到接收者進(jìn)程。當(dāng)目標(biāo)進(jìn)程到達(dá)接收事件時(shí),接收上面提到的包含遠(yuǎn)程成分的消息。同本地的有效成分(接收和進(jìn)入事件)一起,獲取兩個(gè)enter事件的時(shí)戳,計(jì)算等待發(fā)送者所花費(fèi)的時(shí)間,并計(jì)算等待時(shí)間與通信時(shí)間的比例,為后續(xù)性能脆弱點(diǎn)定位和判斷提供事實(shí)依據(jù)。
4、基于模糊方法的規(guī)則推理本方案的推理機(jī)制采用正向推理策略,也就是由現(xiàn)象根據(jù)規(guī)則推出結(jié)論的方法, 根據(jù)用戶提供的特征數(shù)據(jù),在知識(shí)庫(kù)中搜索LHS部分與其相匹配的規(guī)則,然后推出規(guī)則的 RHS部分,從而得到一個(gè)結(jié)論。如果該結(jié)論仍然作為知識(shí)庫(kù)中某個(gè)規(guī)則的LHS的組成部分, 則表明此次推理過(guò)程并未結(jié)束,需要按照上述正向推理策略,繼續(xù)進(jìn)行推理,直到所得結(jié)論無(wú)法應(yīng)用任何規(guī)則的LHS部分為止。至此,推理過(guò)程結(jié)束,所得結(jié)論即對(duì)應(yīng)于某個(gè)模式的存在。推理的實(shí)質(zhì),是對(duì)知識(shí)庫(kù)中規(guī)則的LHS部分進(jìn)行的模式匹配,而規(guī)則的LHS部分通常是由多個(gè)事實(shí)通過(guò)布爾運(yùn)算連接而成。由于很多低效行為會(huì)表現(xiàn)出多種不同的特征,其與本質(zhì)特征之間具有一定的模糊性,上述的確定性規(guī)則在應(yīng)用到推理過(guò)程中就有可能會(huì)出現(xiàn)難以接受的結(jié)論。因此我們將模糊數(shù)學(xué)方法引入產(chǎn)生式規(guī)則定義和推理中,很好地解決了多種不同特征共同作用于某種低效行為方式?;谀:椒ǖ漠a(chǎn)生式規(guī)則定義如下IF A1(A) and A2 (r2) and—and An (rn) THEN B (a)其中,AiG = 1,2,···,η)為低效行為特征;B為規(guī)則的結(jié)論,即屬于哪種模式;ri(i =1,2,…,η)為低效行為特征的模糊隸屬度閾值;a為規(guī)則的可信度。具體計(jì)算方法如下(1)對(duì)于條件&(1 = 1,2,…,η),分別計(jì)算其存在的置信度巧(0-1),若其超過(guò)閾值,則認(rèn)為條件Ai成立;否則,不成立。(2)根據(jù)規(guī)則定義,計(jì)算結(jié)論B的可信度β (遲發(fā)送例子中,可信度為B的嚴(yán)重程度),若結(jié)論B的可信度β大于規(guī)則的可信度閾值a,則結(jié)論B成立,且可信度為β。(3)重復(fù)后續(xù)規(guī)則推理。將結(jié)論B及其置信度β作為更高層規(guī)則的條件代入,從而繼續(xù)后續(xù)規(guī)則的推理,直至推理結(jié)束。以遲發(fā)送模式的推理為例,產(chǎn)生式推理規(guī)則為IF通信方式為點(diǎn)對(duì)點(diǎn)(Pl)且發(fā)送事件和接收事件是一對(duì)(P》且接收事件到達(dá)的時(shí)間早于發(fā)送事件到達(dá)時(shí)間(Ρ3) THEN它為遲發(fā)送模式(P4)。使用謂詞邏輯表示為Pl Λ P2 Λ P3 — P4 (嚴(yán)重程度 β )若條件Pi (i = 1,2,3)滿足時(shí),即其置信度大于設(shè)定的閾值,條件成立,可得到結(jié)
論B的可信度β為
^ e、.time - e, .timeβ = ^―-~,
e 2 .time - ex .time當(dāng)β > a時(shí),結(jié)論成立,且結(jié)論B的可信度為β。以此為條件,可以繼續(xù)對(duì)“遲發(fā)送、錯(cuò)誤順序”模式進(jìn)行推理,判定該模式的存在性。實(shí)施例三參見(jiàn)圖1,本實(shí)施例為基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析系統(tǒng),實(shí)現(xiàn)并行應(yīng)用性能脆弱點(diǎn)分析與發(fā)現(xiàn)的輔助決策,其系統(tǒng)構(gòu)成如圖1所示系統(tǒng)主要由推理機(jī)、知識(shí)庫(kù)、特征提取模塊、綜合數(shù)據(jù)庫(kù)和用戶接口模塊等部分組成。知識(shí)庫(kù)存儲(chǔ)用于結(jié)論的推理、問(wèn)題的求解的專家經(jīng)驗(yàn)的判斷性知識(shí),以及推理、求解過(guò)程中的各種控制知識(shí)。系統(tǒng)的核心是知識(shí),其性能取決于知識(shí)庫(kù)中知識(shí)的數(shù)量、質(zhì)量及表示方法。知識(shí)表示方法決定了知識(shí)庫(kù)的組織結(jié)構(gòu)并直接影響整個(gè)系統(tǒng)的工作效率。推理機(jī)是系統(tǒng)的組織控制機(jī)構(gòu),控制、協(xié)調(diào)整個(gè)系統(tǒng),根據(jù)輸入數(shù)據(jù),利用知識(shí)庫(kù)中的知識(shí)規(guī)則按一定的策略進(jìn)行推理,對(duì)知識(shí)庫(kù)和綜合數(shù)據(jù)庫(kù)進(jìn)行搜索和查詢,準(zhǔn)確有效地使用規(guī)則,得到相應(yīng)結(jié)論,使問(wèn)題得到求解,并通過(guò)用戶接口向用戶提交推理結(jié)果。在推理機(jī)的作用下,普通用戶能夠如同領(lǐng)域?qū)<乙粯咏鉀Q具體領(lǐng)域的困難問(wèn)題。綜合數(shù)據(jù)庫(kù)是系統(tǒng)的數(shù)據(jù)交換中心,規(guī)則推理的前提與結(jié)果、推理產(chǎn)生的中問(wèn)結(jié)果、痕跡文件中獲取的性能特征數(shù)據(jù)等都存儲(chǔ)在全局?jǐn)?shù)據(jù)庫(kù)中,與推理機(jī)進(jìn)行交互。特征提取模塊是本方案的關(guān)鍵技術(shù),通過(guò)基于重放的并行痕跡分析方法,從分布存儲(chǔ)的痕跡文件中提取特征值,形成知識(shí)庫(kù)中所需要的事實(shí),為規(guī)則的建立提供事實(shí)基礎(chǔ), 另一方面,將需要分析的并行程序的分布式痕跡文件進(jìn)行預(yù)處理,提取所需要特征,送入推理機(jī),推理機(jī)根據(jù)這些特征和相應(yīng)的規(guī)則,實(shí)現(xiàn)推理。
權(quán)利要求
1.一種基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法,首先將導(dǎo)致并行程序性能低效的各種情況進(jìn)行抽象,獲得并行程序性能特征模式,構(gòu)建并行程序性能脆弱點(diǎn)特征模式推理規(guī)則庫(kù),然后1)采用基于重放的并行痕跡分析方法進(jìn)行痕跡文件特征提取,通過(guò)分布式存儲(chǔ)和并行處理技術(shù),在同應(yīng)用程序?qū)嶋H執(zhí)行同樣多的CPU上重放原始通信,使得每個(gè)進(jìn)程獨(dú)立地分析本地痕跡數(shù)據(jù),在遍歷痕跡數(shù)據(jù)時(shí),根據(jù)每個(gè)事件區(qū)域和相關(guān)系統(tǒng)資源的重要性,識(shí)別需要的特征,生成特征文件;2)將模糊數(shù)學(xué)方法引入產(chǎn)生式規(guī)則定義和推理中,采用基于模糊方法的匹配機(jī)制,自動(dòng)搜索事件痕跡的特征模式,實(shí)現(xiàn)特征模式的匹配和發(fā)現(xiàn),發(fā)現(xiàn)和定位并行程序的性能脆弱點(diǎn),最終為進(jìn)一步的計(jì)算機(jī)并行系統(tǒng)性能調(diào)優(yōu)工作提供輔助決策。
2.根據(jù)權(quán)利要求1所述的基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法,其特征是為了更好地描述性能脆弱點(diǎn),將影響程序執(zhí)行性能的各種執(zhí)行行為抽象出來(lái),形成性能模式,為規(guī)則的定義建立基礎(chǔ);1)復(fù)合事件是痕跡文件中的一個(gè)事件集,它滿足與特定性能問(wèn)題有關(guān)的條件,每個(gè)事件都至少提供一個(gè)時(shí)間屬性和一個(gè)表示引發(fā)它發(fā)生的控制流的位置屬性,通過(guò)增加狀態(tài)序列和指針屬性,可將其擴(kuò)充為增強(qiáng)事件模型;狀態(tài)序列將事件映射到一個(gè)事件集,這個(gè)事件集代表了事件發(fā)生時(shí)并行系統(tǒng)的執(zhí)行狀態(tài),用執(zhí)行狀態(tài)來(lái)描述復(fù)合事件,一個(gè)事件通過(guò)移除元素或/和添加元素到集合中引起一個(gè)狀態(tài)改變,從而修改代表部件狀態(tài)的事件集;指針屬性連接兩個(gè)相互對(duì)應(yīng)的事件,通過(guò)指針屬性沿對(duì)應(yīng)事件的路徑定義復(fù)合事件; 指針屬性被添加到基本模型已定義的屬性中,并且具有對(duì)應(yīng)事件的位置值;2)將復(fù)合事件進(jìn)行抽象后,以對(duì)其進(jìn)行形式化定義;每個(gè)模式的形式化定義一般由4 部分構(gòu)成(a)根聲明,(b)實(shí)例化部分,(c)約束,(d) 一個(gè)精確的表達(dá)式。
3.根據(jù)權(quán)利要求1或2所述的基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法,其特征是用謂詞邏輯表達(dá)產(chǎn)生式規(guī)則IF A THEN B表示為A — B,其中A、B表示一定事實(shí),在該產(chǎn)生式規(guī)則的基礎(chǔ)上,定義合成產(chǎn)生式規(guī)則和層次產(chǎn)生式規(guī)則,合成產(chǎn)生式規(guī)則即產(chǎn)生式規(guī)則的前提或結(jié)論部分含“與”、“或”關(guān)系;層次產(chǎn)生式規(guī)則是借助于多層或嵌套式的規(guī)則,其形式為Rulelayer Number :IF A1 [and A2 and and Aj THEN B其中,Rulelayer為規(guī)則所在層數(shù);Number為同一層規(guī)則的規(guī)則序號(hào);IF*"THEN···為產(chǎn)生式規(guī)則;許多條這樣的規(guī)則構(gòu)成了知識(shí)庫(kù)。
4.根據(jù)權(quán)利要求3所述的基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法,其特征是采用基于重放的并行痕跡分析方法分析全局痕跡數(shù)據(jù),隨著痕跡事件規(guī)模的擴(kuò)大,并行痕跡分析方法可以適應(yīng)大規(guī)模搜索,快速隨機(jī)獲取某個(gè)事件及上下文通信,其過(guò)程包括統(tǒng)一每個(gè)進(jìn)程使用不同的本地標(biāo)識(shí)符來(lái)標(biāo)識(shí)同一個(gè)對(duì)象,為在分析過(guò)程中建立一個(gè)全局視圖,建立一個(gè)從本地到全局標(biāo)識(shí)的映射表,此過(guò)程被稱為統(tǒng)一;合并每個(gè)并行分析進(jìn)程只分析本地痕跡文件,當(dāng)分析完成時(shí),將本地分析結(jié)果合并到整體特征文件中;對(duì)于目標(biāo)應(yīng)用的每個(gè)進(jìn)程,創(chuàng)建一個(gè)分析進(jìn)程來(lái)分析它的痕跡文件,分析進(jìn)程間的數(shù)據(jù)交換可通過(guò)MPI通信完成;在開(kāi)始痕跡分析之前,先將痕跡數(shù)據(jù)裝入內(nèi)存,使用映射表將本地標(biāo)識(shí)符轉(zhuǎn)換為全局標(biāo)識(shí)符,以確保創(chuàng)建的事件實(shí)例指向正確的對(duì)象;在痕跡分析期間, 保持整個(gè)事件痕跡駐留在主存中,以透明執(zhí)行到單個(gè)事件的隨機(jī)存取;在這個(gè)并行重放中,檢測(cè)由發(fā)送和接收事件的通信事件觸發(fā);每當(dāng)分析進(jìn)程發(fā)現(xiàn)一個(gè)發(fā)送事件,就創(chuàng)建一個(gè)包含該事件的消息及相關(guān)的enter事件,然后使用點(diǎn)對(duì)點(diǎn)消息的方式將這個(gè)消息發(fā)送到接收者進(jìn)程,當(dāng)目標(biāo)進(jìn)程到達(dá)接收事件時(shí),接收上面提到的包含遠(yuǎn)程成分的消息;然后同本地的接收和進(jìn)入事件一起,獲取兩個(gè)enter事件的時(shí)戳,計(jì)算等待發(fā)送者所花費(fèi)的時(shí)間,并計(jì)算等待時(shí)間與通信時(shí)間的比例,為后續(xù)性能脆弱點(diǎn)定位和判斷提供事實(shí)依據(jù)。
5.根據(jù)權(quán)利要求4所述的基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法,其特征是基于模糊方法的規(guī)則推理過(guò)程如下推理機(jī)制采用正向推理策略,也就是由現(xiàn)象根據(jù)規(guī)則推出結(jié)論的方法,根據(jù)用戶提供的特征數(shù)據(jù),在知識(shí)庫(kù)中搜索LHS部分與其相匹配的規(guī)則,然后推出規(guī)則的RHS部分,從而得到一個(gè)結(jié)論;如果該結(jié)論仍然作為知識(shí)庫(kù)中某個(gè)規(guī)則的LHS的組成部分,則表明此次推理過(guò)程并未結(jié)束,需要按照上述正向推理策略,繼續(xù)進(jìn)行推理,直到所得結(jié)論無(wú)法應(yīng)用任何規(guī)則的LHS部分為止;至此,推理過(guò)程結(jié)束,所得結(jié)論即對(duì)應(yīng)于某個(gè)模式的存在; 基于模糊方法的產(chǎn)生式規(guī)則定義如下 IF A1 (rx) and A2 (r2) and—and An (rn) THEN B (a)其中,Ai(i=l,2, ,n)為低效行為特征;B為規(guī)則的結(jié)論,即屬于哪種模式;ri(i=l,2, ,η)為低效行為特征的模糊隸屬度閾值;a為規(guī)則的可信度; 具體計(jì)算方法如下(1)對(duì)于條件&(1=1,2,,η),分別計(jì)算其存在的置信度A (0-1),若其超過(guò)閾值,則認(rèn)為條件Ai成立;否則,不成立;(2)根據(jù)規(guī)則定義,計(jì)算結(jié)論B的可信度β,若結(jié)論B的可信度β大于規(guī)則的可信度閾值a,則結(jié)論B成立,且可信度為β ;(3)重復(fù)后續(xù)規(guī)則推理,將結(jié)論B及其置信度β作為更高層規(guī)則的條件代入,從而繼續(xù)后續(xù)規(guī)則的推理,直至推理結(jié)束。
6.一種基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析系統(tǒng),其特征是主要由推理機(jī)模塊、知識(shí)庫(kù)、特征提取模塊、綜合數(shù)據(jù)庫(kù)和用戶接口模塊組成;其中知識(shí)庫(kù)存儲(chǔ)用于結(jié)論的推理、問(wèn)題的求解的專家經(jīng)驗(yàn)的判斷性知識(shí),以及推理、求解過(guò)程中的各種控制知識(shí);推理機(jī)是系統(tǒng)的組織控制機(jī)構(gòu),控制、協(xié)調(diào)整個(gè)系統(tǒng),根據(jù)輸入數(shù)據(jù),利用知識(shí)庫(kù)中的知識(shí)規(guī)則按一定的策略進(jìn)行推理,對(duì)知識(shí)庫(kù)和綜合數(shù)據(jù)庫(kù)進(jìn)行搜索和查詢,準(zhǔn)確有效地使用規(guī)則,得到相應(yīng)結(jié)論,使問(wèn)題得到求解,并通過(guò)用戶接口模塊向用戶提交推理結(jié)果;綜合數(shù)據(jù)庫(kù)是專家系統(tǒng)的數(shù)據(jù)交換中心,規(guī)則推理的前提與結(jié)果、推理產(chǎn)生的中問(wèn)結(jié)果、痕跡文件中獲取的性能特征數(shù)據(jù)等都存儲(chǔ)在全局?jǐn)?shù)據(jù)庫(kù)中,與推理機(jī)進(jìn)行交互;特征提取模塊,通過(guò)基于重放的并行痕跡分析方法,從分布存儲(chǔ)的痕跡文件中提取特征值,形成知識(shí)庫(kù)中所需要的事實(shí),為規(guī)則的建立提供事實(shí)基礎(chǔ),同時(shí),將需要分析的并行程序的分布式痕跡文件進(jìn)行預(yù)處理,提取所需要特征,送入推理機(jī),推理機(jī)根據(jù)這些特征和相應(yīng)的規(guī)則,實(shí)現(xiàn)推理。
全文摘要
本發(fā)明涉及高性能計(jì)算機(jī)并行系統(tǒng)設(shè)計(jì)與性能調(diào)優(yōu)技術(shù),特別是涉及一種基于模糊規(guī)則推理的并行應(yīng)用性能脆弱點(diǎn)分析方法及系統(tǒng)。所述分析方法,首先將導(dǎo)致并行程序性能低效的各種情況進(jìn)行抽象,獲得并行程序性能特征模式,構(gòu)建并行程序性能脆弱點(diǎn)特征模式推理規(guī)則庫(kù),然后采用基于重放的并行痕跡分析方法進(jìn)行痕跡文件特征提取,識(shí)別需要的特征,生成特征文件;將模糊數(shù)學(xué)方法引入產(chǎn)生式規(guī)則定義和推理中,采用基于模糊方法的匹配機(jī)制,自動(dòng)搜索事件痕跡的特征模式,實(shí)現(xiàn)特征模式的匹配和發(fā)現(xiàn),發(fā)現(xiàn)和定位并行程序的性能脆弱點(diǎn),最終為進(jìn)一步的計(jì)算機(jī)并行系統(tǒng)性能調(diào)優(yōu)工作提供輔助決策。所述系統(tǒng)主要由推理機(jī)模塊、知識(shí)庫(kù)、特征提取模塊、綜合數(shù)據(jù)庫(kù)和用戶接口模塊組成。
文檔編號(hào)G06F17/30GK102289491SQ20111022979
公開(kāi)日2011年12月21日 申請(qǐng)日期2011年8月11日 優(yōu)先權(quán)日2011年8月11日
發(fā)明者于磊, 侯雪梅, 徐冰, 李志博, 杜祝平 申請(qǐng)人:上海紅神信息技術(shù)有限公司, 中國(guó)人民解放軍信息工程大學(xué)