基于機器學習的異構感知多核調度方法
發(fā)布時間:2020-12-25 02:32
異構多核處理器已成為現(xiàn)代嵌入式系統(tǒng)的主流解決方案,而好的在線映射或調度方法對其充分發(fā)揮高性能和低功耗的優(yōu)勢起著至關重要的作用。針對異構多核處理系統(tǒng)上的應用程序動態(tài)映射和調度問題,提出一種基于機器學習、能快速準確評估程序性能和程序行為階段變化的檢測技術來有效確定重映射時機從而最大化系統(tǒng)性能的映射和調度解決方案。該方案一方面通過合理選擇處理核和程序運行時的靜態(tài)和動態(tài)特征來有效感知異構處理所帶來的計算能力和工作負載運行行為的差異,從而能夠構建更加準確的預測模型;另一方面通過引入階段檢測來盡可能減少在線映射計算的次數(shù),從而能夠提供更加高效的調度方案。最后,在SPLASH-2數(shù)據(jù)集上驗證了所提出調度方案的有效性。實驗結果表明,與Linux默認的完全公平調度(CFS)方法相比,所提出的方法在系統(tǒng)計算性能方面提高了52%,在CPU資源利用率上提高了9.4%。這表明所提方法在系統(tǒng)計算性能和CPU資源利用率方面具備優(yōu)良的性能,可以有效提升異構多核系統(tǒng)的應用動態(tài)映射和調度效果。
【文章來源】:計算機應用. 2020年10期 北大核心
【文章頁數(shù)】:7 頁
【部分圖文】:
整體框架
圖2展示了運行SPEC2006基準程序測試集的gcc程序時其IPC值隨時間片變化的情況。圖2中的橫坐標表示時間片的編號,每個時間片對應的縱坐標表示gcc程序在該時間片的IPC平均值。IPC值相對穩(wěn)定的時間片區(qū)間可以看作一個程序穩(wěn)定運行的階段,從圖2可以看出程序在運行時其IPC值會隨著時間發(fā)生階段性的變化,這種階段性變化會在相鄰兩個時間片的IPC發(fā)生明顯變化時出現(xiàn)。此外,還可以看到每個階段橫跨的時間有長有短,有的階段維持的時間跨度甚至多達成百上千個時間片。由于在每個階段程序行為相對穩(wěn)定,因此就可以只在階段發(fā)生切換時對現(xiàn)有的系統(tǒng)映射進行調整計算并尋找下一個階段的最優(yōu)映射方案,從而大大減少映射計算的次數(shù),有效地降低在線計算的時間開銷。由于階段切換時相鄰兩個時間的IPC變化較為明顯,因而通過檢測IPC變化幅度就可以檢測階段是否發(fā)生切換。為此本文通過在每個處理核上設置一個階段檢測器來完成階段檢測,工作原理是比較在相鄰兩個時間片所采集到的處理核上所運行線程的IPC值的變化幅度與所設閾值的大小,如果變化幅度高于所設閾值則認為階段發(fā)生切換。IPC波動幅度δipc的計算公式為:,
在激活函數(shù)的使用上本文選擇了Re LU(Rectified Linear Unit)函數(shù),該函數(shù)不含任何復雜的運算(如指數(shù)級運算),只擁有很小的計算量,可以最大限度地降低異構多核調度中產(chǎn)生的在線預測時間開銷。同時,Re LU函數(shù)在訓練過程中也可以有效避免梯度飽和問題,防止訓練失敗的情況出現(xiàn)。詳細的ANN連接結構如圖3所示。ANN性能預測器屬于機器學習中的回歸模型,因此本文使用回歸模型常用的均方誤差(Mean Squared Error,MSE)損失函數(shù)來對ANN性能預測器進行訓練。使用MSE函數(shù)訓練ANN性能預測器時,整個ANN的梯度會隨MSE值的增大而增大,而MSE值趨于0時網(wǎng)絡的梯度則會減小,因此采用固定的學習率即可保證整個網(wǎng)絡可以有效地收斂,并在訓練結束時取得良好的預測效果,所以本文將學習率設置為固定的0.001。
【參考文獻】:
期刊論文
[1]基于機器學習的異構多核處理器系統(tǒng)在線映射方法[J]. 安鑫,張影,康安,陳田,李建華. 計算機應用. 2019(06)
[2]性能非對稱多核處理器下異構感知調度技術[J]. 趙姍,楊秋松,李明樹. 軟件學報. 2019(04)
本文編號:2936780
【文章來源】:計算機應用. 2020年10期 北大核心
【文章頁數(shù)】:7 頁
【部分圖文】:
整體框架
圖2展示了運行SPEC2006基準程序測試集的gcc程序時其IPC值隨時間片變化的情況。圖2中的橫坐標表示時間片的編號,每個時間片對應的縱坐標表示gcc程序在該時間片的IPC平均值。IPC值相對穩(wěn)定的時間片區(qū)間可以看作一個程序穩(wěn)定運行的階段,從圖2可以看出程序在運行時其IPC值會隨著時間發(fā)生階段性的變化,這種階段性變化會在相鄰兩個時間片的IPC發(fā)生明顯變化時出現(xiàn)。此外,還可以看到每個階段橫跨的時間有長有短,有的階段維持的時間跨度甚至多達成百上千個時間片。由于在每個階段程序行為相對穩(wěn)定,因此就可以只在階段發(fā)生切換時對現(xiàn)有的系統(tǒng)映射進行調整計算并尋找下一個階段的最優(yōu)映射方案,從而大大減少映射計算的次數(shù),有效地降低在線計算的時間開銷。由于階段切換時相鄰兩個時間的IPC變化較為明顯,因而通過檢測IPC變化幅度就可以檢測階段是否發(fā)生切換。為此本文通過在每個處理核上設置一個階段檢測器來完成階段檢測,工作原理是比較在相鄰兩個時間片所采集到的處理核上所運行線程的IPC值的變化幅度與所設閾值的大小,如果變化幅度高于所設閾值則認為階段發(fā)生切換。IPC波動幅度δipc的計算公式為:,
在激活函數(shù)的使用上本文選擇了Re LU(Rectified Linear Unit)函數(shù),該函數(shù)不含任何復雜的運算(如指數(shù)級運算),只擁有很小的計算量,可以最大限度地降低異構多核調度中產(chǎn)生的在線預測時間開銷。同時,Re LU函數(shù)在訓練過程中也可以有效避免梯度飽和問題,防止訓練失敗的情況出現(xiàn)。詳細的ANN連接結構如圖3所示。ANN性能預測器屬于機器學習中的回歸模型,因此本文使用回歸模型常用的均方誤差(Mean Squared Error,MSE)損失函數(shù)來對ANN性能預測器進行訓練。使用MSE函數(shù)訓練ANN性能預測器時,整個ANN的梯度會隨MSE值的增大而增大,而MSE值趨于0時網(wǎng)絡的梯度則會減小,因此采用固定的學習率即可保證整個網(wǎng)絡可以有效地收斂,并在訓練結束時取得良好的預測效果,所以本文將學習率設置為固定的0.001。
【參考文獻】:
期刊論文
[1]基于機器學習的異構多核處理器系統(tǒng)在線映射方法[J]. 安鑫,張影,康安,陳田,李建華. 計算機應用. 2019(06)
[2]性能非對稱多核處理器下異構感知調度技術[J]. 趙姍,楊秋松,李明樹. 軟件學報. 2019(04)
本文編號:2936780
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2936780.html
最近更新
教材專著