面向多核平臺(tái)不穩(wěn)定性的體系結(jié)構(gòu)評(píng)估方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)體系結(jié)構(gòu)評(píng)估技術(shù)領(lǐng)域,具體涉及一種面向多核平臺(tái)不穩(wěn)定性的體系結(jié)構(gòu)評(píng)估方法。
【背景技術(shù)】
[0002]隨著單個(gè)核上晶體管密度不斷增加,摩爾定律難以繼續(xù)生效,CPU設(shè)計(jì)者更多地致力于通過(guò)增加核的數(shù)量來(lái)進(jìn)一步提高處理器的計(jì)算能力。然而,由于多核平臺(tái)復(fù)雜的核間交互,如線程迀移、共享資源競(jìng)爭(zhēng)等,導(dǎo)致同一個(gè)程序或者同一組程序的組合在多次執(zhí)行的時(shí)候性能表現(xiàn)出顯著差異。這種不穩(wěn)定現(xiàn)象給多核平臺(tái)相關(guān)各種評(píng)估造成了極大障礙。
[0003]為了解決不穩(wěn)定現(xiàn)象帶來(lái)的問(wèn)題,目前主流研究主要集中在兩個(gè)方向:消除不穩(wěn)定方法和基于統(tǒng)計(jì)的分析方法。消除不穩(wěn)定的方法跟蹤并記錄程序執(zhí)行的關(guān)鍵路徑,并通過(guò)重放機(jī)制(Replay)強(qiáng)制后續(xù)執(zhí)行重現(xiàn)此路徑。然而這種方法強(qiáng)制多次測(cè)試執(zhí)行相同的路徑,未考慮不同的執(zhí)行路徑所體現(xiàn)的不同系統(tǒng)行為?;诮y(tǒng)計(jì)分析的方法通過(guò)建立數(shù)學(xué)模型來(lái)計(jì)算在既定置信度下需要測(cè)試的次數(shù),并對(duì)每次測(cè)試的結(jié)果求平均值來(lái)估算性能。該方法的不足在于沒(méi)有考慮到測(cè)試程序在多核平臺(tái)上不穩(wěn)定性的根本因素,即執(zhí)行路徑的變化。由于不穩(wěn)定性,測(cè)試程序在不同的體系結(jié)構(gòu)設(shè)計(jì)上的多次執(zhí)行的執(zhí)行路徑分布不相匹配,對(duì)于這些不相匹配的執(zhí)行納入計(jì)算平均值會(huì)導(dǎo)致體系結(jié)構(gòu)評(píng)估的誤差,降低評(píng)估結(jié)論的可靠性。
[0004]鑒于這些技術(shù)方案在路徑覆蓋面和可靠性上的缺陷,本發(fā)明提出了一種基于相似路徑的多核平臺(tái)體系結(jié)構(gòu)評(píng)估方法。本發(fā)明可以覆蓋到測(cè)試程序在多核平臺(tái)上的不同路徑,并且僅針對(duì)相似路徑的執(zhí)行進(jìn)行比較,提高了評(píng)估的精準(zhǔn)度。同時(shí),本系統(tǒng)可以集成在體系結(jié)構(gòu)模擬器或擴(kuò)展在原始硬件上,其開(kāi)銷可以忽略不計(jì)。本評(píng)估方法提高了體系結(jié)構(gòu)評(píng)估的可靠性,對(duì)體系結(jié)構(gòu)設(shè)計(jì)領(lǐng)域有著重要意義。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種路徑覆蓋面廣、評(píng)估精準(zhǔn)度高的面向多核平臺(tái)不穩(wěn)定性的體系結(jié)構(gòu)評(píng)估方法。
[0006]本發(fā)明提供的面向多核平臺(tái)不穩(wěn)定性的體系結(jié)構(gòu)評(píng)估方法,包括多核路徑特征提取方法和相似路徑劃分方法;其中,多核路徑特征提取方法根據(jù)運(yùn)行環(huán)境,例如體系結(jié)構(gòu)模擬器或硬件擴(kuò)展,來(lái)收集測(cè)試程序在多核平臺(tái)上執(zhí)行路徑的特征向量;相似路徑劃分方法通過(guò)基于機(jī)器學(xué)習(xí)的核對(duì)齊、區(qū)間對(duì)齊、聚類等方法,劃分出具有相似路徑的多次執(zhí)行,并基于相似路徑對(duì)不同的體系結(jié)構(gòu)設(shè)計(jì)進(jìn)行評(píng)估。
[0007]所述多核路徑特征提取方法,即在測(cè)試程序運(yùn)行時(shí)收集其執(zhí)行路徑特征向量,其具體步驟為:
首先,將程序的執(zhí)行劃分成多個(gè)區(qū)間,區(qū)間劃分的單位需要表征各個(gè)線程或核相對(duì)執(zhí)行速度的信息,例如時(shí)鐘周期等; 當(dāng)全局統(tǒng)一的區(qū)間劃分單位每到達(dá)一預(yù)設(shè)值時(shí),在各個(gè)核內(nèi)生成出各核在該區(qū)間內(nèi)的程序執(zhí)行特征的信息,例如基本向量塊(BBV);
然后,將每個(gè)核的程序執(zhí)行特征的信息排列在一起組成該區(qū)間的特征向量;
最后,將運(yùn)行時(shí)每個(gè)區(qū)間的特征向量排列在一起組成執(zhí)行路徑特征向量。
[0008]為減少執(zhí)行路徑特征向量的存儲(chǔ)開(kāi)銷,每個(gè)程序執(zhí)行特征的信息經(jīng)過(guò)降維處理,并且甚收集方式為:線上在各核中實(shí)現(xiàn)相位表收集相位信息與每個(gè)區(qū)間所對(duì)應(yīng)的相位即區(qū)間相位表,線下根據(jù)相位信息重組路徑特征向量。
[0009]所述相似路徑劃分的方法,包括以下階段:核對(duì)齊階段,區(qū)間對(duì)齊階段,聚類階段;其中:
(1)在核對(duì)齊階段,首先將各核的路徑特征向量合并為核路徑特征向量;然后對(duì)多次執(zhí)行的所有核路徑特征向量進(jìn)行機(jī)器學(xué)習(xí)的聚類操作,劃分在相同類內(nèi)的核路徑特征向量所代表的核,具有相似路徑并具有對(duì)應(yīng)關(guān)系;然后根據(jù)聚類結(jié)果生成核對(duì)齊矩陣,對(duì)齊矩陣的每一行為每一次執(zhí)行,每一列為各個(gè)劃分的類,每次執(zhí)行的每個(gè)核按照劃分結(jié)構(gòu)將其標(biāo)識(shí)符填入相對(duì)應(yīng)的矩陣位置中;最后根據(jù)核對(duì)齊矩陣中每一行內(nèi)不同核的順序?qū)γ看螆?zhí)行的路徑特征向量進(jìn)行調(diào)整與對(duì)齊;
核對(duì)齊操作結(jié)束后,線程映射不同的相似執(zhí)行路徑能在最終聚類階段正確識(shí)別為相似路徑;
(2)在區(qū)間對(duì)齊階段,首先以細(xì)粒度劃分執(zhí)行路徑特征向量收集區(qū)間;然后在此基礎(chǔ)上對(duì)所有路徑特征向量進(jìn)行等比例的遞歸劃分;最后直至劃分的區(qū)間粒度都小于一定值,此時(shí)不同執(zhí)行的區(qū)間數(shù)目相等,各區(qū)間代表的路徑百分比相同;
區(qū)間對(duì)齊操作結(jié)束后,執(zhí)行路徑特征向量長(zhǎng)度不同的相似路徑能在最終聚類階段正確識(shí)別為相似路徑;
(3)最終聚類階段,通過(guò)機(jī)器學(xué)習(xí)K-means算法將經(jīng)過(guò)核對(duì)齊與區(qū)間對(duì)齊的路徑特征向量進(jìn)行聚類;在同一類內(nèi)的路徑特征向量所代表的執(zhí)行具有相似的執(zhí)行路徑。
[0010]基于相似路徑對(duì)不同的體系結(jié)構(gòu)設(shè)計(jì)進(jìn)行評(píng)估方法,其過(guò)程是,將測(cè)試程序在不同的體系結(jié)構(gòu)設(shè)計(jì)上進(jìn)行多次執(zhí)行,通過(guò)多核路徑特征提取與相似路徑劃分得出具有相似路徑的執(zhí)行。其只針對(duì)在一種體系結(jié)構(gòu)設(shè)計(jì)上的執(zhí)行和在另一設(shè)計(jì)上擁有相對(duì)應(yīng)即具有相似路徑的執(zhí)行進(jìn)行性能比較,從而得出這兩種體系結(jié)構(gòu)設(shè)計(jì)的評(píng)估結(jié)論。
[0011]本評(píng)估方法可以在體系結(jié)構(gòu)設(shè)計(jì)中有效地在多核平臺(tái)的不穩(wěn)定性的影響下,可靠地評(píng)估出不同體系結(jié)構(gòu)設(shè)計(jì)間的差異,得出正確的評(píng)估結(jié)論,從而提高體系結(jié)構(gòu)的設(shè)計(jì)的可靠性。
【附圖說(shuō)明】
[0012]圖1是本發(fā)明的流程示意圖。
[0013]圖2是本發(fā)明中執(zhí)行路徑特征向量的結(jié)構(gòu)示意圖。
[0014]圖3是本發(fā)明執(zhí)行路徑特征向量收集硬件拓展結(jié)構(gòu)示意圖。
[0015]圖4是核對(duì)齊階段示意圖。
[0016]圖5是區(qū)間對(duì)齊階段示意圖。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0018]在此之前需要說(shuō)明的是,本說(shuō)明書(shū)所使用的術(shù)語(yǔ)或詞語(yǔ)不能限定解釋為通常的含義或辭典中的含義,而應(yīng)當(dāng)立足于為了以最佳方式說(shuō)明其發(fā)明人可以對(duì)術(shù)語(yǔ)的概念進(jìn)行適當(dāng)定義的原則解釋為符合本發(fā)明技術(shù)思想的含義和概念。隨之,本說(shuō)明書(shū)所記載的實(shí)施例和附圖中表示的結(jié)構(gòu)只是本發(fā)明最佳實(shí)施例之一,并不能完全代表本發(fā)明的技術(shù)思想,因此應(yīng)該理解到對(duì)于本發(fā)明而言可能會(huì)存在能夠進(jìn)行替換的各種等同物和變形例。
[0019]本發(fā)明以評(píng)估兩個(gè)不同的體系結(jié)構(gòu)設(shè)計(jì)為例,如圖1所示,【具體實(shí)施方式】如下:
(I)將同一測(cè)試程序在這兩種不同的體系結(jié)構(gòu)設(shè)計(jì)之上多次運(yùn)行。
[0020](2)根據(jù)運(yùn)行環(huán)境來(lái)收集測(cè)試