李丹丹, 姚淑珍,*, 王穎, 王森章, 譚火彬
(1. 北京航空航天大學 計算機學院, 北京 100083; 2. 中國科學院計算技術研究所 計算機體系結構國家重點實驗室, 北京100190; 3. 南京航空航天大學 計算機科學與技術學院, 南京 211106; 4. 北京航空航天大學 軟件學院, 北京 100083)
隨著集成電路工藝的進步以及系統結構設計的復雜度不斷提高,特別是隨著多核技術的發展,處理器設計相關的參數變得越來越多,從而使得處理器的設計空間呈指數式增長; 且處理器的工作負載通常由大量具有不同特性的應用程序組成。為滿足處理器性能、功耗和設計成本等方面的要求和限制,系統結構設計師面臨著更加嚴峻的挑戰:從龐大的設計空間中尋找滿足約束條件的最優參數組合,即是設計空間探索。為解決該問題,系統結構設計師通常在制造芯片前,利用軟件模擬技術來模擬一部分具有代表性的工作負載來探索處理器的設計空間,進而評估處理器各種參數組合的性能。然而,周期精準的模擬器的低速問題(比真實處理器運算速度慢了3~5個數量級),使得對設計空間中每種可能的設計參數組合都進行模擬是非常耗時且不可行的。導致的結果是,設計師被迫減少評估的參數配置數量:通常基于設計師對某些參數相對重要性的經驗以及功率預算等來確定需要模擬的參數組合。但此類方法有以下缺點:
1) 針對不同的應用程序,微體系結構設計參數對性能或功耗的影響程度是不同的,因此,設計師的經驗可能是不準確的。
2) 缺乏統計的嚴謹性,得到的結論可能不正確。
3) 缺乏對各個參數的重要性及意義、參數之間的相互作用等問題的探討。
為了解決以上問題,近年來的相關的研究主要關注如下3個方向:分析模型、快速的模擬技術和基于機器學習技術構建預測模型的方法。理論上,分析模型用來準確表征處理器性能和各種微體系結構參數之間的關系,能夠消除對耗時模擬的需要。然而,現有的處理器性能分析模型技術基于幾個簡化的假設,僅對少量的微結構參數建模[1-2]。并且,分析模型需要大量的專業領域知識,不具備通用性。因此,此類模型缺乏在處理器設計周期使用的準確性和靈活性。快速的模擬技術主要通過減少模擬指令來加速模擬,比較著名的有SimPoint[3]和SMARTS[4],能夠極大地加快單個模擬的速度。這些方法在一定程度上減少了設計空間探索中的模擬成本,但設計空間中的配置數量太過于龐大,僅僅通過減少單個配置模擬的時間非常有限。隨著機器學習技術的日益發展以及其在數據挖掘、社交網絡分析等領域[5-6]的廣泛應用,近年來,統計機器學習算法也被引入到系統結構設計領域中[7-20]。首先通過對設計空間中的一小部分配置進行模擬,然后根據模擬結果組成訓練數據集,并構建機器學習預測模型來預測設計空間中未模擬的配置性能或功耗響應,從而極大地減少設計空間探索中的模擬成本。這種方法取得了較好的實驗結果,往往和快速模擬技術SimPoint結合起來進行設計空間探索。例如,Joseph等提出使用線性模型建模處理器性能與微系統結構參數的關系[7]。然而,在實際應用中,處理器的響應結果與體系結構設計參數的關系并非只有簡單的線性關系。Joseph等又提出基于徑向基函數(RBF)的非線性回歸模型預測處理器性能[8]。Lee等在線性模型的基礎上,提出了采用樣條函數來刻畫兩者之間的非線性關系[9-10]。?pek等提出了基于人工神經網絡(Artificial Neural Network, ANN)的預測模型[11]。郭崎等提出基于模型樹的預測模型[12]。龐九鳳等提出基于支持向量機(SVM)的預測模型[13]。Palermo等提出結合實驗設計和響應面模型技術來識別滿足系統級約束的Pareto解集合[14]。2015年,Palermo等又提出基于監督的高水平分析的譜感知Pareto迭代細化方法,以尋找設計空間中滿足多約束的解集合[15]。針對單一預測模型的預測結果抖動的問題,郭崎等于2015年提出一種結合神經網絡模型、SVM和模型樹3種預測模型的元模型,從而提高了預測模型的魯棒性[16]。2016年, 考慮到隨機采樣訓練樣本的缺點,Li 等提出基于主動學習采樣的設計空間探索方法[17]。針對通用處理器的設計而言,為了避免對每個不同的程序都構建一個預測模型, Khan、Dubach和 Li等分別提出交叉應用的預測模型[18-20]。由于模擬太過耗時且設計空間過于龐大,對于設計空間探索來講,關鍵是如何利用一個足夠小的樣本集來構建預測模型,準確學習參數和響應之間的關系。傳統方法多數都是基于有監督學習的預測模型,通常需要模擬大量的配置來提高預測模型的精度。為了減少模擬成本(次數),一個直觀的考慮是基于少量已標記的樣本集,標記設計空間中未模擬(即沒有標記的)的配置(樣本),從而達到擴充訓練數據集的目的,進而提升預測模型的精度。此外,集成學習技術能夠通過結合多個基本預測模型,來提升模型的預測精度。因此,本文的目標是利用半監督學習和集成學習技術盡量減少模擬的次數并保證預測模型的精度。
本文首先提出采用集成學習算法AdaBoost提升人工神經網絡算法的預測精度和魯棒性。然后結合AdaBoost算法的特點,提出一種基于半監督學習的AdaBoost(Semi-Supervised Learning based AdaBoost,SSLBoost)模型,利用未標記樣本來擴展訓練數據集,進一步提升預測模型的精度。最后采用SSLBoost模型對未模擬配置的性能進行預測,從而搜索到最佳設計參數組合。
本文結合半監督學習和集成學習技術,以更少的模擬成本,來提升設計空間模型的精度。采用AdaBoost模型提升ANN的魯棒性和預測精度,并在此基礎上,提出一種半監督集成學習算法。圖1給出了本文提出的設計空間探索框架,主要分為2個階段:訓練數據集采樣階段和預測模型階段。在采樣階段,首先利用基于均勻隨機采樣方法從處理器設計空間中選取一部分設計配置(設計參數組合,如核的數目、Cache大小和發射寬度等的設計結構組合),利用模擬器進行模擬得到相應的性能響應(執行時間);然后將這些性能響應與設計參數共同組成初始訓練數據集。在預測模型階段,利用第1個階段的訓練數據集構建基于半監督學習的AdaBoost模型,迭代地對未標記樣本進行標記,從而擴大訓練數據集的規模,更加精確地預測設計空間中未模擬的設計結構的性能。

圖1 基于半監督集成學習的設計空間探索框架Fig.1 Design space exploration framework based on semi-supervised ensemble learning
考慮到預測模型的魯棒性和準確性,本文采用集成算法AdaBoost中的一個變種AdaBoost.RT算法[21]構建設計空間探索的預測模型。AdaBoost.RT是Shrestha和Solomatine在2006年提出一種基于回歸問題的提升算法[21],和其他提升算法一致,通過對多個弱學習器集成并提升為強的學習器。本文采用ANN作為弱學習器。
設L={(x1,y1),(x2,y2),…,(xm,ym)}為訓練集,m為模擬配置的數量,xm為由設計空間所有設計參數的取值組成的向量,例如,設計參數有頻率、發射寬度、核數目等,x1=(2,6,2,…)就表示x1是一個頻率大小為2 GHz,發射寬度為6,核的數目為2的一個設計配置。yi為模擬相應配置的處理器性能響應,如常用性能指標執行時間。(xi,yi)即配置與模擬的性能組成的向量,在機器學習領域被稱為一個已標記樣本,組成的已標記樣本集合被稱為訓練數據集。AdaBoost.RT模型迭代地訓練多個弱預測器h1,h2,…,hT,這些弱預測器的線性組合作為最終的預測模型H。算法的初始,弱預測器都是由m個帶相同權重D1(i)=1/m的樣本訓練得到的。ANN弱預測器的性能是使用訓練數據的輸出估計值和真實值的相對誤差來評價的。即ANN的錯誤率由一個預設的相對誤差閾值φ來計算的,φ用來區分預測是正確或錯誤的。若一個配置的相對誤差(Absolute Relative Error,Et(i))大于閾值φ,那么就認為該配置的預測響應是錯誤的,否則就是正確的。錯誤預測的數量可以用來計算誤差率εt,計算公式如下:
(1)

(2)
式中:Zt為一個標準化因子。在T次迭代以后,如式(3)所示,得到最終的回歸模型H,為每個輸入配置x分配一個響應值H(x),即預測模型對未模擬配置的性能預測值。
(3)
基于有監督學習的預測模型往往需要模擬大量的配置,才能構建出比較精確的預測模型,模擬成本較高。為了減少模擬次數,一個直觀的考慮是利用已有的、大量未模擬的設計配置(也稱為未標記樣本)來提高預測模型的精度。即采用半監督學習技術,根據少量已經標記的樣本為基礎,選取置信度較高的未標記樣本進行“偽”標記,來增加訓練數據集。
因此,本文提出了SSLBoost模型。其基本思想是結合半監督學習和集成學習技術,一方面基于已標記訓練樣本,利用多個學習器集成地提升為更強的學習器,另一方面,通過自訓練(self-training)的半監督學習技術利用未標記樣本增加訓練數據集的規模,進一步提升模型的預測精度。即將AdaBoost算法引入到半監督學習的過程當中,通過多次迭代訓練來提高預測模型的精度。
圖2給出了該算法流程圖,首先利用已標記樣本集L訓練AdaBoost模型;然后從未標記樣本集U中隨機選擇一部分組成未標記樣本池P,利用AdaBoost對未標記樣本池P中的樣本進行預測,根據AdaBoost中基本學習器(ANN)對樣本的預測結果,對樣本進行置信度評估,選擇出置信度最高的樣本;利用預測結果對其標記(本文稱為“偽”標記),添加到訓練數據集中,同時在未標記樣本池中刪除該樣本。重復迭代該過程,利用未標記樣本來增加訓練樣本的數量,從而提升預測模型的精度。

圖2 基于半監督學習的AdaBoost模型流程圖Fig.2 Flowchart of AdaBoost model based on semi-supervised learning
在半監督學習技術中,一個關鍵的問題就是樣本的置信度評估,其直接關系到算法是否選擇出有效的未標記樣本,影響算法的預測精度[22]。相比半監督分類學習,半監督回歸學習中的樣本置信度評估更難。分類問題中可以通過比較未標記樣本屬于不同類別的概率來評估,但回歸問題的類別標簽是連續的實值,很難找到這樣的估計概率。而本文的設計空間探索模型對性能的預測為回歸問題。
本文通過2個指標對未標記樣本進行置信度評估。①一致性(consistency)指標:AdaBoost模型中基本學習器預測未標記樣本分歧越小(即一致性越高)的樣本置信度越高;②誤差下降指標:將AdaBoost模型預測結果對未標記樣本進行“偽”標記,添加到訓練樣本集中,更新AdaBoost模型,對已標記樣本集進行預測,相比沒有添加該“偽”標記樣本時,使對已標記樣本集的預測誤差減小的樣本,置信度越高。也就是說,如果多個基本學習器對一個未模擬的設計配置預測得出比較一致、分歧很小的性能結果,則可以認為該配置的預測結果是相對穩定且準確的。若同時將該配置加入訓練數據集中,使得預測模型對已模擬設計配置的性能預測精度更高,那么該配置就是置信度較高的樣本。
本文采用變異系數(coefficient of variation)對未標記樣本的一致性進行評估。變異系數為標準差與平均數的比值稱,記為C,反應了數據在單位均值上的離散程度。變異系數值越低,代表設計配置的預測結果分歧越小,一致性越高。
算法1給出了SSLBoost算法的偽代碼。該算法的目標是迭代地依次擴大已標記的數據集,提升預測模型的精度。在訓練過程的每一次迭代,每個學習器預測未標記樣本池中的樣本,選擇出置信度高的樣本加入到訓練數據集中。在算法開始,由初始訓練集初始化AdaBoost.RT模型H。設h1,h2,…,hT為模型H的T個ANN,因為AdaBoost中的每個ANN對未模擬的配置樣本預測的結果不同,變異系數越小代表這T個ANN對該樣本的預測一致性越高。第i個未標記配置xi的C值由式(4)來計算:
(4)

基于AdaBoost中所有ANN對同一個未標記樣本池中的樣本預測,對能夠達成比較一致的預測結果的、且能夠使得模型對已標記樣本的預測誤差下降的樣本,基本上可以斷定該樣本的預測響應值是非常接近真實模擬響應值的,則可以省去不必要的模擬,將其添加到訓練數據集,進而提升AdaBoost模型的預測精度。
算法1SSLBoost算法
輸入:已標記的配置集合L, 所有未模擬的配置集合U。
輸出:未模擬的配置x的預測性能值。
創建未標記的樣本池P,隨機從U中選擇p個未標記樣本到P。
利用L訓練出AdaBoost.RT模型H。
迭代K次:
1H預測P中每一個未標記的配置,對于每個未標記樣本xi∈P,獲取預測結果hj(xi)。
2 計算未標記樣本池P中每個未標記樣本的變異系數C,基于C值對P中樣本升序排序
3 利用模型H預測L,記錄百分比誤差eL。
4 forn=1∶p
選擇C值排名為n的樣本xn,將H對xn的預測結果yn=H(xn)作為“偽”標記賦予該樣本(xn,yn),加入L形成新的集合L′←L∪{(xn,yn)},更新模型為H′,預測L,記錄百分比誤差eL′。
IfeL′ 樣本xn是置信度最高的樣本,記錄π←(xn,yn) 跳出循環; 5 ∥更新L和P P←P-π;L←L∪π 6 利用新的集合L重新構建Adaboost模型H。 7 從U中隨機挑選出來的樣本來補充未標記樣本池P,使其大小為p。 8 輸出預測結果H(x)。 本文采用科研領域廣泛使用的周期精準的模擬器GEM5[23]模擬應用程序在多核處理器多種配置之上的性能。由于多核處理器主要關注并行程序的執行性能,因此本文選取了PARSEC(The Princeton Application Repository for Shared-memory Computers)基準測試集[24],一個多線程應用程序組成的測試程序集。該程序集代表了未來運行在片上多核系統中的共享內存應用程序的發展趨勢。本文從中選取了10個程序來對設計空間進行評估,包括blackscholes、bodytrack、canneal、dedup、facesim、ferret、fluidanimate、freqmine、streamcluster和vips等。由于基準程序中需要模擬的動態指令過多,本文采用了快速模擬技術SimPoint來模擬1億條有代表性的指令,來節省每次模擬的模擬時間。本文采用執行時間作為性能響應。 表1給出了本文需要探索的多核處理器設計空間,涉及了10個主要與存儲系統密切相關的設計參數。這些設計參數的不同組合構成的設計空間包含了超過419萬個(4 194 304個)不同的設計配置。 本文采用均勻隨機采樣的方法對設計空間分別采集了2 200個設計進行模擬,從中隨機選擇200個樣本作為訓練數據集,剩余2 000個樣本作為測試數據集。本文將構建的預測模型對測試數據集進行預測的誤差作為對模型準確性的評估。 表1 多核設計空間 為了評估本文所提的基于半監督集成學習的設計空間探索方法對多核處理器建模的有效性,本文主要針對以下3個方面進行實驗評估:①對SSLBoost模型中的集成學習算法AdaBoost的有效性進行評估,通過與ANN性能進行比較,來驗證AdaBoost能否有效提升ANN的性能。②對SSLBoost模型中半監督學習算法的有效性進行評估,通過對比SSLBoost模型和有監督學習的AdaBoost模型的性能,來驗證半監督學習算法的有效性。本文所采用的對未標記樣本進行置信度評估的2個指標,是半監督集成學習算法的主流成熟技術,具有廣泛的應用[22,25-26]。其中,一致性指標能夠保證多個基本學習器ANN對樣本預測的確定性,確定性越高即分歧越小的樣本的預測準確率越高,屬于預測器已經學習到的知識[22-25];誤差下降指標也是半監督學習中增加樣本的一個普遍采用的評價指標[26]。③將SSLBoost的預測結果與當前主流的設計空間探索方法進行了比較,包括基于ANN[11]和基于SVM[13]的預測模型。對于ANN,本文實驗中的參數設置與文獻[11]中的設置一致,即包含一個16個神經元的隱含層,learning rate為0.001,而momentum為0.5。對于SVM,本文采用LIBSVM[27]中所提供的參數選擇工具來對每個程序分別自動搜索最優的訓練參數,以得到精確的預測模型。本文的SSLBoost模型中的基本學習器ANN設置的是雙隱含層,每層8個神經元,其他參數設置與文獻[11]中的一致。ANN基本學習器設為20個。半監督迭代次數K設為100,也就是說,本文訓練樣本集經過半監督學習后,被擴大到300的規模。鑒于訓練樣本集是隨機采樣的,對所有方法運行10次取預測誤差的平均值作為模型的預測誤差。 圖3(a)、(b)分別給出了在多核處理器設計場景下,上述方法對于性能的預測誤差RMAE和MSE的對比結果,Avg為平均值。從圖3可以看出,SSLBoost模型的RMAE分別比SVM、ANN和AdaBoost模型平均降低了7.6%、5.2%和1.5%。尤其是較難預測的程序streamcluster,SSLBoost與SVM、ANN和AdaBoost模型相比,RMAE平均降低了14%、10%和4.2%。圖3(b)展示了以ANN的預測誤差作為標準,幾種方法經過歸一化處理后的MSE對比。可以看出,SVM、ANN和AdaBoost模型的MSE平均是SSLBoost模型的4.9倍、3.1倍和1.5倍。 以上實驗結果表明,在同樣的模擬次數(200)開銷下,本文提出的設計空間探索方法可以顯著地提升預測模型精度。與ANN相比,有監督的AdaBoost算法能夠明顯提升ANN的預測精度,并且魯棒性較好,表明了本文所采用的集成學習算法的有效性。而SSLBoost模型是結合了半監督學習算法的AdaBoost模型,因此SSLBoost模型的預測精度高于原始的AdaBoost模型,則表明了本文提出的半監督學習算法的有效性。SSLBoost不但利用了有標記樣本對單個樣本精確描述的優勢,而且發揮了無標記樣本對訓練數據集整體描述的重要作用,從而使訓練出的模型具有更好的泛化性能,充分體現了半監督學習的優勢。 為了評估半監督學習的迭代過程中預測模型的精度變化,本文以基準程序vips為例,圖4(a)給出預測模型的RMAE隨著迭代過程的變化;圖4(b)給出將迭代初始的預測誤差MSE作為標準進行歸一化后,MSE隨著迭代過程的變化。RMAE基本是隨著迭代次數的增長均勻逐漸下降的,MSE在迭代次數大于10時,下降幅度較大,之后趨于平緩。由于初始訓練樣本集的限制,從未模擬配置中學習到的知識是有限的,當逐漸用盡能夠提升預測模型精度的優秀未標記樣本后,再選擇的置信度高的未標記樣本,對于訓練數據集來說是冗余的。 圖3 在多核設計場景下不同方法的預測精度對比Fig.3 Prediction accuracy comparsion of different methods in multicore design scenarios 圖4 多核設計場景下SSLBoost模型關于不同數量的訓練迭代次數的預測精度Fig.4 Prediction accuracy of SSLBoost model with respect to different numbers of training iterations in multicore design scenarios 由3.2節表明,本文提出的SSLBoost模型的預測精度在配置模擬次數相同的情況下優于其他2種方法(ANN和SVM)。本節則評估ANN、SVM分別需要多少訓練模擬樣本才能達到與SSLBoost模型相同的預測精度。 對于每個基準程序,和3.2節相同,采用200個均勻隨機采樣的訓練樣本來構建SSLBoost模型、ANN和SVM。從2.2節提到的2 000個測試樣本集中均勻隨機采樣選出300個樣本,作為ANN和SVM的備用訓練集。為公平起見,剩余的1 700個樣本作為3種方法的共同測試樣本集。然后從備用訓練數據集中隨機選擇10個樣本加入到訓練數據集中,重新構建ANN和SVM,檢驗ANN和SVM的預測精度是否達到SSLBoost的預測精度。重復這個過程,利用10個樣本作為增長步長,直到ANN和SVM達到與SSLBoost相同的預測精度,或者用盡備用訓練數據集里的樣本。 從表2可以看出,ANN和SVM分別需要191%、228+%的模擬樣本,才能達到和SSLBoost模型相當的預測精度。“+”表示對于一些基準程序,ANN或SVM用盡了所有備用訓練樣本(300),還是不能達到SSLBoost模型的預測精度。總之,SSLBoost模型能夠節省大量的訓練模擬。 表2 為達到SSLBoost模型相同的預測精度,ANN和SVM所需要的模擬配置(訓練樣本)數量Table 2 Numbers of simulated configurations (trainingexamples) required by ANN and SVM to achieve thesame level of prediction accuracy as SSLBoost model 通常來說,模擬108條指令需要10 min以上的模擬的時間。基于本文的訓練數據集,SSLBoost的訓練時間從0.5~1 h不等(隨基準程序變化)。雖然比ANN和SVM的訓練開銷時間(秒級)要長,但是節省了更多的模擬次數,即減少了大量的模擬時間開銷。實際在工業實踐中,每個程序的全部動態指令數目通常都有數109、甚至1010條。在這種情況下,SSLBoost模型的訓練開銷與模擬開銷相比基本上可以忽略不計。因此,3.3節的模擬次數比較,也表明了SSLBoost模型能夠極大地減少設計空間探索時間。 通常來說,除非將整個設計空間中的配置都模擬了,才能找到最優的配置,但這是不可行的。一個折中方案是對比由SSLBoost模型預測出的最優配置和由現有設計空間探索方法ANN和SVM預測的最優配置相對比。具體來講,從整個設計空間中隨機采樣3 000個配置,然后利用這3種方法來預測這3 000個配置的性能響應,從而尋找到其中的最優配置。最后模擬3種方法找到的最優配置,并直接比較其真實的模擬性能響應。以基準程序vips為例,表3展示了SSLBoost模型和其他2種模型預測的最優配置以及預測精度(RMAE)。這里ANN、SVM的訓練樣本集和SSLBoost模型的初始訓練集大小都為200,測試樣本集合大小為2 000。從表3可以看出,與其他2種方法相比,SSLBoost模型尋找的最優配置的性能最好,并且,SSLBoost模型對該配置預測的性能響應非常接近這個配置的真實模擬性能,僅僅3.5%的預測誤差。而其他2個方法得到的最優配置性能都較低,且預測精度也較低(誤差為12.9%、23.8%)。因此,在探索更優配置方面,SSLBoost模型無論在準確性和還是有效性上都優于ANN和SVM。 表3 各種模型預測的最優配置對比(vips) 本文提出了一種有效且高效的結合集成學習和半監督學習算法的多核設計空間探索框架。實驗結果表明: 1) 采用集成學習算法AdaBoost模型來集成ANN的預測模型能夠有效地提升ANN的預測精度。 2) 半監督集成學習模型SSLBoost模型利用未標記配置來擴充訓練樣本集,在相同的模擬代價下,相比現有的基于ANN和SVM的探索方法,能夠極大地降低模型的預測誤差。 3) 相比基于ANN和SVM的方法,SSLBoost模型能夠使用更少的模擬樣本來達到相當的預測精度。 因此,本文所提出的多核設計空間探索方法SSLBoost模型比現有的探索方法更加高效、準確。 參考文獻 (References) [1] NOONBURG D B,SHEN J P.Theoretical modeling of superscalar processor performance[C]∥Proceeding of International Symposium on Microarchitecture.New York:ACM,1994:52-62. [2] KARKHANIS T S,SMITH J E.Automated design of application specific superscalar processors:An analytical approach[C]∥Proceedings of the 34th International Symposium on Computer Architecture.New York:ACM,2007:402-411. [3] HAMERLY G,PERELMAN E,CALDER B.How to use SimPoint to pick simulation points[J].ACM Sigmetrics Performance Evaluation Review,2004,31(4):25-30. [4] WUNDERLICH R E,WENISCH T F,FALSAFI B,et al.SMARTS:Accelerating microarchitecture simulation via rigorous statistical sampling[C]∥Proceedings of the 30th Annual International Symposium on Computer Architecture.New York:ACM,2003:84-97. [5] WANG S,HU X,YU P S,et al.MMRate:Inferring multi-aspect diffusion networks with multi-pattern cascades[C]∥ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM,2014:1246-1255. [6] WANG S,LI Z,CHAO W,et al.Applying adaptive over-sampling technique based on data density and cost-sensitive SVM to imbalanced learning[C]∥ International Symposium on Neural Networks.Piscataway,NJ:IEEE Press,2012:1-8. [7] JOSEPH P J,VASWANI K,THAZHUTHAVEETIL M J.Construction and use of linear regression models for processor performance analysis[C]∥Proceedings of the 12th International Symposium on High-Performance Computer Architecture.Piscataway,NJ:IEEE Press,2006:99-108. [8] JOSEPH P J,VASWANI K,THAZHUTHAVEETIL M J.A predictive performance model for superscalar processors[C]∥Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture.Piscataway,NJ:IEEE Press,2006:161-170. [9] LEE B C,BROOKS D M.Accurate and efficient regression modeling for microarchitectural performance and power prediction[C]∥ Proceedings of 12th International Conference on Architectural Support for Programming Language and Operating Systems.New York:ACM,2006:185-194. [10] LEE B C,COLLINS J,WANG H,et al.CPR:Composable performance regression for scalable multiprocessor models[C]∥ Proceedings of the 41 st Annual IEEE/ACM International Symposium on Microarchitecture.Piscataway,NJ:IEEE Press,2008:270-281. [11] ?PEK E,MCKEE S A,CARUANA R,et al.Efficiently exploring architectural design spaces via predictive modeling[C]∥Proceedings of 12th International Conference on Architectural Support for Programming Language and Operating Systems.New York:ACM,2006:195-206. [12] 郭崎,陳天石,陳云霽.基于模型樹的多核設計空間探索技術[J].計算機輔助設計與圖形學學報,2012,24(6):710-720. GUO Q,CHEN T S,CHEN Y J.Model tree based multi-core design space exploration[J].Journal of Computer-Aided Design & Computer Graphics,2012,24(6):710-720(in Chinese). [13] PANG J F,LI X F,XIE J S,et al.Microarchitectural design space exploration via support vector machine[J].Acta Scientiarum Naturalium Universitatis Pekinensis,2010,46(1):55-63. [14] PALERMO G,SILVANO C,ZACCARIA V.ReSPIR:A response surface-based Pareto iterative refinement for application-specific design space exploration[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2009,28(12):1816-1829. [15] XYDIS S,PALERMO G,ZACCARIA V,et al.SPIRIT:Spectral-aware Pareto iterative refinement optimization for supervised high-level synthesis[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2015,34(1):155-159. [16] GUO Q,CHEN T,ZHOU Z H,et al.Robust design space modeling[J].ACM Transactions on Design Automation of Electronic Systems,2015:20(2):18. [17] LI D,YAO S,LIU Y H,et al.Efficient design space exploration via statistical sampling and AdaBoost learning[C]∥Design Automation Conference.New York:ACM,2016:1-6. [18] KHAN S,XEKALAKIS P,CAVAZOS J,et al.Using predictivemodeling for cross-program design space exploration in multicore systems[C]∥Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques.Piscataway,NJ:IEEE Press,2007:327-338. [19] DUBACH C,JONES T,OBOYLE M.Microarchitectural design space exploration using an architecture-centric approach[C]∥Proceedings of the 40th Annual IEEE/ACM International Symposium on Microarchitecture.Piscataway,NJ:IEEE Press,2007:262-271. [20] LI D,WANG S,YAO S,et al.Efficient design space exploration by knowledge transfer[C]∥Eleventh IEEE/ACM/IFIP International Conference on Hardware/software Codesign and System Synthesis.New York:ACM,2016:1-10. [21] SHRESTHA D L,SOLOMATINE D P.Experiments with AdaBoost.RT,an improved boosting scheme for regression[J].Neural Computation,2006,18(7):1678-1710. [22] ZHOU Z H,LI M.Semi-supervised learning by disagreement[J].Knowledge and Information Systems,2010,24(3):415-439. [23] BINKERT N,BECKMANN B,BLACK G,et al.The gem5 simulator[J].ACM SIGARCH Computer Architecture News,2011,39(2):1-7. [24] BIENIA C,KUMAR S,SINGH J P,et al.The PARSEC benchmark suite:Characterization and architectural implications[C]∥Proceedings of the 17th International Conference on Parallel Architecture and Compilation Techniques.New York:ACM,2008:72-81. [25] HAMED V,RONG J,ANIL K.Semi-supervised boosting for multi-class classification[C]∥European Conference on Principles of Data Mining and Knowledge Discovery,2008:522-537. [26] ZHOU Z H,LI M.Semi-supervised regression with co-training[C]∥Proceedings of the 19th International Joint Conference on Artificial Intelligence.New York:ACM,2005:908-913. [27] CHANG C C,LIN C J.LIBSVM:A library for support vector machines[J].ACM Transactions on Intelligent Systems and Technology,2011,2(3):27-1-27-27.2 實驗方法與環境
2.1 模擬器及基準測試程序
2.2 處理器設計空間

3 模型評估與比較
3.1 評估指標

3.2 預測精度評估


3.3 模擬次數

3.4 設計空間探索時間
3.5 探索更優配置

4 結 論