亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種程序運行性能分析方法及裝置制造方法

文檔序號:6493743閱讀:210來源:國知局
一種程序運行性能分析方法及裝置制造方法
【專利摘要】本發(fā)明提供一種程序運行性能分析方法及裝置,涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,能夠?qū)Χ嗟劳瑫r運行的程序各自的性能干擾進行分析,從而提高程序運行過程當中資源調(diào)度的效率和硬件資源的利用率,該方法包括:在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量;獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),該性能干擾參數(shù)為預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時至少兩個共同運行的程序各自性能的下降率;對至少兩個共同運行的程序的特征向量與至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。本發(fā)明應(yīng)用在程序性能干擾分析中。
【專利說明】一種程序運行性能分析方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種程序運行性能分析方法及裝置。
【背景技術(shù)】
[0002]云計算是一種基于互聯(lián)網(wǎng)的計算方式,通過這種方式共享互聯(lián)網(wǎng)提供的軟硬件資源和信息,并按需提供給計算機和其他設(shè)備。這就要求云計算服務(wù)的提供商的服務(wù)器要有強大的計算能力,而這種強大的計算能力是由數(shù)量眾多的片上多核處理器組成的。但是由于片上多核系統(tǒng)會共享各種不同資源,因此,為了保證高服務(wù)質(zhì)量(Quality ofService,簡稱QoS)優(yōu)先級程序的性能,通常會禁止高QoS優(yōu)先級程序同其他程序的共同運行,使得在云計算環(huán)境下的硬件資源的利用率非常低。為了解決這一問題,現(xiàn)有技術(shù)一般采用將共同運行的兩個程序的各自的壓力得分和性能對壓力的敏感性曲線相結(jié)合的方式來進行性能干擾情況的分析,這樣系統(tǒng)就可以利用性能干擾情況為調(diào)度程序提供決策依據(jù),使得性能干擾率低的程序可以與高優(yōu)先級的程序同時運行,即性能干擾率低的程序與高優(yōu)先級的程序同時存在于一個數(shù)據(jù)中心中,從而提高硬件資源的利用率。
[0003]在實現(xiàn)上述的程序性能干擾分析過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:現(xiàn)有技術(shù)只能對兩個共同運行的程序進行性能干擾情況的分析,而無法對大于兩個的共同運行的程序進行性能干擾情況的分析,但現(xiàn)今運行在同一個片上多核處理器的程序越來越多,無法對大于兩個的共同運行的程序的性能干擾情況做出有效分析,將會影響硬件資源的利用率。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的實施例提供一種程序運行性能分析方法及裝置,能夠?qū)Χ嗟劳瑫r運行的程序各自的性能干擾進行分析,從而提高程序運行過程當中資源調(diào)度的效率和硬件資源的利用率。
[0005]為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0006]第一方面,提供一種程序運行性能分析方法,包括:
[0007]在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量;
[0008]獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),所述性能干擾參數(shù)為所述預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時所述至少兩個共同運行的程序各自性能的下降率;
[0009]對所述至少兩個共同運行的程序的特征向量與所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。
[0010]在第一種可能的實現(xiàn)方式中,根據(jù)第一方面,所述生成性能干擾函數(shù)模型后,還包括:
[0011]獲取至少兩個程序在運行狀態(tài)下的特征向量;
[0012]根據(jù)所述至少兩個程序在運行狀態(tài)下的特征向量及所述性能干擾函數(shù)模型計算所述至少兩個程序在運行狀態(tài)下各自的性能干擾參數(shù)。
[0013]在第二種可能的實現(xiàn)方式中,結(jié)合第一方面或第一種可能的實現(xiàn)方式,所述對所述至少兩個共同運行的程序的特征向量與所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型,包括:
[0014]將獲取到的所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù)加入所述空間坐標系;
[0015]根據(jù)加入到所述空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和所述預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式;
[0016]在所述空間坐標系中根據(jù)設(shè)定的所述函數(shù)形式對所述至少兩個共同運行的程序的特征向量與所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,得到擬合曲線,生成性能干擾函數(shù)模型。
[0017]在第三種可能的實現(xiàn)方式中,根據(jù)第二種可能的實現(xiàn)方式,所述根據(jù)加入到所述空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和所述預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式之前,還包括:
[0018]重復(fù)獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),并將重新獲取的所述性能干擾參數(shù)加入所述空間坐標系,直到所述空間坐標系中所述性能干擾參數(shù)的個數(shù)達到預(yù)定的閾值。
[0019]在第四種可能的實現(xiàn)方式中,結(jié)合第一方面或第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式或第三種可能的實現(xiàn)方式,所述特征向量為程序在運行狀態(tài)下對共享資源的競爭特征,所述共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬和共享的輸入輸出設(shè)備。
[0020]第二方面,提供一種程序運行性能分析裝置,包括:
[0021]特征向量獲取單元,用于在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量;
[0022]參數(shù)獲取單元,用于獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),所述性能干擾參數(shù)為所述特征向量獲取單元獲取到的所述預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時所述至少兩個共同運行的程序各自性能的下降率;
[0023]曲線擬合單元,用于對所述特征向量獲取單元獲取到的所述至少兩個共同運行的程序的特征向量與所述參數(shù)獲取單元獲取到的所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。
[0024]在第一種可能的實現(xiàn)方式中,根據(jù)第二方面,所述裝置還包括:
[0025]所述特征向量獲取單元,還用于獲取至少兩個程序在運行狀態(tài)下的特征向量;
[0026]參數(shù)計算單元,用于根據(jù)所述特征向量獲取單元獲取到的所述至少兩個程序在運行狀態(tài)下的特征向量及所述曲線擬合單元擬合出的所述性能干擾函數(shù)模型計算所述至少兩個程序在運行狀態(tài)下各自的性能干擾參數(shù)。
[0027]在第二種可能的實現(xiàn)方式中,結(jié)合第二方面或第一種可能的實現(xiàn)方式,所述曲線擬合單元包括:
[0028]參數(shù)存儲子單元,用于將所述參數(shù)獲取單元獲取到的所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù)加入所述空間坐標系;
[0029]函數(shù)設(shè)定子單元,用于根據(jù)所述參數(shù)存儲子單元加入到所述空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和所述特征向量獲取單元獲取到的所述預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式;
[0030]曲線擬合子單元,用于在所述空間坐標系中根據(jù)所述函數(shù)設(shè)定子單元設(shè)定的所述函數(shù)形式對所述特征向量獲取單元獲取到的所述至少兩個共同運行的程序的特征向量與所述參數(shù)獲取單元獲取到的所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,得到擬合曲線,生成性能干擾函數(shù)模型。
[0031]在第三種可能的實現(xiàn)方式中,根據(jù)第二種可能的實現(xiàn)方式,所述裝置還包括:
[0032]所述參數(shù)獲取單元,還用于重復(fù)獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),并通過所述參數(shù)存儲子單元將重新獲取的所述性能干擾參數(shù)加入所述空間坐標系,直到所述空間坐標系中所述性能干擾參數(shù)的個數(shù)達到預(yù)定的閾值。
[0033]第四種可能的實現(xiàn)方式中,結(jié)合第一方面或第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式或第三種可能的實現(xiàn)方式,所述特征向量為程序在運行狀態(tài)下對共享資源的競爭特征,所述共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬和共享的輸入輸出設(shè)備。
[0034]本發(fā)明的實施例提供的程序運行性能分析方法及裝置,通過對至少兩個共同運行的程序的特征向量及性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型,再通過該性能干擾函數(shù)模型對多道同時運行的程序各自的性能干擾進行分析,從而提高程序運行過程當中資源調(diào)度的效率和硬件資源的利用率。
【專利附圖】

【附圖說明】
[0035]圖1為本發(fā)明實施例提供的一種程序運行性能分析方法的流程圖。
[0036]圖2為本發(fā)明實施例提供的另一種程序運行性能分析方法的流程圖;
[0037]圖3為本發(fā)明實施例提供的一種程序運行性能分析裝置的結(jié)構(gòu)流程圖;
[0038]圖4為本發(fā)明實施例提供的另一種程序運行性能分析裝置的結(jié)構(gòu)流程圖;
[0039]圖5為本發(fā)明又一實施例提供的一種程序運行性能分析裝置的結(jié)構(gòu)流程圖。
【具體實施方式】
[0040]下面結(jié)合附圖對本發(fā)明實施例提供的一種程序運行性能分析方法及裝置進行詳細描述。
[0041]現(xiàn)今隨著運行在同一個片上多核處理器的程序越來越多,因此,為了保證高優(yōu)先級程序的性能,通常會簡單的禁止高優(yōu)先級程序同其他程序的共同運行,導(dǎo)致了很低的資源利用率。因此,為了解決資源利用率低的問題,就需要一個可以對共同運行的多道程序的性能干擾進行預(yù)測的方法,從而對程序進行任務(wù)調(diào)度,使得高優(yōu)先級的程序可以與性能干擾率低的程序共同運行,從而提高硬件資源利用率。而本發(fā)明的實施例便提供了一種程序運行性能分析方法。
[0042]參照圖1所示,在執(zhí)行本發(fā)明的實施例提供的方法之前,首先要確定一個合適的程序集,而合適的程序集需要對整體的輸入程序有很強的代表性,所以在選取的時候需要遵循一定的原則。首先,程序集要有廣泛性,即程序集中程序的行為特征所覆蓋的范圍要廣泛,需要覆蓋到程序特征向量的所有方面,具體來說,就是指程序集中的程序應(yīng)當涵蓋計算密集型、訪存密集型等不同的類型。其次,程序集要有針對性,即指程序集中的程序要根據(jù)輸入程序的行為特征不同而做出相應(yīng)的調(diào)整,如,若輸入的應(yīng)用程序是以在線服務(wù)的程序居多,那么程序集中的程序也要以在線服務(wù)的程序為主。
[0043]具體的,程序運行性能分析方法具體的步驟如下:
[0044]101、程序運行性能分析裝置在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量。
[0045]可選的,本實施例中所描述的特征向量為程序在運行狀態(tài)下對共享資源的競爭特征,該共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬和共享的輸入輸出設(shè)備。
[0046]具體的,步驟101主要是為了量化輸入程序的行為特征,該輸入程序的行為特征在這里以特征向量來表示。而程序的特征向量是指程序在運行時對共享資源的需求特征,該共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬寬帶和共享的輸入輸出設(shè)備等。具體的以程序在運行時對共享資源的競爭特征來講,程序?qū)蚕砭彺娴母偁幪卣骺梢杂贸绦蚓彺婷新省挝粫r間內(nèi)的緩存缺失次數(shù)或每百萬條指令內(nèi)的緩存缺失次數(shù)來刻畫;對共享預(yù)取器的競爭特征可以用單位時間內(nèi)的預(yù)取次數(shù)或每百萬條指令內(nèi)的預(yù)取次數(shù)來刻畫;對共享帶寬的競爭特征使用帶寬流量來刻畫;對共享內(nèi)存的競爭特征使用所消耗的內(nèi)存量來刻畫;對共享輸入輸出設(shè)備的競爭特征使用其輸入輸出讀寫請求的次數(shù)、每次讀寫請求的字節(jié)數(shù)來刻畫。在對每項共享資源的需求特征進行量化后,將這些量化后的值共同構(gòu)成程序的特征向量。其中,預(yù)設(shè)的程序集中的每個程序在共享資源上的競爭特征(即特征向量)是通過合適的程序剖析的手段來獲取的,且可以描述為Ci (cn,ci2,...,
Cif) (i I,...,k) ο
[0047]其中,由于本發(fā)明的精確性和實驗數(shù)據(jù)的規(guī)模相關(guān),因此程序集的規(guī)模直接影響最終得出的性能干擾函數(shù)模型的準確度,則程序集規(guī)模越大,性能干擾函數(shù)模型的準確度就越高,但是同時需要進行程序剖析的時間也越長,因此,可以根據(jù)通過調(diào)整程序集的規(guī)模,從而調(diào)整性能干擾函數(shù)模型的準確度和剖析時間之間的平衡。
[0048]102、程序運行性能分析裝置獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),該性能干擾參數(shù)為預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時至少兩個共同運行的程序各自性能的下降率。
[0049]具體的,若從程序集中隨機選取m個程序(已選取出的程序可以重復(fù)選取)作為一個工作負載,檢測出這m個程序共同運行時每個程序的性能下降比例,將得到的m組數(shù)據(jù)加入空間坐標系中。其中,程序的性能干擾參數(shù)可以表示為函數(shù)PifUiItjl, tJ2, ,t Jffl^1) =F (Ci, Cj,,...,Cirl),該函數(shù)公式的含義表示的是至少兩個共同運行的程序的性能干擾為程序自身的特征向量和共同運行的其他程序的特征向量相互作用的函數(shù)。其中,Pif (ti I tJ1; tJ2,..., tJ111^1)表示&在和程序tj1; tJ2,..., tJ111^1共同運行時的性能變化情況,且tjl; tJ2,, 的順序不影響性能干擾參數(shù)的值(即任意改變除Ci以外的特征向量的循序不會影響Ci的性能變化)。
[0050]103、程序運行性能分析裝置對至少兩個共同運行的程序的特征向量與至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。
[0051]進一步可選的,參照圖2所示,步驟103具體的還包括:
[0052]103a、程序運行性能分析裝置將獲取到的預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù)加入空間坐標系。
[0053]可選的,在步驟103b之前,還包括:程序運行性能分析裝置重復(fù)獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),并將重新獲取的性能干擾參數(shù)加入空間坐標系,直到該空間坐標系中性能干擾參數(shù)的個數(shù)達到預(yù)定的閾值。
[0054]具體的,重復(fù)獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),每運行一次所得到的至少兩個共同運行的程序各自的性能干擾參數(shù),就將所得到的性能干擾參數(shù)加入到空間坐標系中,直到該空間坐標系中的性能干擾參數(shù)的數(shù)據(jù)量達到提前設(shè)定的某個閾值,只有空間坐標系中的性能干擾參數(shù)的密度達到某個設(shè)定的閾值,才能使的擬合出的擬合曲線的精確度高,當然,空間坐標系中的性能干擾參數(shù)的密度越高,所擬合出的擬合曲線的精確度越高。
[0055]103b、程序運行性能分析裝置根據(jù)加入到空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式。
[0056]具體的,在進行曲線擬合之前首先要確定所要擬合的函數(shù)的函數(shù)形式,且該函數(shù)形式首先要滿足性能干擾參數(shù)函數(shù)的函數(shù)特征,然后根據(jù)在空間坐標系上加入的性能干擾參數(shù)的數(shù)據(jù)量和程序的特征向量來進行靈活選取,且該函數(shù)形式可以采用多項式函數(shù)或指數(shù)函數(shù)等,當然也可以為兩種函數(shù)相結(jié)合的函數(shù)形式。
[0057]103c、程序運行性能分析裝置在空間坐標系中根據(jù)設(shè)定的函數(shù)形式對至少兩個共同運行的程序的特征向量與至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,得到擬合曲線,生成性能干擾函數(shù)模型。
[0058]其中,上述的性能干擾函數(shù)模型的自變量為至少兩個共同運行的程序的特征向量的值,函數(shù)值為至少兩個共同運行的程序中所關(guān)注的程序的性能下降率Pifai Itjl,tJ2,…,t^),并且在進行曲線擬合時可以選用不同的擬合工具,如Matlab (矩陣實驗室),Origin(科學(xué)繪圖、數(shù)據(jù)分析軟件)等圖形數(shù)據(jù)分析工具軟件。
[0059]可選的,該方法還包括:
[0060]在得到性能干擾函數(shù)模型之后,便可以根據(jù)該性能干擾函數(shù)模型對任意至少兩個共同運行的程序進行性能干擾分析。
[0061]104、程序運行性能分析裝置獲取至少兩個程序在運行狀態(tài)下的特征向量。
[0062]對步驟104中所提到的所有程序進行程序剖析,收集所有經(jīng)過程序剖析得到的程序的特征向量。
[0063]105、程序運行性能分析裝置根據(jù)至少兩個程序在運行狀態(tài)下的特征向量及性能干擾函數(shù)模型計算至少兩個程序在運行狀態(tài)下各自的性能干擾參數(shù)。
[0064]本發(fā)明的實施例提供的程序運行性能分析方法,通過對至少兩個共同運行的程序的特征向量及性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型,再通過該性能干擾函數(shù)模型對多道同時運行的程序各自的性能干擾進行分析,從而提高程序運行過程當中資源調(diào)度的效率和硬件資源的利用率。
[0065]本發(fā)明的實施例提供一種程序運行性能分析裝置,參照圖3所示,該程序運行性能分析裝置3,包括:特征向量獲取單元31、參數(shù)獲取單元32和曲線擬合單元33,其中:
[0066]特征向量獲取單元31,用于在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量。
[0067]參數(shù)獲取單元32,用于獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),該性能干擾參數(shù)為特征向量獲取單元32獲取到的預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時至少兩個共同運行的程序各自性能的下降率。
[0068]曲線擬合單元33,用于對特征向量獲取單元31獲取到的至少兩個共同運行的程序的特征向量與參數(shù)獲取單元32獲取到的至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。
[0069]可選的,該裝置還包括:參數(shù)計算單元34,其中:
[0070]特征向量獲取單元31,還用于獲取至少兩個程序在運行狀態(tài)下的特征向量。
[0071]參數(shù)計算單元34,用于根據(jù)特征向量獲取單元31獲取到的至少兩個程序在運行狀態(tài)下的特征向量及曲線擬合單元33擬合出的性能干擾函數(shù)模型計算至少兩個程序在運行狀態(tài)下各自的性能干擾參數(shù)。
[0072]可選的,本發(fā)明實施例提到的特征向量為程序在運行狀態(tài)下對共享資源的競爭特征,該共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬和共享的輸入輸出設(shè)備。
[0073]進一步可選的,參照圖4所示,上述的曲線擬合單元33還包括:參數(shù)存儲子單元331、函數(shù)設(shè)定子單元332和曲線擬合子單元333,其中:
[0074]參數(shù)存儲子單元331,用于將參數(shù)獲取單元32獲取到的預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù)加入空間坐標系。
[0075]函數(shù)設(shè)定子單元332,用于根據(jù)參數(shù)存儲子單元331加入到空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和特征向量獲取單元31獲取到的預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式。
[0076]曲線擬合子單元333,用于在空間坐標系中根據(jù)函數(shù)設(shè)定子單元332設(shè)定的函數(shù)形式對特征向量獲取單元31獲取到的至少兩個共同運行的程序的特征向量與參數(shù)獲取單元32獲取到的至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,得到擬合曲線,生成性能干擾函數(shù)模型。
[0077]進一步可選的,參數(shù)獲取單元32,還用于重復(fù)獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),并通過參數(shù)存儲子單元331將重新獲取的性能干擾參數(shù)加入空間坐標系,直到空間坐標系中性能干擾參數(shù)的個數(shù)達到預(yù)定的閾值。
[0078]本發(fā)明的實施例提供的程序運行性能分析裝置,通過對至少兩個共同運行的程序的特征向量及性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型,再通過該性能干擾函數(shù)模型對多道同時運行的程序各自的性能干擾進行分析,從而提高程序運行過程當中資源調(diào)度的效率和硬件資源的利用率。
[0079]圖5為本發(fā)明的又一實施例提供的程序運行性能分析裝置的結(jié)構(gòu)示意圖,該程序運行性能分析裝置5包括至少一個處理器51,存儲器52,通信總線53以及至少一個通信接口 54。其中,通信總線53用于實現(xiàn)上述組件之間的連接并通信,該通信接口54用于與外部設(shè)備連接并通信。該通信總線53可以是工業(yè)標準體系結(jié)構(gòu)(IndustryStandardArchitecture,簡稱 ISA)總線、外部設(shè)備互連(Peripheral Component,簡稱 PCI)總線或擴展工業(yè)標準體系結(jié)構(gòu)(Extended Industry StandardArchitecture,簡稱EISA)總線等。該通信總線53可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖5中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
[0080]處理器51可以是:通用中央處理器(central procession unit,簡稱CPU)、專用集成電路(application specific integrated circuit,簡稱 ASIC)、數(shù)字信號處理器(DSP)、現(xiàn)成可編程門陣列(FPGA)或其他可編程邏輯器件。而通信接口 54用于連接程序運行性能分析裝置和通信網(wǎng)絡(luò),該通信網(wǎng)絡(luò)包括:以太網(wǎng)、無線接入網(wǎng)(radioaccessnetwork, RAN)、無線局域網(wǎng)(wireless local area network, WLAN)或其他類似網(wǎng)絡(luò)。存儲器52可以是計算機能夠存取的任何可用介質(zhì),包括但不限于:只讀存儲器(readonly memory,簡稱ROM)、隨機存儲器(random access memory,簡稱RAM)、或磁盤存儲(diskstorage)、閃存、可編程只讀存儲器或電可擦寫可編程存儲器、寄存器等本領(lǐng)域熟悉的存儲介質(zhì)。
[0081]存儲器52中存儲需要執(zhí)行的程序代碼,這些程序代碼具體可以包括:特征向量獲取單元521、參數(shù)獲取單元522和曲線擬合單元523。
[0082]處理器51用于執(zhí)行所述存儲器52中存儲的單元,當上述單元被所述處理器51執(zhí)行時,實現(xiàn)如下功能:
[0083]特征向量獲取單元521,用于在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量。
[0084]參數(shù)獲取單元522,用于獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),該性能干擾參數(shù)為特征向量獲取單元521獲取到的預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時至少兩個共同運行的程序各自性能的下降率。
[0085]曲線擬合單元523,用于對特征向量獲取單元521獲取到的至少兩個共同運行的程序的特征向量與參數(shù)獲取單元522獲取到的至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。
[0086]可選的,該存儲器52還包括:參數(shù)計算單元524,其中:
[0087]特征向量獲取單元521,還用于獲取至少兩個程序在運行狀態(tài)下的特征向量。
[0088]參數(shù)計算單元524,用于根據(jù)特征向量獲取單元521獲取到的至少兩個程序在運行狀態(tài)下的特征向量及曲線擬合單元523擬合出的性能干擾函數(shù)模型計算至少兩個程序在運行狀態(tài)下各自的性能干擾參數(shù)。
[0089]可選的,本發(fā)明實施例提到的特征向量為程序在運行狀態(tài)下對共享資源的競爭特征,該共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬和共享的輸入輸出設(shè)備。
[0090]進一步可選的,上述的曲線擬合單元523還包括:參數(shù)存儲子單元、函數(shù)設(shè)定子單元和曲線擬合子單元,其中:
[0091]參數(shù)存儲子單元,用于將參數(shù)獲取單元522獲取到的預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù)加入空間坐標系。
[0092]函數(shù)設(shè)定子單元,用于根據(jù)參數(shù)存儲子單元加入到空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和特征向量獲取單元521獲取到的預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式。
[0093]曲線擬合子單元,用于在空間坐標系中根據(jù)函數(shù)設(shè)定子單元設(shè)定的函數(shù)形式對特征向量獲取單元521獲取到的至少兩個共同運行的程序的特征向量與參數(shù)獲取單元522獲取到的至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,得到擬合曲線,生成性能干擾函數(shù)模型。
[0094]進一步可選的,參數(shù)獲取單元522,還用于重復(fù)獲取預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),并通過參數(shù)存儲子單元將重新獲取的性能干擾參數(shù)加入空間坐標系,直到空間坐標系中性能干擾參數(shù)的個數(shù)達到預(yù)定的閾值。
[0095]本發(fā)明的實施例提供的程序運行性能分析裝置,通過對至少兩個共同運行的程序的特征向量及性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型,再通過該性能干擾函數(shù)模型對多道同時運行的程序各自的性能干擾進行分析,從而提高程序運行過程當中資源調(diào)度的效率和硬件資源的利用率。
[0096]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。
【權(quán)利要求】
1.一種程序運行性能分析方法,其特征在于,包括: 在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量; 獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),所述性能干擾參數(shù)為所述預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時所述至少兩個共同運行的程序各自性能的下降率; 對所述至少兩個共同運行的程序的特征向量與所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成性能干擾函數(shù)模型后,還包括: 獲取至少兩個程序在運行狀態(tài)下的特征向量; 根據(jù)所述至少兩個程序在運行狀態(tài)下的特征向量及所述性能干擾函數(shù)模型計算所述至少兩個程序在運行狀態(tài)下各自的性能干擾參數(shù)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述對所述至少兩個共同運行的程序的特征向量與所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型,包括: 將獲取到的所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù)加入所述空間坐標系; 根據(jù)加入到所述空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和所述預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式; 在所述空間坐標系中根據(jù)設(shè)定的所述函數(shù)形式對所述至少兩個共同運行的程序的特征向量與所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,得到擬合曲線,生成性能干擾函數(shù)模型。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)加入到所述空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和所述預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式之前,還包括: 重復(fù)獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),并將重新獲取的所述性能干擾參數(shù)加入所述空間坐標系,直到所述空間坐標系中所述性能干擾參數(shù)的個數(shù)達到預(yù)定的閾值。
5.根據(jù)權(quán)利要求1~4任一項所述的方法,其特征在于,所述特征向量為程序在運行狀態(tài)下對共享資源的競爭特征,所述共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬和共享的輸入輸出設(shè)備。
6.一種程序運行性能分析裝置,其特征在于,包括: 特征向量獲取單元,用于在預(yù)設(shè)的程序集中獲取每個程序在運行狀態(tài)下的特征向量; 參數(shù)獲取單元,用于獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),所述性能干擾參數(shù)為所述特征向量獲取單元獲取到的所述預(yù)設(shè)的程序集中至少兩個共同運行的程序的特征向量相互作用時所述至少兩個共同運行的程序各自性能的下降率; 曲線擬合單元,用于對所述特征向量獲取單元獲取到的所述至少兩個共同運行的程序的特征向量與所述參數(shù)獲取單元獲取到的所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,生成性能干擾函數(shù)模型。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 所述特征向量獲取單元,還用于獲取至少兩個程序在運行狀態(tài)下的特征向量; 參數(shù)計算單元,用于根據(jù)所述特征向量獲取單元獲取到的所述至少兩個程序在運行狀態(tài)下的特征向量及所述曲線擬合單元擬合出的所述性能干擾函數(shù)模型計算所述至少兩個程序在運行狀態(tài)下各自的性能干擾參數(shù)。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述曲線擬合單元包括: 參數(shù)存儲子單元,用于將所述參數(shù)獲取單元獲取到的所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù)加入所述空間坐標系; 函數(shù)設(shè)定子單元,用于根據(jù)所述參數(shù)存儲子單元加入到所述空間坐標系中的所有性能干擾參數(shù)的數(shù)據(jù)量和所述特征向量獲取單元獲取到的所述預(yù)設(shè)的程序集中的程序的特征向量設(shè)定函數(shù)形式; 曲線擬合子單元,用于在所述空間坐標系中根據(jù)所述函數(shù)設(shè)定子單元設(shè)定的所述函數(shù)形式對所述特征向量獲取單元獲取到的所述至少兩個共同運行的程序的特征向量與所述參數(shù)獲取單元獲取到的所述至少兩個共同運行的程序的性能干擾參數(shù)進行曲線擬合,得到擬合曲線,生成性能干擾函數(shù)模型。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 所述參數(shù)獲取單元,還用于重復(fù)獲取所述預(yù)設(shè)的程序集中至少兩個共同運行的程序各自的性能干擾參數(shù),并通過所述參數(shù)存儲子單元將重新獲取的所述性能干擾參數(shù)加入所述空間坐標系,直到所述空間坐標系中所述性能干擾參數(shù)的個數(shù)達到預(yù)定的閾值。
10.根據(jù)權(quán)利要求6~9任一項所述的裝置,其特征在于,所述特征向量為程序在運行狀態(tài)下對共享資源的競爭特征,所述共享資源包括:共享的緩存、共享的預(yù)取器、共享的內(nèi)存、共享的帶寬和共享的輸入輸出設(shè)備。
【文檔編號】G06F11/36GK103902443SQ201210576264
【公開日】2014年7月2日 申請日期:2012年12月26日 優(yōu)先權(quán)日:2012年12月26日
【發(fā)明者】趙家程, 崔慧敏, 馮曉兵 申請人:華為技術(shù)有限公司, 中國科學(xué)院計算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1