亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        熱安全約束下異構(gòu)多核系統(tǒng)動(dòng)態(tài)映射方法

        2021-09-18 06:22:14楊海嬌李建華任福繼
        計(jì)算機(jī)應(yīng)用 2021年9期
        關(guān)鍵詞:預(yù)測(cè)器線程異構(gòu)

        安 鑫,楊海嬌,李建華,任福繼

        (1.合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,合肥 230601;2.情感計(jì)算與先進(jìn)智能機(jī)器安徽省重點(diǎn)實(shí)驗(yàn)室(合肥工業(yè)大學(xué)),合肥 230601)

        (*通信作者電子郵箱xin.an@hfut.edu.cn)

        0 引言

        異構(gòu)系統(tǒng)既使用簡(jiǎn)單處理核(適合執(zhí)行存儲(chǔ)密集型任務(wù)的處理核)又使用復(fù)雜處理核(適合執(zhí)行計(jì)算密集型任務(wù)的處理核),使得系統(tǒng)設(shè)計(jì)時(shí)更加靈活,同時(shí)更利于功耗管理[1],不同的應(yīng)用可以根據(jù)自身需求選擇系統(tǒng)中不同類(lèi)型的處理核進(jìn)行處理,從而實(shí)現(xiàn)應(yīng)用程序的高效執(zhí)行,異構(gòu)多核逐漸成為現(xiàn)代嵌入式系統(tǒng)的主要架構(gòu)方式。但是隨著異構(gòu)多核處理器核心類(lèi)型的多樣化,任務(wù)調(diào)度在異構(gòu)多核環(huán)境下也面臨更多的挑戰(zhàn)[2],需要充分考慮不同處理核間的差異性,同時(shí)針對(duì)應(yīng)用的特點(diǎn)進(jìn)行分析,優(yōu)化系統(tǒng)的資源分配。例如,復(fù)雜核心以更高的頻率運(yùn)行因此能夠提供更高的性能,但這是以高功耗為代價(jià)的,相比之下,復(fù)雜核心的功耗比簡(jiǎn)單核心高很多。因此,區(qū)別于同構(gòu)系統(tǒng),異構(gòu)多核系統(tǒng)需要綜合考慮不同的核心類(lèi)型在性能和功耗上的不同表現(xiàn)。在異構(gòu)多核系統(tǒng)中,不同類(lèi)型的核在執(zhí)行不同的線程時(shí)的性能表現(xiàn)會(huì)有一定的差異性[3],此外,程序在不同的指令執(zhí)行階段也會(huì)有不同的表現(xiàn),并呈現(xiàn)出階段性變化的特點(diǎn)[4]。為了充分挖掘異構(gòu)多核系統(tǒng)的特點(diǎn)和優(yōu)勢(shì),需要尋找一種映射方法,根據(jù)線程的階段性變化以及處理核的特點(diǎn)進(jìn)行動(dòng)態(tài)映射。

        隨著半導(dǎo)體技術(shù)的發(fā)展,單芯片上集成的核心數(shù)量隨之增加,使得現(xiàn)代多核處理器具有更高的功率密度。然而,功率密度的增加會(huì)導(dǎo)致片上溫度升高,高于臨界溫度會(huì)使得數(shù)字系統(tǒng)對(duì)瞬態(tài)故障的敏感性增加[5]甚至對(duì)芯片造成永久性損壞[6]。因此,在對(duì)異構(gòu)多核系統(tǒng)進(jìn)行在線映射時(shí),需要進(jìn)行熱管理,將溫度影響一并考慮進(jìn)去,以提高系統(tǒng)的可靠性及穩(wěn)定性。溫度約束(即熱安全約束)通過(guò)功率約束來(lái)實(shí)現(xiàn),目前,主流的系統(tǒng)級(jí)功率限制有兩種,熱設(shè)計(jì)功率(Thermal Design Power,TDP)和熱安全功率(Thermal Safe Power,TSP)[5]。其中TDP是芯片級(jí)的功率限制,表示整個(gè)芯片上的功率之和,但卻并不能保證所有核心都避免熱損壞[7]。而且TDP 是一個(gè)常量值,將TDP 作為系統(tǒng)的功率限制容易造成性能損失。而TSP 根據(jù)系統(tǒng)的溫度閾值以及芯片上處理核的數(shù)量和位置為每個(gè)核心計(jì)算一個(gè)統(tǒng)一的安全功率預(yù)算,當(dāng)線程到處理核的映射發(fā)生變化時(shí),TSP 的計(jì)算結(jié)果也會(huì)隨之發(fā)生變化,并且只要每一個(gè)處理核的功耗不超過(guò)其TSP,系統(tǒng)就不會(huì)有熱損壞[8]。

        然而,現(xiàn)有的多核系統(tǒng)映射方法很少考慮核心級(jí)的功率限制,相關(guān)的研究方法主要分析線程和多核平臺(tái)特性以及運(yùn)行時(shí)線程的執(zhí)行特征來(lái)考慮線程到核心類(lèi)型的動(dòng)態(tài)映射[9]以實(shí)現(xiàn)系統(tǒng)性能優(yōu)化。有些方法中同時(shí)考慮了動(dòng)態(tài)電壓和頻率調(diào)整(Dynamic Voltage and Frequency Scaling,DVFS)設(shè)置,以進(jìn)一步提高性能(能量)效率[10-11];但大多數(shù)DVFS方法的目的是降低能耗,同時(shí)滿足應(yīng)用程序性能要求,如參考文獻(xiàn)[9],而未檢查它們的DVFS 設(shè)置解決方案是否會(huì)超過(guò)峰值功率以及安全溫度限制。

        TSP 除了可以作為系統(tǒng)的安全功率限制進(jìn)而避免出現(xiàn)熱安全問(wèn)題外,還可以用來(lái)進(jìn)行處理核映射的決策[8]。實(shí)際上,芯片上不同位置的處理核具有不同的熱感受性[12],例如功耗相同的兩個(gè)處理核,位于芯片中心的處理核會(huì)比芯片邊緣的處理核溫度更高,這是因?yàn)樘幱谛酒行牡奶幚砗说玫降膩?lái)自于其他處理核傳遞的熱量更多。TSP 模型可以根據(jù)映射方案計(jì)算安全功率值,即TSP 值。不同的映射方案對(duì)應(yīng)不同的TSP 值,因此可以對(duì)所有的映射方案計(jì)算TSP 值,最后選出TSP 值最大的映射方案作為最終方案。根據(jù)TSP 模型計(jì)算的TSP 值是能夠保障系統(tǒng)溫度安全的,所以最終利用TSP 決策出的映射方案是滿足熱安全前提下最大化系統(tǒng)性能的方案。

        本文提出了一種基于溫度安全功率約束的動(dòng)態(tài)映射方法,在滿足安全功率的前提下最大化異構(gòu)多核系統(tǒng)的性能。給定若干個(gè)應(yīng)用線程和一個(gè)異構(gòu)多核平臺(tái),在確保處理核運(yùn)行時(shí)的溫度約束的前提下,通過(guò)動(dòng)態(tài)地調(diào)整線程到處理核的映射以及處理核的功率(或頻率電壓)來(lái)達(dá)到最大化系統(tǒng)性能的目標(biāo)。首先,采用基于神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型得到線程到核心類(lèi)型的綁定。其次,利用線程到核心類(lèi)型的綁定關(guān)系以及溫度安全功率模型,對(duì)線程到處理核的具體映射位置進(jìn)行映射評(píng)估和選擇,為下一階段的映射方案和每個(gè)映射核心的安全功率(或DVFS)設(shè)置作出決策。在保障溫度安全的同時(shí)盡可能使每個(gè)核心以最大的處理頻率工作,從而進(jìn)一步提升系統(tǒng)性能。

        本文的主要工作:

        1)提出一種動(dòng)態(tài)映射方法,將線程分配到異構(gòu)多核平臺(tái)上確定的具體位置,而不是只考慮線程到核心類(lèi)型的映射;

        2)在異構(gòu)多核系統(tǒng)的動(dòng)態(tài)映射決策中同時(shí)考慮線程-核類(lèi)型的綁定關(guān)系和溫度安全功率預(yù)算,保證溫度安全的前提下最大化系統(tǒng)性能。

        1 相關(guān)工作

        目前,針對(duì)異構(gòu)多核系統(tǒng)映射問(wèn)題的方法和技術(shù)可以歸為三類(lèi):離線方法、在線方法以及混合(離線和在線)方法。

        離線方法基于底層硬件和目標(biāo)應(yīng)用對(duì)設(shè)計(jì)空間進(jìn)行廣泛探索[9],如文獻(xiàn)[13-15]。在文獻(xiàn)[13]中,作者針對(duì)運(yùn)行在異構(gòu)多核平臺(tái)的混合臨界應(yīng)用提出了一種分區(qū)算法,一方面保證了應(yīng)用執(zhí)行時(shí)在不同模式的時(shí)間限制,另一方面利用功率模型將應(yīng)用盡量分配到使能耗最低的處理核上運(yùn)行。文獻(xiàn)[14]中,基于遺傳算法,提出了一種雙種群且?guī)в性鰪?qiáng)型初始種群的任務(wù)映射算法,利用功率模型和其他靜態(tài)模型對(duì)系統(tǒng)的任務(wù)調(diào)度進(jìn)行優(yōu)化。文獻(xiàn)[15]提出了一種靜態(tài)調(diào)度方法,這是一種新的基于種群的算法,它可以在運(yùn)行時(shí)動(dòng)態(tài)地在探索性和開(kāi)發(fā)性搜索模式之間切換,該靜態(tài)調(diào)度器可以進(jìn)行任務(wù)映射、調(diào)度和電壓縮放。以上的離線方法通常采用離線分析來(lái)確定映射方案,雖然簡(jiǎn)單但是會(huì)產(chǎn)生額外的分析開(kāi)銷(xiāo),并且未充分考慮線程程序在執(zhí)行過(guò)程中的動(dòng)態(tài)變化。

        而動(dòng)態(tài)調(diào)度通常在運(yùn)行時(shí)進(jìn)行決策或動(dòng)態(tài)的調(diào)整,由于計(jì)算都是在運(yùn)行時(shí)進(jìn)行的,這些方法的目的是在較短時(shí)間內(nèi)找到一個(gè)可行的方案,而不是花費(fèi)大量的時(shí)間去尋找最優(yōu)的解決方案,因而這類(lèi)方法大都采用啟發(fā)式算法來(lái)在線地快速產(chǎn)生解決方案[16]。例如,文獻(xiàn)[1]中提出了一種將線程動(dòng)態(tài)分配給系統(tǒng)處理核的啟發(fā)式算法,以期達(dá)到使性能最大化的同時(shí)最小化能耗的目的,該算法采用迭代的方式,找到使系統(tǒng)吞吐量最大的線程間位置交換的方案,啟發(fā)式地計(jì)算出線程到核心的最佳映射方案,該方法可應(yīng)用于異構(gòu)以及具有DVFS能力的同構(gòu)系統(tǒng);但是該方法具有一定的時(shí)間開(kāi)銷(xiāo),并且并未考慮程序的階段性變化以及溫度安全問(wèn)題。文獻(xiàn)[17]中提出了一種動(dòng)態(tài)調(diào)度方法,它使用預(yù)測(cè)方法將應(yīng)用程序調(diào)度到最佳配置,以降低具有可配置緩存的系統(tǒng)的能耗,采用人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)對(duì)預(yù)測(cè)模型進(jìn)行訓(xùn)練。訓(xùn)練后的ANN 可以用來(lái)預(yù)測(cè)最佳的核心,并通過(guò)調(diào)優(yōu)啟發(fā)式方法探索設(shè)計(jì)空間。跟本文的方法比較,該方法未考慮溫度安全問(wèn)題,并且需要對(duì)應(yīng)用進(jìn)行額外的離線分析。

        離線和在線混合的方法利用離線分析的結(jié)果進(jìn)行在線映射的決策,由于同時(shí)利用了離線方法和在線方法的優(yōu)勢(shì),混合型方法通常能夠取得較好的效果。文獻(xiàn)[3]提出了一種基于階段感知的負(fù)載平衡方法,該方法考慮在線運(yùn)行時(shí)任務(wù)的階段變化特征,對(duì)于任務(wù)的每個(gè)執(zhí)行階段,利用經(jīng)驗(yàn)數(shù)據(jù)模型進(jìn)行下一執(zhí)行階段狀態(tài)的預(yù)測(cè),從而將任務(wù)調(diào)度到合適的處理核上,能有效提升系統(tǒng)性能。文獻(xiàn)[9]提出了一種自適應(yīng)的映射方法,首先是性能監(jiān)測(cè)計(jì)數(shù)器進(jìn)行在線的數(shù)據(jù)收集,然后利用離線訓(xùn)練的性能預(yù)測(cè)模型對(duì)應(yīng)用在不同類(lèi)型上的性能表現(xiàn)進(jìn)行預(yù)測(cè),最后進(jìn)行資源組合(處理核數(shù)量及類(lèi)型)的評(píng)估及選擇,此外,該方法還設(shè)置了資源管理器,用于監(jiān)測(cè)應(yīng)用性能、工作負(fù)載,以及應(yīng)用的完成及新應(yīng)用的到達(dá)情況,進(jìn)而對(duì)映射進(jìn)行調(diào)整。文獻(xiàn)[2]提出了一種基于機(jī)器學(xué)習(xí)預(yù)測(cè)模型的在線映射方法:一方面通過(guò)采用機(jī)器學(xué)習(xí)技術(shù)來(lái)構(gòu)造系統(tǒng)性能預(yù)測(cè)模型來(lái)對(duì)不同映射方案和每個(gè)核的頻率值進(jìn)行高效的性能評(píng)估;另一方面,將其與遺傳算法進(jìn)行整合構(gòu)造了一個(gè)在線的映射調(diào)度方法。文獻(xiàn)[2]中,預(yù)測(cè)模型僅有一個(gè)預(yù)測(cè)器,且模型的構(gòu)建更為簡(jiǎn)單,預(yù)測(cè)器的輸入僅僅是處理核的映射位置及頻率,衡量映射效果的指標(biāo)是任務(wù)執(zhí)行的時(shí)間;預(yù)測(cè)模型的原始數(shù)據(jù)集的獲取是通過(guò)模擬器隨機(jī)生成的。本文中的性能預(yù)測(cè)模型分別為兩類(lèi)處理核訓(xùn)練性能預(yù)測(cè)器,并且通過(guò)對(duì)線程及處理核的特征進(jìn)行分析結(jié)合優(yōu)化目標(biāo)對(duì)預(yù)測(cè)器的輸入和輸出進(jìn)行了篩選;預(yù)測(cè)器原始數(shù)據(jù)集是通過(guò)在標(biāo)準(zhǔn)測(cè)試集上運(yùn)行選取的應(yīng)用(barnes、cholesky、fft、fmm、lu、ocean、volread、radix、raytrace、radiosity)得到的。文獻(xiàn)[18]提出了一種基于階段檢測(cè)的異構(gòu)感知的多核調(diào)度方法,利用階段檢測(cè)技術(shù),當(dāng)線程相對(duì)于上一階段的變化大于一定的閾值時(shí),根據(jù)性能預(yù)測(cè)器的預(yù)測(cè)結(jié)果對(duì)系統(tǒng)進(jìn)行重調(diào)度。該方法只考慮一大核三小核的簡(jiǎn)單異構(gòu)多核系統(tǒng)中線程到處理核類(lèi)型的映射,而本文中是在兩大核四小核的更復(fù)雜的異構(gòu)多核系統(tǒng)中將線程分配到異構(gòu)多核平臺(tái)上確定的具體位置。最主要的是,以上文獻(xiàn)所提方法中均未考慮到當(dāng)前學(xué)者們普遍關(guān)注的熱安全問(wèn)題,然而隨著半導(dǎo)體技術(shù)的發(fā)展,單芯片上集成的處理核數(shù)量逐漸增加,現(xiàn)代處理器具有更高的功率密度,熱安全問(wèn)題逐漸引起相關(guān)研究者的重視。

        文獻(xiàn)[7]中利用熱安全功率模型計(jì)算功率限制,然后利用映射算法進(jìn)行映射方法的選擇,由于不用再考慮核心間的熱量傳遞進(jìn)而縮小了映射空間的探索。該方法在保證系統(tǒng)溫度安全的前提下,用功率約束來(lái)減小映射方案的探索空間,最終用系統(tǒng)吞吐量來(lái)評(píng)估映射方案。文獻(xiàn)[6]中提出了一種運(yùn)行時(shí)任務(wù)遷移算法,根據(jù)任務(wù)的階段和處理核的特點(diǎn)遷移任務(wù)來(lái)提高異構(gòu)多核系統(tǒng)的性能。利用性能預(yù)測(cè)模型得到滿足溫度安全約束的最大化系統(tǒng)性能的映射方案,通過(guò)溫度安全功率模型計(jì)算處理核的功率預(yù)算,將功率預(yù)算加入到性能預(yù)測(cè)器的特征集中,從而使映射方案滿足溫度安全約束的同時(shí)最大化系統(tǒng)性能。文獻(xiàn)[6-7]方法均只考慮了線程到處理核類(lèi)型的映射,而本文方法先利用性能預(yù)測(cè)模型進(jìn)行線程到處理核類(lèi)型的映射,接著利用溫度安全功率約束,在滿足線程到處理核類(lèi)型的匹配關(guān)系的前提下,進(jìn)一步將線程映射到芯片上的處理核的具體位置上。

        綜上,本文在綜合考慮線程的運(yùn)行特點(diǎn)和不同類(lèi)型處理核的優(yōu)勢(shì)后,利用離線和在線混合的動(dòng)態(tài)映射方法,在溫度安全功率約束下進(jìn)行映射,在保證溫度安全的前提下最大化異構(gòu)多核系統(tǒng)的性能。

        2 熱安全約束下異構(gòu)感知的動(dòng)態(tài)映射方法

        本文中的系統(tǒng)性能通過(guò)平均每個(gè)時(shí)鐘周期內(nèi)程序所執(zhí)行的指令數(shù),即指令/周期(Instruction Per Cycle,IPC)來(lái)表征。一般情況下,多核映射問(wèn)題都采用一個(gè)線程映射到一個(gè)處理核的模式[6],本文也采用這種模式。在對(duì)本文方法進(jìn)行詳細(xì)描述時(shí),為了便于對(duì)方法的理解,假設(shè)本文的異構(gòu)多核平臺(tái)由大核和小核兩類(lèi)處理核組成,其中大核表示適合運(yùn)行計(jì)算密集型線程的處理核,小核表示適合運(yùn)行存儲(chǔ)密集型線程的處理核,其他更加復(fù)雜的處理核類(lèi)型組成可以采用類(lèi)似的處理方法。圖1 給出了該方法的整體框架,主要由基于ANN 的性能預(yù)測(cè)器(詳見(jiàn)2.1節(jié))、用于線程到核心類(lèi)型綁定的線程-核心類(lèi)型匹配部件(詳見(jiàn)2.2 節(jié))和熱安全映射計(jì)算部件(詳見(jiàn)2.3節(jié))三部分構(gòu)成。本文方法具體工作分為四個(gè)階段:

        圖1 本文方法的整體框架Fig.1 Overall framework of proposed method

        1)在每個(gè)系統(tǒng)調(diào)度周期收集異構(gòu)多核平臺(tái)上所運(yùn)行的各個(gè)處理核和線程的運(yùn)行信息(如IPC 值與程序行為變化相關(guān)的參數(shù)等),根據(jù)相關(guān)信息判斷是否需要進(jìn)行重映射。

        2)性能預(yù)測(cè)器根據(jù)線程的運(yùn)行信息來(lái)預(yù)測(cè)線程在不同類(lèi)型處理核上的性能。

        3)線程-核心類(lèi)型匹配部件根據(jù)性能預(yù)測(cè)器得出的各個(gè)線程在不同核心類(lèi)型上的性能預(yù)測(cè)值,來(lái)決定當(dāng)前時(shí)刻最優(yōu)的匹配方案,即線程與處理核類(lèi)型的最優(yōu)映射關(guān)系,完成線程到核心類(lèi)型的綁定。

        4)在確定線程與處理核類(lèi)型的綁定后,熱安全映射計(jì)算部件對(duì)線程到處理核的具體映射位置進(jìn)行映射評(píng)估和選擇。通過(guò)在映射計(jì)算中考慮線程與處理核的匹配關(guān)系以及TSP的計(jì)算,確保處理核運(yùn)行時(shí)不會(huì)達(dá)到其溫度約束前提下最大化異構(gòu)多核系統(tǒng)的處理性能。核心的最大電壓和頻率可根據(jù)安全功率預(yù)算進(jìn)行相應(yīng)的設(shè)置。

        完成以上四個(gè)階段后,映射器進(jìn)行映射方案的部署和電壓頻率設(shè)置。

        2.1 性能預(yù)測(cè)器

        為了找到一個(gè)最佳的映射方案以實(shí)現(xiàn)系統(tǒng)性能最大化的目標(biāo),需要對(duì)不同的資源分配方式進(jìn)行評(píng)估。本文利用性能預(yù)測(cè)器對(duì)線程在不同類(lèi)型處理核上的IPC 進(jìn)行預(yù)測(cè),由此得出對(duì)不同的映射方案的效果的預(yù)測(cè),進(jìn)而選出符合預(yù)期目標(biāo)的方案。本文中分別為大核和小核構(gòu)建性能預(yù)測(cè)器,其輸入是經(jīng)過(guò)選取和處理的特征值集合,包括線程和處理核相關(guān)的信息,輸出是表征本文最大化性能目標(biāo)的IPC。

        為了在異構(gòu)多核系統(tǒng)中合理分配資源以滿足應(yīng)用程序的性能要求,需要知道應(yīng)用程序在各種類(lèi)型處理核上的性能表現(xiàn)[9]。通常有兩種方式:一種是將線程在所有處理核類(lèi)型上運(yùn)行;另一種是只在其中一種處理核類(lèi)型上運(yùn)行而通過(guò)利用其運(yùn)行結(jié)果預(yù)測(cè)該線程在其他類(lèi)型處理核上運(yùn)行的性能表現(xiàn)。很顯然,第一種方式中,在切換處理核類(lèi)型時(shí)需要進(jìn)行線程的遷移,進(jìn)而帶來(lái)遷移的時(shí)間開(kāi)銷(xiāo),并且隨著系統(tǒng)復(fù)雜度(處理核數(shù)量及類(lèi)型)的增加,遷移代價(jià)也會(huì)隨之大幅增加,不利于在線映射方法中應(yīng)用。本文中使用后一種方法,即線程在其中一種處理核類(lèi)型上運(yùn)行,由該運(yùn)行結(jié)果獲取的相關(guān)參數(shù)作為其他類(lèi)型處理核的性能預(yù)測(cè)器的輸入,預(yù)測(cè)該線程在其他類(lèi)型處理核上的性能表現(xiàn)。相對(duì)于根據(jù)線程在同一種類(lèi)型核上運(yùn)行的參數(shù)來(lái)預(yù)測(cè)其運(yùn)行效果,采用線程在另一個(gè)核上的運(yùn)行參數(shù)來(lái)預(yù)測(cè)其在該核的運(yùn)行效果會(huì)有更大的誤差,但是由于在運(yùn)行時(shí),想要得到某線程在另一個(gè)核上的運(yùn)行參數(shù),需要將其遷移到另一個(gè)核上運(yùn)行來(lái)獲得,這會(huì)大幅度增加在線的運(yùn)行開(kāi)銷(xiāo)。而通過(guò)對(duì)不同核上的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理后得到的模型誤差損失相對(duì)于這個(gè)在線遷移的開(kāi)銷(xiāo)是可以接受的,因此,在本文的在線映射方法中選擇了后者。

        構(gòu)建一個(gè)性能預(yù)測(cè)模型,關(guān)鍵有三步:1)選取和性能相關(guān)的指標(biāo)或參數(shù);2)特征數(shù)據(jù)的獲取與預(yù)處理;3)預(yù)測(cè)函數(shù)的選擇。

        2.1.1 參數(shù)選擇

        為了提高性能預(yù)測(cè)模型的預(yù)測(cè)準(zhǔn)確度,對(duì)于模型的輸入?yún)?shù)或指標(biāo)的選取應(yīng)當(dāng)與本文的目標(biāo)輸出IPC、線程的行為以及處理核密切相關(guān)?,F(xiàn)代處理器支持對(duì)各種架構(gòu)事件的監(jiān)控,可用于分析性能、功率等。然而,由于平臺(tái)提供的硬件性能監(jiān)控計(jì)數(shù)器數(shù)量有限,并不是所有性能指標(biāo)都可以同時(shí)監(jiān)測(cè)[9]。此外,在進(jìn)行參數(shù)的選擇時(shí)還要考慮在線映射時(shí)的高效性?;谝陨系姆治鲆约皡⒖嘉墨I(xiàn)[19-20]中的信息,本文從18 種參數(shù)中選取了和IPC 值關(guān)系較密切的9 個(gè)指標(biāo)來(lái)構(gòu)建ANN 性能預(yù)測(cè)器。這9個(gè)指標(biāo)包括與緩存命中率相關(guān)的三個(gè)參數(shù):一級(jí)數(shù)據(jù)緩存(Level 1 Data Cache,L1-D Cache)命中缺失率,二級(jí)緩存(Level 2 Cache,L2 Cache)命中缺失率和三級(jí)緩存(Level 3 Cache,L3 Cache)命中缺失率,以及與程序行為變化相關(guān)的六個(gè)參數(shù):讀內(nèi)存指令、寫(xiě)內(nèi)存指令、浮點(diǎn)加法指令、浮點(diǎn)減法指令、浮點(diǎn)乘法指令和浮點(diǎn)除法指令。

        2.1.2 數(shù)據(jù)獲取與預(yù)處理

        本文使用Sniper工具來(lái)獲取用于訓(xùn)練大核和小核ANN性能預(yù)測(cè)器的兩個(gè)數(shù)據(jù)集。通過(guò)執(zhí)行SPLASH-2[21]中的所有應(yīng)用,收集每個(gè)周期的相關(guān)輸入?yún)?shù)和輸出標(biāo)簽等數(shù)據(jù),以此來(lái)獲得原始數(shù)據(jù)集。

        本文中,利用線程在一種類(lèi)型處理核上的運(yùn)行信息作為性能預(yù)測(cè)器的輸入?yún)?shù),來(lái)預(yù)測(cè)該線程在其他類(lèi)型處理核上的性能表現(xiàn),線程在不同類(lèi)型的處理核上執(zhí)行時(shí),指令條數(shù)會(huì)有數(shù)量級(jí)的差別,因此,作為輸入?yún)?shù)的數(shù)據(jù)需要具有通用性,在大核上運(yùn)行線程得到的數(shù)據(jù)需要經(jīng)過(guò)處理才能作為小核性能預(yù)測(cè)器的輸入,反之亦然。此外,不同指標(biāo)往往具有不同的量綱和量綱單位,這樣的情況會(huì)影響到數(shù)據(jù)分析的結(jié)果,為了消除指標(biāo)之間的量綱影響,需要進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,以實(shí)現(xiàn)數(shù)據(jù)指標(biāo)之間的可比性。原始數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)標(biāo)準(zhǔn)化處理后,各指標(biāo)處于同一數(shù)量級(jí),適合進(jìn)行綜合對(duì)比評(píng)價(jià)。因此本文對(duì)收集到的原始數(shù)據(jù)作了以下處理:

        1)針對(duì)上文提到的大核性能預(yù)測(cè)器和小核性能預(yù)測(cè)器指令條數(shù)的數(shù)量級(jí)差別問(wèn)題,本文用比例(某類(lèi)指令條數(shù)/指令總條數(shù))來(lái)表示指令的執(zhí)行情況。

        2)對(duì)所有參數(shù)進(jìn)行數(shù)據(jù)歸一化,本文用Min-Max 歸一化(見(jiàn)式(1)),將特征縮放到最小和最大值之間的給定范圍規(guī)范化特征,保證特征之間可以比較,減少溢出錯(cuò)誤的可能。

        其中:a表示需要縮放的范圍的最小值;b表示需要縮放的范圍的最大值;Xmin表示樣本數(shù)據(jù)最小值;Xmax表示樣本數(shù)據(jù)的最大值。

        2.1.3 預(yù)測(cè)函數(shù)

        本文希望找到一個(gè)能表征輸入變量和輸出變量之間關(guān)系的預(yù)測(cè)函數(shù),根據(jù)參考文獻(xiàn)[19],ANN 可以通過(guò)定期提供新的數(shù)據(jù)樣本來(lái)保持動(dòng)態(tài)學(xué)習(xí)(通常稱為在線學(xué)習(xí))。此外,ANN 具有高速尋找優(yōu)化解的能力。因此,ANN 適合應(yīng)用于本文的在線的快速預(yù)測(cè)模型中??紤]到多核映射問(wèn)題的復(fù)雜性較大,本文最終使用了帶有一個(gè)隱藏層的三層的神經(jīng)網(wǎng)絡(luò)來(lái)構(gòu)建ANN性能預(yù)測(cè)器。

        ANN 的輸入層由9 個(gè)神經(jīng)元節(jié)點(diǎn)組成,用來(lái)接收9 個(gè)輸入?yún)?shù)。隱層節(jié)點(diǎn)數(shù)目對(duì)神經(jīng)網(wǎng)絡(luò)的性能有一定的影響。隱層節(jié)點(diǎn)數(shù)過(guò)少時(shí),學(xué)習(xí)的容量有限,不足以存儲(chǔ)訓(xùn)練樣本中蘊(yùn)涵的所有規(guī)律;隱層節(jié)點(diǎn)過(guò)多不僅會(huì)增加網(wǎng)絡(luò)訓(xùn)練時(shí)間,而且會(huì)將樣本中非規(guī)律性的內(nèi)容(如干擾和噪聲)存儲(chǔ)進(jìn)去,反而降低泛化能力,導(dǎo)致過(guò)擬合現(xiàn)象的出現(xiàn)。本文參考文獻(xiàn)[22]中所提出的經(jīng)驗(yàn)公式:2n+m,來(lái)確立隱藏層節(jié)點(diǎn)的個(gè)數(shù),其中n為輸入節(jié)點(diǎn)的數(shù)量(本文中輸入節(jié)點(diǎn)個(gè)數(shù)為9),m為0~10的正整數(shù),在對(duì)m的數(shù)值進(jìn)一步進(jìn)行實(shí)驗(yàn)分析后,選擇使ANN性能預(yù)測(cè)器在訓(xùn)練集上獲得最好效果的m值(即5),因此最終本文選擇的隱藏層節(jié)點(diǎn)個(gè)數(shù)為23。隱藏層的每個(gè)神經(jīng)元節(jié)點(diǎn)會(huì)接收所有的輸入節(jié)點(diǎn)結(jié)果,在對(duì)其完成計(jì)算后通過(guò)激活函數(shù)傳遞到輸出層。輸出層利用所有隱藏神經(jīng)元節(jié)點(diǎn)的計(jì)算結(jié)果得到最后的輸出值(IPC)。

        本文使用Maxout函數(shù)作為ANN 的激活函數(shù),Maxout的擬合能力非常強(qiáng)大,并且計(jì)算量較小,不含有指數(shù)等復(fù)雜的運(yùn)算。因此,使用Maxout 在降低系統(tǒng)調(diào)度過(guò)程中的預(yù)測(cè)開(kāi)銷(xiāo)具有顯著的效果,這對(duì)于在線調(diào)度方法來(lái)說(shuō)是至關(guān)重要的。同時(shí),Maxout函數(shù)在訓(xùn)練過(guò)程中也可以有效避免梯度飽和問(wèn)題,防止訓(xùn)練失敗的情況出現(xiàn)。ANN 的結(jié)構(gòu)如圖2 所示,其中:W即Weight,表示權(quán)重;b即bias,表示偏置)。

        圖2 ANN的結(jié)構(gòu)Fig.2 ANN structure

        ANN 性能預(yù)測(cè)器屬于機(jī)器學(xué)習(xí)中的回歸模型,因此本文使用回歸模型常用的均方誤差(Mean Squared Error,MSE)損失函數(shù)來(lái)對(duì)ANN 性能預(yù)測(cè)器進(jìn)行訓(xùn)練。使用MSE 函數(shù)訓(xùn)練ANN性能預(yù)測(cè)器時(shí),整個(gè)ANN的梯度會(huì)隨MSE值的增大而增大,而MSE值趨于0時(shí)網(wǎng)絡(luò)的梯度則會(huì)減小,因此采用固定的學(xué)習(xí)率即可保證整個(gè)網(wǎng)絡(luò)可以有效的收斂,并在訓(xùn)練結(jié)束時(shí)取得良好的預(yù)測(cè)效果。一般常用的學(xué)習(xí)率有0.000 01、0.000 1、0.001、0.003、0.01、0.03、0.1、0.3、1、3、10,本文中通過(guò)基于經(jīng)驗(yàn)的手動(dòng)調(diào)整的方式,嘗試以上不同的固定學(xué)習(xí)率,觀察ANN 模型迭代次數(shù)和損失值的變化關(guān)系,找到損失值下降最快關(guān)系對(duì)應(yīng)的學(xué)習(xí)率為0.001,所以本文將學(xué)習(xí)率設(shè)置為固定的0.001。

        2.2 線程-核類(lèi)型匹配

        對(duì)于每個(gè)線程,通過(guò)性能預(yù)測(cè)器得到了在不同類(lèi)型處理核上運(yùn)行時(shí)的性能預(yù)測(cè)IPC 值,而本文希望得到的是線程到核心的映射關(guān)系,使得異構(gòu)多核系統(tǒng)的整體性能最大化,因此本文設(shè)計(jì)了一個(gè)核類(lèi)型匹配部件來(lái)找出線程與處理核類(lèi)型的最優(yōu)匹配,使得總的IPC值最大化。

        該部件的主要功能是利用ANN 性能預(yù)測(cè)器給出的各個(gè)線程在不同類(lèi)型處理核上的性能(假設(shè)有大核和小核兩種類(lèi)型處理核,則對(duì)應(yīng)IPCbig、IPCsmal)l來(lái)對(duì)所有可行的匹配方案進(jìn)行評(píng)估,找出使所有線程總的IPC,即IPCsum最大的匹配方案。假設(shè)異構(gòu)多核平臺(tái)需要映射的線程數(shù)量為M,其中N個(gè)需要映射到大核上,其余M-N個(gè)線程映射到小核上。核類(lèi)型匹配部件每次選擇N個(gè)線程的IPCbig和其余M-N個(gè)線程的IPCsmall相加得到本次匹配的IPCsum,完成對(duì)所有可行匹配方案的探索,并將值最大的匹配方案輸出給下一步的熱安全映射計(jì)算部件。

        具體來(lái)說(shuō),假設(shè)有大核和小核兩種核心類(lèi)型,大核數(shù)量為N,線程數(shù)為M,性能預(yù)測(cè)器給出的結(jié)果是每個(gè)線程在大核心上的值以及在小核心上的值。如此,由性能預(yù)測(cè)器便能得到所有線程在大核心上的性能表現(xiàn)集合和所有線程在小核心上的性能表現(xiàn)集合,即:

        核類(lèi)型匹配部件需要從IPCbig_i集合中選出N個(gè)元素;再?gòu)腎PCsmall_j集合中選出M-N個(gè)元素,且j≠i;計(jì)算選出的元素的和,記為SUM,將當(dāng)前最大的值記錄到SUMmax中。重復(fù)進(jìn)行,直到所有組合都計(jì)算完畢,找到對(duì)應(yīng)的線程到處理核類(lèi)型的匹配。

        2.3 熱安全映射計(jì)算

        一般來(lái)說(shuō),當(dāng)處理核在較高的電壓-頻率(Voltage-Frequency,V-F)級(jí)執(zhí)行時(shí),為了實(shí)現(xiàn)系統(tǒng)的高性能就要以功耗為代價(jià)[8]。因此,為了進(jìn)一步提高系統(tǒng)性能,一旦處理核上運(yùn)行的線程確定以后,為了進(jìn)一步提高性能,需要有盡可能高的V-F 設(shè)置。然而,V-F 的升高會(huì)導(dǎo)致功耗問(wèn)題,進(jìn)而造成熱安全問(wèn)題。因此,功率預(yù)算技術(shù)(如TSP),為系統(tǒng)提供一個(gè)安全的功率限制,當(dāng)利用DVFS 調(diào)整V-F 來(lái)最大化性能時(shí),確保功率與安全的功率預(yù)算接近而不超過(guò)它。

        假設(shè)Q是滿足線程-核心類(lèi)型綁定的映射集:對(duì)于映射集中的每個(gè)映射Qi,TSP(Q)i表示所有核心的功率預(yù)算。為了最大化性能,本文需要找到使TSP 最大的映射方案,然后V-F 級(jí)別可根據(jù)功率預(yù)算進(jìn)行調(diào)整。

        在本文的方法中,找到合適的功率預(yù)算是很重要的一步。如果處理核配備了功率表,則可以通過(guò)測(cè)量每個(gè)處理核的實(shí)際功率并采取相應(yīng)的措施來(lái)避免熱安全問(wèn)題。但是,在硬件條件不足的情況下,也可以利用離線應(yīng)用程序分析或通過(guò)性能計(jì)數(shù)器進(jìn)行運(yùn)行時(shí)功率估計(jì),將核心設(shè)置與功耗值關(guān)聯(lián)。本文使用參考文獻(xiàn)[8]中的功率預(yù)算技術(shù),為每個(gè)處理核計(jì)算統(tǒng)一的安全功率預(yù)算。

        處于芯片中不同位置的處理核具有不同的熱感受性[12]。對(duì)于同一類(lèi)型的處理核,線程不同的映射位置也會(huì)帶來(lái)不同的映射效果,例如某一線程T適合的處理核類(lèi)型為大核,而芯片中有兩個(gè)大核,對(duì)應(yīng)兩個(gè)不同的位置,此時(shí)對(duì)于線程T來(lái)說(shuō)就有兩種位置的選擇。因此,在知道線程的適配處理核類(lèi)型后,還需要對(duì)線程的具體映射位置進(jìn)行探索。對(duì)于不同的映射方案,同時(shí)考慮前文工作中的線程和處理核類(lèi)型的綁定以及功率預(yù)算限制,最終決策出最佳的映射方案。由于本文使用的處理核數(shù)量較少,可以通過(guò)遍歷的方法對(duì)所有可行的映射方案進(jìn)行探索,當(dāng)處理核數(shù)量較大時(shí),可通過(guò)啟發(fā)式的算法對(duì)探索空間進(jìn)行簡(jiǎn)化。具體偽代碼如算法1所示。

        本文中利用DVFS 來(lái)對(duì)系統(tǒng)中處理核的電壓和頻率進(jìn)行調(diào)節(jié),而DVFS調(diào)節(jié)時(shí)需要提前為其提供V-F等級(jí)表(由電壓-頻率對(duì)組成的表格),當(dāng)系統(tǒng)需要進(jìn)行電壓和頻率的調(diào)整時(shí)則根據(jù)該表進(jìn)行調(diào)節(jié)。因此,本文在得到每個(gè)處理核的安全功率后,進(jìn)一步探索了電壓和頻率的設(shè)置。利用文獻(xiàn)[23]中的功率計(jì)算模型(見(jiàn)式(2)),根據(jù)本文的硬件平臺(tái)的可用頻率范圍,利用文獻(xiàn)[24]中電壓和頻率的最佳對(duì)應(yīng)表,找到可用頻率對(duì)應(yīng)的電壓,根據(jù)式(2)計(jì)算每一組V-F 對(duì)的相應(yīng)功率,再結(jié)合熱安全功率約束選出功率不超過(guò)熱安全功率的V-F 對(duì)構(gòu)成V-F 等級(jí)表,為DVFS 提供科學(xué)的V-F 等級(jí)表,使得DVFS 在提高系統(tǒng)性能的同時(shí)避免造成熱安全問(wèn)題。

        其中:Ceff代表有效開(kāi)關(guān)電容;Vi和fi分別代表電壓和頻率。

        3 實(shí)驗(yàn)評(píng)估

        為了驗(yàn)證本文提出的熱安全約束下異構(gòu)多核感知的動(dòng)態(tài)映射方法,本文基于Sniper模擬器搭建了一個(gè)異構(gòu)多核平臺(tái),通過(guò)不同的程序組合來(lái)模擬現(xiàn)實(shí)世界中不同的應(yīng)用行為。此外,將本文方法與常見(jiàn)的輪詢調(diào)度(Round Robin Scheduler,RRS)[25]進(jìn)行對(duì)比。

        3.1 實(shí)驗(yàn)設(shè)置

        在本次實(shí)驗(yàn)中,本文基于Sniper搭建了一個(gè)2大核-4小核的異構(gòu)多核平臺(tái)。大核和小核的指令集架構(gòu)均基于Intel Nehalem x86 架構(gòu),且處理核的主頻均為2.66 GHz,發(fā)射寬度均為4,兩種類(lèi)型的處理核具有相同的緩存架構(gòu)(其中L1 Cache 為256 KB,L2 Cache 為512 KB,共享的L3 Cache 大小設(shè)置為8 MB)。但是大核擁有128 的指令窗口大小和長(zhǎng)度為48的讀取隊(duì)列,而小核的指令窗口大小為16,讀取隊(duì)列長(zhǎng)度為6。頻率調(diào)節(jié)的步長(zhǎng)為0.20 GHz,對(duì)于每個(gè)頻率,電壓的設(shè)置參照文獻(xiàn)[24]。

        從常用的基準(zhǔn)套件SPLASH-2 中獲得應(yīng)用:barnes、cholesky、fft、fmm、lu、ocean、volread、radix、raytrace、radiosity。用不同的執(zhí)行場(chǎng)景如單個(gè)應(yīng)用程序、多個(gè)應(yīng)用程序的并發(fā)執(zhí)行,來(lái)模仿現(xiàn)實(shí)世界的各種行為。為了對(duì)本文方法進(jìn)行全面的評(píng)估,本文將SPLASH-2 基準(zhǔn)測(cè)試集進(jìn)行了分組,每組包含4 種程序,分組的原則是讓每種組合里盡量同時(shí)擁有MSE 較低和MSE 值較高的程序,具體分組見(jiàn)表1,并通過(guò)進(jìn)行多組實(shí)驗(yàn)來(lái)盡可能充分地模擬真實(shí)環(huán)境下的復(fù)雜調(diào)度場(chǎng)景。

        表1 實(shí)驗(yàn)用的應(yīng)用程序組合Tab.1 Combinations of programs used in experiments

        本文選取RRS 作為對(duì)照組,采取實(shí)驗(yàn)復(fù)雜度遞增的方式進(jìn)行對(duì)照實(shí)驗(yàn),分別做了以下實(shí)驗(yàn):

        實(shí)驗(yàn)1 將RRS 作為對(duì)照組,將本文的性能預(yù)測(cè)模型在不考慮安全功率的情況下對(duì)線程進(jìn)行映射,即核類(lèi)型匹配部件計(jì)算出結(jié)果后,不考慮線程映射的具體核心位置(具體的映射位置隨機(jī)指定),并且不考慮功率限制,將實(shí)驗(yàn)結(jié)果與RRS方法比較,驗(yàn)證本文的性能預(yù)測(cè)模型在性能(IPC)上的優(yōu)越性。

        實(shí)驗(yàn)2 仍然以RRS 為對(duì)照組,比較本文提出的帶功率約束的映射方法與RRS 的性能表現(xiàn),驗(yàn)證加了安全功率約束后對(duì)系統(tǒng)性能的影響。

        此外,為了比較使用熱安全功率模型計(jì)算安全功率預(yù)算與使用固定功率約束值下映射方法的不同效果,本文進(jìn)行了不同的功率約束設(shè)置下,關(guān)于系統(tǒng)吞吐量和資源利用率的對(duì)比實(shí)驗(yàn)。對(duì)于恒定的芯片級(jí)功率約束,由于這是一個(gè)模擬平臺(tái),缺乏帶有關(guān)于TDP 信息的數(shù)據(jù)表,因此不能簡(jiǎn)單地考慮TDP。本次實(shí)驗(yàn)考慮兩種不同芯片級(jí)功率預(yù)算,在參考文獻(xiàn)[5]中取m=4和m=16,得到的值分別為70 W 和140 W,這也是當(dāng)前相關(guān)技術(shù)中的具有代表性TDP值[8]。

        3.2 實(shí)驗(yàn)結(jié)果

        3.2.1 性能預(yù)測(cè)器評(píng)估

        本文考慮的是有大小兩種處理核的2大核-4小核的異構(gòu)多核平臺(tái),需要建立兩個(gè)ANN 預(yù)測(cè)器:一個(gè)預(yù)測(cè)大核的性能,另一個(gè)預(yù)測(cè)小核的性能。兩個(gè)ANN 模型都是使用從運(yùn)行SPLASH-2 中收集的數(shù)據(jù)集進(jìn)行訓(xùn)練和評(píng)估的。將經(jīng)過(guò)預(yù)處理后的原始數(shù)據(jù)集按照機(jī)器學(xué)習(xí)模型訓(xùn)練和驗(yàn)證常用的劃分方法,本文將總數(shù)據(jù)集的70%用來(lái)訓(xùn)練模型,剩下的30%作為測(cè)試集用來(lái)評(píng)估該模型在未知數(shù)據(jù)上的預(yù)測(cè)能力。性能預(yù)測(cè)器的MSE如圖3所示。

        圖3 ANN預(yù)測(cè)器的MSEFig.3 MSE of ANN predictor

        均方誤差(MSE)值越低表示ANN 性能預(yù)測(cè)器的效果越好。從圖3 可看出,小核性能預(yù)測(cè)器和大核性能預(yù)測(cè)器在barnes 上表現(xiàn)最好,MSE 值分別為0.022 和0.015;在volread上表現(xiàn)最差,MSE 值分別為0.510 和0.610。從平均值來(lái)看,小核在10 個(gè)應(yīng)用程序上的平均MSE 值為0.170,大核的平均MSE 值為0.200,由實(shí)驗(yàn)數(shù)據(jù)可以看出,總體上大核性能預(yù)測(cè)器和小核性能預(yù)測(cè)器均具有較好的預(yù)測(cè)效果。

        3.2.2 熱安全約束下的動(dòng)態(tài)映射方法實(shí)驗(yàn)結(jié)果

        圖4 給出了實(shí)驗(yàn)1 將RRS 作為對(duì)照組,并將本文的映射方法在不考慮安全功率的情況下對(duì)線程進(jìn)行映射,驗(yàn)證本文的預(yù)測(cè)模型在性能(IPC)上的優(yōu)越性。其中橫坐標(biāo)表示不同的程序組合編號(hào),縱坐標(biāo)是本文提出的映射方法(不考慮安全功率)與RRS 比較所實(shí)現(xiàn)的IPC 加速比。從圖4 中可以看出,本文提出的映射方法(不考慮安全功率)相較于RRS 在組合1上加速比最低,在組合4 上加速比最高,分別是1.340 和1.721,在5 種組合下平均實(shí)現(xiàn)了1.500 的加速比。這是因?yàn)榻M合1 含有MSE 值最高的volread 和MSE 較高的fft,因此整體的ANN 性能預(yù)測(cè)器預(yù)測(cè)效果較其他組合相比最差,所以達(dá)到的IPC 加速比最低。同理,組合4 中各程序的MSE 值整體比較接近,ANN 性能預(yù)測(cè)器的整體預(yù)測(cè)效果較好,因而達(dá)到了最高的IPC 加速比。而RRS 采用輪流將任務(wù)調(diào)度到每個(gè)處理核的方式,忽略了任務(wù)的資源需求以及處理核的特點(diǎn),未能充分利用異構(gòu)多核處理器的特點(diǎn)和優(yōu)勢(shì)。相比之下,本文所提出的方法通過(guò)感知線程行為的變化和不同時(shí)刻下線程對(duì)處理核資源的需求,將線程及時(shí)分配到最適合其運(yùn)行的處理核上,從而能夠更好地發(fā)揮異構(gòu)多核所帶來(lái)的優(yōu)勢(shì),獲得更好的映射效果。

        如圖5 所示,運(yùn)用本文的方法在相同的實(shí)驗(yàn)環(huán)境下進(jìn)行調(diào)度時(shí),6 種組合間的IPC 加速比的差異性跟圖4 中的實(shí)驗(yàn)結(jié)果幾乎一致,但是,組合4 和組合6 的加速比均要比圖4 中相應(yīng)組合的加速比略低,這是由于加了熱安全功率約束,核心不能在其最大功率下運(yùn)行,而是在熱安全功率的約束下以其能夠達(dá)到的在保障熱安全的最大功率運(yùn)行。由實(shí)驗(yàn)結(jié)果可以看出雖然加速比小于前者,但是最大差距是組合6,僅為0.060,所以在性能上沒(méi)有造成巨大的損失,但后者卻保證了系統(tǒng)的熱安全。此外從平均值來(lái)看,圖4 的平均加速比為1.500,而用本文的方法跟RRS 方法比較,加速比為1.530,指令/周期(IPC)提高53%左右,總體性能得到了一定的提升。由實(shí)驗(yàn)結(jié)果可以看出本文方法不僅保證了系統(tǒng)的熱安全、穩(wěn)定性和可靠性,還進(jìn)一步提升了系統(tǒng)的性能。

        圖4 本文方法(無(wú)TSP約束)和RRS的加速比Fig.4 Speedup ratio ofproposed method(without TSP constraint)and RRS

        圖5 本文方法和RRS的加速比Fig.5 Speedup ratio of proposed method and RRS

        此外,本文還考察了不同的功率約束設(shè)置對(duì)系統(tǒng)吞吐量和資源利用率的影響,對(duì)比功率約束為固定值與使用TSP 作為功率約束的不同效果。

        圖6 給出了本文所使用的加入安全功率約束后與使用固定的設(shè)計(jì)功率約束值的異構(gòu)感知調(diào)度方法的應(yīng)用吞吐量結(jié)果。從圖6 可以看出,引入安全功率約束的動(dòng)態(tài)映射方法與使用70 W 和140 W 的TDP 值相比,系統(tǒng)吞吐量分別提升了29.0%和19.8%。這是由于引入了安全功率約束,可以保證在異構(gòu)多核平臺(tái)下每個(gè)處理核擁有更合理的功率閾值,和使用固定TDP相比,降低了處理核性能被限制的可能性,更多的處理核可以同時(shí)工作,減少了暗硅現(xiàn)象的出現(xiàn),因此具有更高的吞吐量。

        圖6 使用不同功率預(yù)算的系統(tǒng)吞吐量對(duì)比Fig.6 Comparison of system throughput using different power budgets

        圖7 給出了在三種不同的功率約束下,運(yùn)行應(yīng)用程序時(shí)的資源利用率情況。很顯然,引入TSP 約束的動(dòng)態(tài)映射方法的資源利用率(91%)高于另外兩種功率約束情況下的資源利用率(77%和83%)。這是因?yàn)楫?dāng)功率預(yù)算固定時(shí),在異構(gòu)多核平臺(tái)上處理核的熱量較高會(huì)導(dǎo)致暗硅現(xiàn)象的出現(xiàn),為了保證處理核不被燒壞,不少處理核進(jìn)入低功耗模式運(yùn)行,降低了系統(tǒng)的資源利用率;而在引入TSP 約束后,暗硅現(xiàn)象得以減少,更多的處理核可以發(fā)揮作用,因此系統(tǒng)的資源利用率較高。

        圖7 使用不同功率預(yù)算的資源利用率對(duì)比Fig.7 Comparison of resource utilization rate using different power budgets

        4 結(jié)語(yǔ)

        本文提出了一種基于溫度安全功率約束的動(dòng)態(tài)映射方法,以最大化異構(gòu)多核系統(tǒng)的性能。該方法在考慮處理核的類(lèi)型及線程執(zhí)行的階段性特征,以及芯片上不同位置的處理核具有不同熱感受性的基礎(chǔ)上,首先基于一個(gè)神經(jīng)網(wǎng)絡(luò)性能預(yù)測(cè)器來(lái)對(duì)線程與處理核類(lèi)型進(jìn)行匹配,然后再利用溫度安全功率模型將經(jīng)過(guò)匹配后的線程進(jìn)一步映射到芯片上的具體位置上,從而達(dá)到在保證系統(tǒng)溫度安全下優(yōu)化系統(tǒng)性能的目的。

        在未來(lái)的工作中,雖然一般情況下功率越大則系統(tǒng)性能越好,但是IPC 和功率間的關(guān)系還有待探究,所以本文接下來(lái)一方面是尋找IPC 和功率之間的關(guān)系,從而能夠使系統(tǒng)在滿足應(yīng)用性能的情況下進(jìn)一步優(yōu)化功率。另一方面,為了更好地驗(yàn)證本文方法,將使用更多的處理核,并且采用實(shí)際的運(yùn)行平臺(tái)來(lái)進(jìn)一步進(jìn)行實(shí)驗(yàn)。

        猜你喜歡
        預(yù)測(cè)器線程異構(gòu)
        輸入延遲系統(tǒng)的切換偽預(yù)測(cè)鎮(zhèn)定控制器
        試論同課異構(gòu)之“同”與“異”
        一種改進(jìn)型TAGE分支預(yù)測(cè)器的實(shí)現(xiàn)
        淺談linux多線程協(xié)作
        overlay SDN實(shí)現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
        LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
        在新興異構(gòu)SoCs上集成多種系統(tǒng)
        Linux線程實(shí)現(xiàn)技術(shù)研究
        商務(wù)英語(yǔ)學(xué)習(xí)過(guò)程中的“預(yù)測(cè)器”
        甘肅教育(2012年24期)2012-04-29 00:44:03
        么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        亚洲碰碰人人av熟女天堂| 国产精品亚洲一区二区三区在线| 少妇连续高潮爽到抽搐| 国产动作大片中文字幕| 无码人妻黑人中文字幕| 制服丝袜天堂国产日韩| 婷婷成人亚洲综合国产| 亚洲中文字幕日韩综合| 欧美精品亚洲精品日韩专区| 暖暖免费 高清 日本社区在线观看| 国产强伦姧在线观看| 国产一区二区三区 在线观看| 日本一区二区三区免费播放| 成人性生交大片免费看r| AV无码专区亚洲AVL在线观看 | 中文字幕亚洲精品在线| 久久久久免费看成人影片| 少妇太爽了在线观看免费视频 | 口爆吞精美臀国产在线| 深夜爽爽动态图无遮无挡| 欧美丰满熟妇aaaaa片| 精品一区二区三区在线视频观看| 日韩av一区二区不卡在线| 亚洲午夜久久久久久久久久| 四虎成人精品无码永久在线| 天堂av在线免费播放| 久久一二区女厕偷拍图| 国产成人无码免费视频在线| 熟妇无码AV| 国产偷闻女邻居av在线观看| 色欲av伊人久久大香线蕉影院| 亚洲综合av在线在线播放| 国产粉嫩美女一区二区三| 日本一区二区在线高清观看| 欧美黑人性暴力猛交喷水黑人巨大| 97中文字幕在线观看| 亚洲女人毛茸茸的视频| 国产精品久久成人网站| AV无码最在线播放| 亚洲av精品一区二区三| 国产精品国产三级国产av品爱 |