本發(fā)明涉及numa架構(gòu)應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種numa架構(gòu)下沙箱環(huán)境測(cè)試方法及其系統(tǒng)。
背景技術(shù):
numa(nonuniformmemoryaccessarchitecture,非統(tǒng)一內(nèi)存訪問(wèn)架構(gòu))結(jié)構(gòu)中存在多個(gè)內(nèi)存節(jié)點(diǎn)(memorynode),每個(gè)內(nèi)存節(jié)點(diǎn)及其對(duì)應(yīng)的多核系統(tǒng)構(gòu)成一個(gè)內(nèi)存區(qū)域(memorydomain),每個(gè)內(nèi)存區(qū)域具有獨(dú)立且私有的內(nèi)存控制器。
目前產(chǎn)品出廠前需要進(jìn)行實(shí)驗(yàn)室測(cè)試,即在實(shí)驗(yàn)室環(huán)境下運(yùn)行numa架構(gòu)下的任務(wù),來(lái)依據(jù)運(yùn)行結(jié)果確定運(yùn)行是否正常,但是由于實(shí)驗(yàn)室環(huán)境與生產(chǎn)環(huán)境差距較大,無(wú)法模擬生產(chǎn)環(huán)境下的各種復(fù)雜條件,導(dǎo)致得到的測(cè)試效果精度低。
同時(shí),在實(shí)際應(yīng)用中,需要根據(jù)任務(wù)測(cè)試運(yùn)行時(shí)的結(jié)果來(lái)確定相應(yīng)的調(diào)度策略,指導(dǎo)后續(xù)任務(wù)的運(yùn)行,若確定調(diào)度策略時(shí)采用實(shí)驗(yàn)室環(huán)境下的測(cè)試結(jié)果,調(diào)度策略的分配不夠合理,若直接依據(jù)實(shí)際運(yùn)行中的任務(wù),會(huì)導(dǎo)致需要很長(zhǎng)一段時(shí)間的運(yùn)行后才能完善各種類(lèi)型的任務(wù)的調(diào)度策略,耗時(shí)過(guò)長(zhǎng)。
因此,如何提供一種測(cè)試精度高且能夠指導(dǎo)調(diào)度策略的分配的numa架構(gòu)下沙箱環(huán)境測(cè)試方法及其系統(tǒng)是本領(lǐng)域技術(shù)人員目前需要解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種numa架構(gòu)下沙箱環(huán)境測(cè)試方法及其系統(tǒng),將真實(shí)任務(wù)在與生產(chǎn)環(huán)境完全相同的環(huán)境內(nèi)模擬運(yùn)行,測(cè)試精度高,得到的資源調(diào)度策略也符合真實(shí)運(yùn)行的需要。其具體方案如下:
一種numa架構(gòu)下沙箱環(huán)境測(cè)試方法,包括:
獲取生產(chǎn)環(huán)境內(nèi)的任務(wù)的任務(wù)信息,將其同步拷貝至沙箱環(huán)境內(nèi);所述沙箱環(huán)境的配置與所述生產(chǎn)環(huán)境的配置相同;
運(yùn)行所述任務(wù),監(jiān)測(cè)所述任務(wù)的運(yùn)行狀態(tài)來(lái)獲取所述任務(wù)的指紋;
依據(jù)所述指紋及經(jīng)驗(yàn)數(shù)據(jù)庫(kù)確定所述任務(wù)的資源調(diào)度策略;所述經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)有各類(lèi)指紋對(duì)應(yīng)的資源調(diào)度策略。
優(yōu)選地,還包括:
在沙箱環(huán)境中有多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),監(jiān)測(cè)任務(wù)間的資源干擾;
若出現(xiàn)資源競(jìng)爭(zhēng),確定當(dāng)前的資源瓶頸,并依據(jù)預(yù)設(shè)策略調(diào)整相應(yīng)任務(wù)對(duì)應(yīng)的資源調(diào)度策略,確定相應(yīng)任務(wù)的資源分配。
優(yōu)選地,還包括:
當(dāng)生產(chǎn)環(huán)境中有多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),計(jì)算所述沙箱環(huán)境內(nèi)獨(dú)立運(yùn)行的任務(wù)與所述生產(chǎn)環(huán)境內(nèi)該任務(wù)的性能結(jié)果進(jìn)行比較,得到該任務(wù)的性能干擾粒度;
將所述性能干擾粒度存儲(chǔ)至所述經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi),供后續(xù)任務(wù)依據(jù)自身指紋與所述經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)確定資源調(diào)度策略。
優(yōu)選地,還包括:
將沙箱環(huán)境內(nèi)運(yùn)行的任務(wù)的任務(wù)信息、與其并行運(yùn)行的任務(wù)的任務(wù)信息以及該任務(wù)的資源調(diào)度策略記錄至預(yù)設(shè)數(shù)據(jù)庫(kù)內(nèi)。
優(yōu)選地,還包括:
所述預(yù)設(shè)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)的真實(shí)任務(wù)運(yùn)行記錄以及用戶輸入的多種環(huán)境下的特定任務(wù)的運(yùn)行記錄共同組成任務(wù)測(cè)試集;
將所述任務(wù)測(cè)試集中的任務(wù)作為基礎(chǔ),調(diào)整相應(yīng)的任務(wù)參數(shù)合成特定運(yùn)行環(huán)境下特定類(lèi)型的虛擬任務(wù);
運(yùn)行所述虛擬任務(wù),得到所述虛擬任務(wù)對(duì)應(yīng)的指紋及調(diào)度策略存儲(chǔ)至所述經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)。
優(yōu)選地,所述任務(wù)信息具體包括:
任務(wù)運(yùn)行數(shù)據(jù)、任務(wù)所處的虛擬機(jī)、任務(wù)時(shí)間點(diǎn)。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種numa架構(gòu)下沙箱環(huán)境測(cè)試系統(tǒng),包括:
代理模塊,用于獲取生產(chǎn)環(huán)境內(nèi)的任務(wù)的任務(wù)信息,將其同步拷貝至沙箱環(huán)境內(nèi);所述沙箱環(huán)境的配置與所述生產(chǎn)環(huán)境的配置相同;
沙箱環(huán)境模塊,用于運(yùn)行所述任務(wù);
指紋采集模塊,用于監(jiān)測(cè)所述任務(wù)的運(yùn)行狀態(tài)來(lái)獲取所述任務(wù)的指紋;
調(diào)度模塊,用于依據(jù)所述指紋及經(jīng)驗(yàn)數(shù)據(jù)庫(kù)確定所述任務(wù)的資源調(diào)度策略;所述經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)有各類(lèi)指紋對(duì)應(yīng)的資源調(diào)度策略。
優(yōu)選地,還包括:
處于沙箱環(huán)境內(nèi)的資源競(jìng)爭(zhēng)分析模塊,用于在沙箱環(huán)境中有多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),監(jiān)測(cè)任務(wù)間的資源干擾;若出現(xiàn)資源競(jìng)爭(zhēng),確定當(dāng)前的資源瓶頸,并將當(dāng)前任務(wù)信息及瓶頸信息發(fā)送至所述調(diào)度模塊;
所述調(diào)度模塊還包括:
競(jìng)爭(zhēng)處理單元,用于依據(jù)所述資源競(jìng)爭(zhēng)分析模塊發(fā)送的任務(wù)信息及瓶頸信息以及預(yù)設(shè)策略,調(diào)整相應(yīng)任務(wù)對(duì)應(yīng)的資源調(diào)度策略,確定相應(yīng)任務(wù)的資源分配。
優(yōu)選地,所述沙箱環(huán)境模塊還包括:
緩存模擬單元,用于在所述任務(wù)觸發(fā)數(shù)據(jù)庫(kù)請(qǐng)求時(shí),從所述代理模塊的緩存內(nèi)獲取所述任務(wù)所需的數(shù)據(jù)庫(kù)數(shù)據(jù)。
優(yōu)選地,還包括:
預(yù)設(shè)數(shù)據(jù)庫(kù),用于記錄沙箱環(huán)境內(nèi)運(yùn)行的任務(wù)的任務(wù)信息、與其并行運(yùn)行的任務(wù)的任務(wù)信息以及該任務(wù)的資源調(diào)度策略記錄以及記錄用戶輸入的多種環(huán)境下的特定任務(wù)的運(yùn)行記錄共同組成任務(wù)測(cè)試集;
虛擬任務(wù)運(yùn)行模塊,用于將所述任務(wù)測(cè)試集中的任務(wù)作為基礎(chǔ),調(diào)整相應(yīng)的任務(wù)參數(shù)合成特定運(yùn)行環(huán)境下特定類(lèi)型的虛擬任務(wù);運(yùn)行所述虛擬任務(wù),得到所述虛擬任務(wù)對(duì)應(yīng)的指紋及調(diào)度策略存儲(chǔ)至所述經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)。
可見(jiàn),本發(fā)明提供了一種numa架構(gòu)下沙箱環(huán)境測(cè)試方法及其系統(tǒng),通過(guò)將生產(chǎn)環(huán)境內(nèi)的任務(wù)同步拷貝至與生產(chǎn)環(huán)境完全相同的沙箱環(huán)境內(nèi)運(yùn)行,能夠完全模擬任務(wù)在實(shí)際運(yùn)行中的各種復(fù)雜條件,測(cè)試精度高,進(jìn)而使得沙箱環(huán)境內(nèi)任務(wù)運(yùn)行后確定的資源調(diào)度策略能夠符合生產(chǎn)環(huán)境的需要。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開(kāi)的一種numa架構(gòu)下沙箱環(huán)境測(cè)試方法流程圖;
圖2為本發(fā)明實(shí)施例公開(kāi)的一種numa架構(gòu)下沙箱環(huán)境測(cè)試系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
目前,產(chǎn)品在出廠前需要進(jìn)行實(shí)驗(yàn)室測(cè)試,即在實(shí)驗(yàn)室環(huán)境下運(yùn)行numa架構(gòu)下的任務(wù),來(lái)依據(jù)運(yùn)行結(jié)果確定運(yùn)行是否正常,但是由于實(shí)驗(yàn)室環(huán)境與生產(chǎn)環(huán)境差距較大,無(wú)法模擬生產(chǎn)環(huán)境下的各種復(fù)雜條件,導(dǎo)致得到的測(cè)試效果精度低。同時(shí),在實(shí)際應(yīng)用中,需要根據(jù)任務(wù)測(cè)試運(yùn)行時(shí)的結(jié)果來(lái)確定相應(yīng)的調(diào)度策略,指導(dǎo)后續(xù)任務(wù)的運(yùn)行,若確定調(diào)度策略時(shí)采用實(shí)驗(yàn)室環(huán)境下的測(cè)試結(jié)果,調(diào)度策略的分配不夠合理,若直接依據(jù)實(shí)際運(yùn)行中的任務(wù),會(huì)導(dǎo)致需要很長(zhǎng)一段時(shí)間的運(yùn)行后才能完善各種類(lèi)型的任務(wù)的調(diào)度策略,耗時(shí)過(guò)長(zhǎng)。為此,本發(fā)明實(shí)施例相應(yīng)公開(kāi)了一種numa架構(gòu)下沙箱環(huán)境測(cè)試方法及其系統(tǒng),能夠?qū)⒄鎸?shí)任務(wù)在與生產(chǎn)環(huán)境完全相同的環(huán)境內(nèi)模擬運(yùn)行,測(cè)試精度高,得到的資源調(diào)度策略也符合真實(shí)運(yùn)行的需要。
參見(jiàn)圖1所示,本發(fā)明實(shí)施例公開(kāi)了一種numa架構(gòu)下沙箱環(huán)境測(cè)試方法,包括:
步驟s101:獲取生產(chǎn)環(huán)境內(nèi)的任務(wù)的任務(wù)信息,將其同步拷貝至沙箱環(huán)境內(nèi);沙箱環(huán)境的配置與生產(chǎn)環(huán)境的配置相同;
其中,上述任務(wù)信息可具體包括:任務(wù)運(yùn)行數(shù)據(jù)、任務(wù)所處的虛擬機(jī)、任務(wù)時(shí)間點(diǎn)。
可以理解的是,由于一個(gè)任務(wù)在不同的時(shí)間點(diǎn)其運(yùn)行情況不同,為了使生產(chǎn)環(huán)境內(nèi)的任務(wù)在沙箱環(huán)境中能夠處于基本完全相同的運(yùn)行環(huán)境,因此除了拷貝任務(wù)運(yùn)行數(shù)據(jù)和任務(wù)所處的虛擬機(jī)外,還需要拷貝任務(wù)時(shí)間點(diǎn)。
另外,由于真實(shí)環(huán)境下,一般往往會(huì)有多個(gè)任務(wù)同時(shí)運(yùn)行,這些任務(wù)之間很可能會(huì)互相干擾,因此為了保障沙箱環(huán)境下測(cè)試的真實(shí)性,一般需要將任務(wù)時(shí)間點(diǎn)內(nèi)同時(shí)運(yùn)行的多個(gè)任務(wù)一起拷貝至沙箱環(huán)境內(nèi),或者,若沙箱環(huán)境內(nèi)設(shè)置有包含多種任務(wù)記錄集合的任務(wù)測(cè)試集的話,也可以調(diào)用任務(wù)測(cè)試集中的記錄,模擬生成那些在真實(shí)環(huán)境中與拷貝任務(wù)并行運(yùn)行的其他任務(wù)。
步驟s102:運(yùn)行任務(wù),監(jiān)測(cè)任務(wù)的運(yùn)行狀態(tài)來(lái)獲取任務(wù)的指紋;
獲取指紋的過(guò)程具體為:通過(guò)計(jì)數(shù)器對(duì)所述任務(wù)的預(yù)定的硬件采樣事件進(jìn)行信息采集,并對(duì)采集的信息進(jìn)行分析挖掘,生成與所述任務(wù)對(duì)應(yīng)的指紋;其中,所述指紋中包括多個(gè)硬件性能指標(biāo)。
具體的,由于云環(huán)境下服務(wù)的多樣性,為了保證生成的任務(wù)指紋能夠準(zhǔn)確的識(shí)別不同的任務(wù),在本實(shí)施例中采用數(shù)據(jù)挖掘的方式來(lái)標(biāo)注負(fù)載任務(wù)之間的區(qū)別,確定與每個(gè)任務(wù)的硬件性能指標(biāo)對(duì)應(yīng)的數(shù)值范圍,在對(duì)任務(wù)進(jìn)行識(shí)別時(shí),只要該任務(wù)的硬件性能指標(biāo)的計(jì)數(shù)值落在相對(duì)應(yīng)的數(shù)值區(qū)間內(nèi),則認(rèn)為該任務(wù)與該區(qū)間內(nèi)的任務(wù)屬于同一種類(lèi)型的任務(wù)。
步驟s103:依據(jù)指紋及經(jīng)驗(yàn)數(shù)據(jù)庫(kù)確定任務(wù)的資源調(diào)度策略;經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)有各類(lèi)指紋對(duì)應(yīng)的資源調(diào)度策略。
其中,步驟s102中的過(guò)程具體為:
步驟s1021:在numa架構(gòu)的沙箱環(huán)境進(jìn)行測(cè)試的過(guò)程中,對(duì)當(dāng)前時(shí)刻下沙箱環(huán)境中運(yùn)行的任務(wù)進(jìn)行實(shí)時(shí)監(jiān)視;
步驟s1022:若監(jiān)視到當(dāng)前時(shí)刻下沙箱環(huán)境中存在需要進(jìn)行資源調(diào)度的任務(wù),則提取相應(yīng)的任務(wù)指紋。
另外,由于任務(wù)的運(yùn)行時(shí)間及運(yùn)行地點(diǎn)的不同,會(huì)導(dǎo)致產(chǎn)生的指紋不同;因此,在本實(shí)施例中為了提高識(shí)別的準(zhǔn)確度,可將在檢測(cè)任務(wù)的運(yùn)行狀態(tài)及資源需求時(shí),同時(shí)采集該任務(wù)的多維度參數(shù),該多維度參數(shù)可以為任務(wù)的運(yùn)行時(shí)間、運(yùn)行地點(diǎn)等,這樣在對(duì)任務(wù)進(jìn)行識(shí)別時(shí),可優(yōu)先從經(jīng)驗(yàn)數(shù)據(jù)庫(kù)中運(yùn)行時(shí)間及運(yùn)行地點(diǎn)一致的指紋開(kāi)始查找,從而提高了任務(wù)識(shí)別的準(zhǔn)確度。
此時(shí)步驟s102中,多維度獲取指紋的過(guò)程具體包括:
檢測(cè)任務(wù)的運(yùn)行狀態(tài)及資源需求,并記錄任務(wù)的多維度參數(shù);
利用所述任務(wù)的運(yùn)行狀態(tài)、資源需求以及多維度參數(shù),生成與所述任務(wù)對(duì)應(yīng)的指紋。
相應(yīng)的,之后步驟s103的過(guò)程具體為:
判斷經(jīng)驗(yàn)數(shù)據(jù)庫(kù)中是否存在與所述指紋一致的目標(biāo)指紋;若存在,則識(shí)別成功;若不存在,則識(shí)別失敗;識(shí)別成功后,從經(jīng)驗(yàn)數(shù)據(jù)庫(kù)獲取識(shí)別任務(wù)的資源調(diào)度策略;經(jīng)驗(yàn)數(shù)據(jù)庫(kù)中包括已識(shí)別任務(wù)的指紋。
具體的,經(jīng)驗(yàn)數(shù)據(jù)庫(kù)的創(chuàng)建過(guò)程具體為:
采集歷史上在不同時(shí)刻下運(yùn)行時(shí)會(huì)引發(fā)資源調(diào)度需求的任務(wù)對(duì)應(yīng)的運(yùn)行時(shí)刻信息以及任務(wù)信息;確定出與采集到的運(yùn)行時(shí)刻信息以及任務(wù)信息對(duì)應(yīng)的資源調(diào)度策略;將采集到的運(yùn)行時(shí)刻信息、任務(wù)信息以及確定出的相應(yīng)的資源調(diào)度策略進(jìn)行記錄,得到經(jīng)驗(yàn)數(shù)據(jù)庫(kù)。
其中,上述采集歷史上在不同時(shí)刻下運(yùn)行時(shí)會(huì)引發(fā)資源調(diào)度需求的任務(wù)對(duì)應(yīng)的運(yùn)行時(shí)刻信息以及任務(wù)信息的過(guò)程,具體可以包括:采集歷史上在不同時(shí)刻下運(yùn)行時(shí)會(huì)引發(fā)資源調(diào)度需求的單個(gè)任務(wù)所對(duì)應(yīng)的運(yùn)行時(shí)刻以及任務(wù)信息;
以及采集歷史上在不同時(shí)刻下運(yùn)行時(shí)會(huì)產(chǎn)生相互干擾事件的任務(wù)對(duì)應(yīng)的運(yùn)行時(shí)刻信息以及任務(wù)信息。
進(jìn)一步的,本實(shí)施例還可以包括:
在沙箱環(huán)境中有多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),監(jiān)測(cè)任務(wù)間的資源干擾;
若出現(xiàn)資源競(jìng)爭(zhēng),確定當(dāng)前的資源瓶頸,并依據(jù)預(yù)設(shè)策略調(diào)整相應(yīng)任務(wù)對(duì)應(yīng)的資源調(diào)度策略,確定相應(yīng)任務(wù)的資源分配。
其中,確定瓶頸后,具體調(diào)整資源分配的過(guò)程為:
確定不滿足目標(biāo)服務(wù)水平slo的目標(biāo)任務(wù);
根據(jù)所述目標(biāo)任務(wù)的資源瓶頸、任務(wù)類(lèi)型以及任務(wù)指標(biāo),對(duì)所述目標(biāo)任務(wù)的資源調(diào)度策略進(jìn)行調(diào)整;其中,所述任務(wù)指標(biāo)包括硬件性能指標(biāo)及任務(wù)固有性能指標(biāo)。
具體的,自適應(yīng)調(diào)度器需要實(shí)時(shí)的監(jiān)測(cè)任務(wù)的性能結(jié)果,例如:延遲,吞吐量或者任務(wù)完成時(shí)間等信息。如果slo無(wú)法被滿足,則需要進(jìn)一步調(diào)整瓶頸資源的分配。任務(wù)資源的干擾需要與負(fù)載的變化進(jìn)行區(qū)隔,因?yàn)橘Y源干擾帶來(lái)的性能降級(jí)與負(fù)載強(qiáng)度的變化具有本質(zhì)的不同,負(fù)載強(qiáng)度變化可以從任務(wù)分類(lèi)中體現(xiàn)出來(lái)。本實(shí)施例采用如下的公式標(biāo)識(shí)資源競(jìng)爭(zhēng)帶來(lái)的性能影響:
該index表示在完成資源分配之后,資源競(jìng)爭(zhēng)對(duì)于性能的影響。值得說(shuō)明的是,本實(shí)施例并不僅僅依賴于底層硬件信息作為任務(wù)的性能指標(biāo),還依賴于任務(wù)本身固有的性能指標(biāo),例如,響應(yīng)時(shí)間與吞吐量。因此,當(dāng)任務(wù)競(jìng)爭(zhēng)確實(shí)存在時(shí),資源競(jìng)爭(zhēng)分析器指定資源競(jìng)爭(zhēng)的瓶頸,例如,共享cache以及i/o;并且,在運(yùn)行調(diào)度策略后,如果任務(wù)固有的性能指標(biāo)無(wú)法被滿足,本實(shí)施例對(duì)資源調(diào)度策略進(jìn)行調(diào)整,例如:調(diào)整最低的資源分配用于滿足任務(wù)的性能需求。此外,自適應(yīng)調(diào)度器通過(guò)任務(wù)的指紋從經(jīng)驗(yàn)數(shù)據(jù)庫(kù)中查詢當(dāng)前瓶頸資源的分配建議,如果當(dāng)前的經(jīng)驗(yàn)數(shù)據(jù)庫(kù)中不包含到來(lái)任務(wù)的對(duì)應(yīng)指紋信息,自適應(yīng)調(diào)度器在經(jīng)驗(yàn)數(shù)據(jù)庫(kù)中找到類(lèi)似的指紋索引,找出類(lèi)似的資源分配策略用于執(zhí)行調(diào)度過(guò)程。
進(jìn)一步的,本實(shí)施例還可以包括:
當(dāng)生產(chǎn)環(huán)境中有多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),計(jì)算沙箱環(huán)境內(nèi)獨(dú)立運(yùn)行的任務(wù)與生產(chǎn)環(huán)境內(nèi)該任務(wù)的性能結(jié)果進(jìn)行比較,得到該任務(wù)的性能干擾粒度;然后將性能干擾粒度存儲(chǔ)至經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi),供后續(xù)任務(wù)依據(jù)自身指紋與經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)確定資源調(diào)度策略。
另外,在沙箱環(huán)境下對(duì)任務(wù)進(jìn)行測(cè)試運(yùn)行的目的是為了完善經(jīng)驗(yàn)數(shù)據(jù)庫(kù),得到用于指導(dǎo)實(shí)際任務(wù)運(yùn)行的資源調(diào)度策略,這種情況下,若只是通過(guò)運(yùn)行真實(shí)任務(wù),則完善經(jīng)驗(yàn)數(shù)據(jù)庫(kù)的時(shí)間會(huì)很長(zhǎng),為了加速經(jīng)驗(yàn)數(shù)據(jù)庫(kù)的完善速度以及提高經(jīng)驗(yàn)數(shù)據(jù)庫(kù)的豐富性,需要在沙箱環(huán)境內(nèi)運(yùn)行一些合成的虛擬任務(wù),這些虛擬任務(wù)主要包括真實(shí)環(huán)境內(nèi)出現(xiàn)較少的類(lèi)型的任務(wù)以及同時(shí)出現(xiàn)較少的任務(wù)組合等。
為實(shí)現(xiàn)上述目的,則需要在沙箱環(huán)境內(nèi)創(chuàng)建任務(wù)測(cè)試集。
在具體實(shí)施例中,本發(fā)明還包括:
將沙箱環(huán)境內(nèi)運(yùn)行的任務(wù)的任務(wù)信息、與其并行運(yùn)行的任務(wù)的任務(wù)信息以及該任務(wù)的資源調(diào)度策略記錄至預(yù)設(shè)數(shù)據(jù)庫(kù)內(nèi)。
進(jìn)一步的,該方法還包括:
所述預(yù)設(shè)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)的真實(shí)任務(wù)運(yùn)行記錄以及用戶輸入的多種環(huán)境下的特定任務(wù)的運(yùn)行記錄共同組成任務(wù)測(cè)試集;
將所述任務(wù)測(cè)試集中的任務(wù)作為基礎(chǔ),調(diào)整相應(yīng)的任務(wù)參數(shù)合成特定運(yùn)行環(huán)境下特定類(lèi)型的虛擬任務(wù);
運(yùn)行所述虛擬任務(wù),得到所述虛擬任務(wù)對(duì)應(yīng)的指紋及調(diào)度策略存儲(chǔ)至所述經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)。
其中,用戶輸入特定任務(wù)的目的是為了補(bǔ)充真實(shí)任務(wù)運(yùn)行記錄的片面性和不足,任務(wù)測(cè)試集內(nèi)需要包含各種類(lèi)型的任務(wù)以及各種同時(shí)運(yùn)行的任務(wù)組合。
可見(jiàn),本發(fā)明實(shí)施例通過(guò)將生產(chǎn)環(huán)境內(nèi)的任務(wù)同步拷貝至與生產(chǎn)環(huán)境完全相同的沙箱環(huán)境內(nèi)運(yùn)行,能夠完全模擬任務(wù)在實(shí)際運(yùn)行中的各種復(fù)雜條件,測(cè)試精度高,進(jìn)而使得沙箱環(huán)境內(nèi)任務(wù)運(yùn)行后確定的資源調(diào)度策略能夠符合生產(chǎn)環(huán)境的需要。
參見(jiàn)圖2所示,本發(fā)明實(shí)施例還相應(yīng)公開(kāi)了一種numa架構(gòu)下沙箱環(huán)境測(cè)試系統(tǒng),包括:
代理模塊201,用于獲取生產(chǎn)環(huán)境內(nèi)的任務(wù)的任務(wù)信息,將其同步拷貝至沙箱環(huán)境內(nèi);沙箱環(huán)境的配置與生產(chǎn)環(huán)境的配置相同;
沙箱環(huán)境模塊202,用于運(yùn)行任務(wù);
指紋采集模塊203,用于監(jiān)測(cè)任務(wù)的運(yùn)行狀態(tài)來(lái)獲取任務(wù)的指紋;
調(diào)度模塊204,用于依據(jù)指紋及經(jīng)驗(yàn)數(shù)據(jù)庫(kù)確定任務(wù)的資源調(diào)度策略;經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)有各類(lèi)指紋對(duì)應(yīng)的資源調(diào)度策略。
進(jìn)一步的,本實(shí)施例還可以包括:
處于沙箱環(huán)境內(nèi)的資源競(jìng)爭(zhēng)分析模塊,用于在沙箱環(huán)境中有多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),監(jiān)測(cè)任務(wù)間的資源干擾;若出現(xiàn)資源競(jìng)爭(zhēng),確定當(dāng)前的資源瓶頸,并將當(dāng)前任務(wù)信息及瓶頸信息發(fā)送至調(diào)度模塊204。
另外,調(diào)度模塊204還可以包括:
競(jìng)爭(zhēng)處理單元,用于依據(jù)資源競(jìng)爭(zhēng)分析模塊發(fā)送的任務(wù)信息及瓶頸信息以及預(yù)設(shè)策略,調(diào)整相應(yīng)任務(wù)對(duì)應(yīng)的資源調(diào)度策略,確定相應(yīng)任務(wù)的資源分配。
進(jìn)一步的,本實(shí)施例還可以包括:
干擾粒度計(jì)算模塊,用于當(dāng)生產(chǎn)環(huán)境中有多個(gè)任務(wù)同時(shí)運(yùn)行時(shí),計(jì)算沙箱環(huán)境內(nèi)獨(dú)立運(yùn)行的任務(wù)與生產(chǎn)環(huán)境內(nèi)該任務(wù)的性能結(jié)果進(jìn)行比較,得到該任務(wù)的性能干擾粒度;將性能干擾粒度存儲(chǔ)至經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi),供后續(xù)任務(wù)依據(jù)自身指紋與經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)確定資源調(diào)度策略。
進(jìn)一步的,本實(shí)施例中的沙箱環(huán)境模塊202還可以包括:
緩存模擬單元,用于在任務(wù)觸發(fā)數(shù)據(jù)庫(kù)請(qǐng)求時(shí),從代理模塊201的緩存內(nèi)獲取任務(wù)所需的數(shù)據(jù)庫(kù)數(shù)據(jù)。
作為優(yōu)選地,該裝置還包括:
預(yù)設(shè)數(shù)據(jù)庫(kù),用于記錄沙箱環(huán)境內(nèi)運(yùn)行的任務(wù)的任務(wù)信息、與其并行運(yùn)行的任務(wù)的任務(wù)信息以及該任務(wù)的資源調(diào)度策略記錄以及記錄用戶輸入的多種環(huán)境下的特定任務(wù)的運(yùn)行記錄共同組成任務(wù)測(cè)試集;
虛擬任務(wù)運(yùn)行模塊,用于將任務(wù)測(cè)試集中的任務(wù)作為基礎(chǔ),調(diào)整相應(yīng)的任務(wù)參數(shù)合成特定運(yùn)行環(huán)境下特定類(lèi)型的虛擬任務(wù);運(yùn)行虛擬任務(wù),得到虛擬任務(wù)對(duì)應(yīng)的指紋及調(diào)度策略存儲(chǔ)至經(jīng)驗(yàn)數(shù)據(jù)庫(kù)內(nèi)。
可見(jiàn),本發(fā)明實(shí)施例通過(guò)將生產(chǎn)環(huán)境內(nèi)的任務(wù)同步拷貝至與生產(chǎn)環(huán)境完全相同的沙箱環(huán)境內(nèi)運(yùn)行,能夠完全模擬任務(wù)在實(shí)際運(yùn)行中的各種復(fù)雜條件,測(cè)試精度高,進(jìn)而使得沙箱環(huán)境內(nèi)任務(wù)運(yùn)行后確定的資源調(diào)度策略能夠符合生產(chǎn)環(huán)境的需要。
最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。
專(zhuān)業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專(zhuān)業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤(pán)、可移動(dòng)磁盤(pán)、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。