片上多核處理器共享資源分配與調(diào)度策略研究綜述(三)
相關(guān)資料:
片上多核處理器共享資源分配與調(diào)度策略研究綜述(一)
片上多核處理器共享資源分配與調(diào)度策略研究綜述(二)
3 聯(lián)合調(diào)度
前面兩章分別對(duì)于共享緩存和DRAM 提出了相應(yīng)的調(diào)度算法,但這只是系統(tǒng)中眾多共享資源里最為重要的兩種。實(shí)際上在多線程環(huán)境下,線程還會(huì)對(duì)于其他包括系列總線和I/O 設(shè)備等共享資源進(jìn)行爭(zhēng)奪,線程間互相干擾,對(duì)系統(tǒng)性能造成影響。
一方面,針對(duì)不同的共享資源獨(dú)立提出的調(diào)度算法間從效果上可能互相矛盾。例如,同一個(gè)線程在共享緩存和主存處分別表現(xiàn)出的訪存行為特征未必一致,再根據(jù)各自的調(diào)度策略,分別設(shè)定的優(yōu)先級(jí)可能相反,使得調(diào)度失效。另一方面,從不同層面提出的調(diào)度策略之間也可能存在矛盾。例如,底層硬件層面的調(diào)度對(duì)線程的優(yōu)化可能使得操作系統(tǒng)層面對(duì)于線程優(yōu)先級(jí)的設(shè)定反轉(zhuǎn)。因此,從全局出發(fā),綜合考慮所有共享資源,進(jìn)行聯(lián)合調(diào)度是極有研究?jī)r(jià)值的。
Ebrahimi 等在文獻(xiàn)中為了解決線程的公平性問題,提出一個(gè)可以協(xié)調(diào)所有共享存儲(chǔ)資源的機(jī)制稱為公平性資源節(jié)源( fairness via sourcethrottling,FST),從而避免了需要為系統(tǒng)中每個(gè)共享存儲(chǔ)資源提出單獨(dú)的公平性機(jī)制。該機(jī)制使用前面在STFM中提到的線程減速比Mi=Tshd_i/Tsolo_i信息 , 用一組失效狀態(tài)信息寄存器(miss statusholding/informatiON registers,MSHRs)記錄各線程發(fā)向共享存儲(chǔ)系統(tǒng)的請(qǐng)求,請(qǐng)求得到服務(wù)后相應(yīng)寄存器清空,當(dāng)沒有可用的MSHRs 時(shí),則禁止該線程向共享存儲(chǔ)系統(tǒng)發(fā)送請(qǐng)求。系統(tǒng)的不公平性通過下式衡量:
當(dāng)unfairness 超過某個(gè)設(shè)定閾值時(shí),表示有線程的性能降低程度已經(jīng)嚴(yán)重影響到系統(tǒng)的公平性。可以通過調(diào)節(jié)可用MSHRs 數(shù)目來限制侵略性最強(qiáng)(或受影響最小)的線程向共享存儲(chǔ)系統(tǒng)發(fā)送訪存請(qǐng)求的速率,直到各線程的減速比基本保持一致水平,即unfairness 小于設(shè)定閾值,恢復(fù)受限制線程發(fā)送訪存請(qǐng)求的能力。這個(gè)方法從源頭上限制對(duì)共享存儲(chǔ)資源的不公平性使用,從而無需從單個(gè)共享存儲(chǔ)資源特別提出公平性的調(diào)度策略。
由于對(duì)DRAM 進(jìn)行訪存的速度提升遠(yuǎn)不及處理器速度的提升,訪存DRAM 所帶來的延遲常常是影響性能的一個(gè)關(guān)鍵因素。一個(gè)解決方案是,預(yù)測(cè)線程可能需要的數(shù)據(jù),在處理器實(shí)際用到該數(shù)據(jù)之前就發(fā)送訪存請(qǐng)求從DRAM 取回?cái)?shù)據(jù)。該技術(shù)稱之為預(yù)?。╬refetching),已被證明確實(shí)能夠有效改善系統(tǒng)性能,并被用于大多數(shù)商業(yè)處理器中。
然而,各個(gè)線程發(fā)向DRAM 的預(yù)取請(qǐng)求,同樣存在對(duì)于系統(tǒng)資源的爭(zhēng)奪和線程間的干擾,從而抵消由于預(yù)取部件所帶來的性能改善。Ebrahimi 等人在文獻(xiàn)中提出了分層預(yù)取侵略性控制( hierarchical prefetcher aggressiveness control ,HPAC),類似于文獻(xiàn)[24]中的FST,HPAC 通過從源頭上限制預(yù)取請(qǐng)求的發(fā)送來改善系統(tǒng)的預(yù)取性能。