CPU存儲(chǔ)子系統(tǒng)性能解析建模方法研究
發(fā)布時(shí)間:2020-07-25 14:07
【摘要】:通過(guò)建模量化分析程序訪存特征與硬件緩存機(jī)制之間的關(guān)系是設(shè)計(jì)高性能存儲(chǔ)子系統(tǒng)的關(guān)鍵。本文針對(duì)存儲(chǔ)子系統(tǒng)中多層級(jí)Cache與DDR控制器構(gòu)建了缺失行為與缺失延遲懲罰解析模型。通過(guò)組合不同硬件模塊的解析模型可以實(shí)現(xiàn)多種存儲(chǔ)子系統(tǒng)性能的快速評(píng)估。按照存儲(chǔ)層級(jí)進(jìn)行劃分,本文的主要?jiǎng)?chuàng)新如下:針對(duì)L1 Cache的缺失行為,本文搭建了以堆棧距離變化系數(shù)為基礎(chǔ)的Cache亂序訪存缺失行為經(jīng)驗(yàn)?zāi)P。傳統(tǒng)建模方法忽略了亂序訪存機(jī)制對(duì)訪存行為的影響,使其預(yù)測(cè)誤差高達(dá)17%以上。本文通過(guò)機(jī)理分析,利用公式形式化描述出訪存亂序執(zhí)行與堆棧距離變化的關(guān)系。借助機(jī)器學(xué)習(xí)的方法,求解了公式中無(wú)法理論推導(dǎo)的未知系數(shù),將模型預(yù)測(cè)精度從83%提升至95%。針對(duì)L2及以下層級(jí)Cache的缺失行為,由于無(wú)法在非仿真的環(huán)境中獲得下游存儲(chǔ)層級(jí)的訪存序列,傳統(tǒng)模型只能預(yù)測(cè)L1 Cache的缺失行為。本文提出了基于全概率事件的多層級(jí)Cache訪問(wèn)缺失行為預(yù)測(cè)模型,將下游Cache的訪存請(qǐng)求到達(dá)率與上游Cache訪問(wèn)缺失的條件概率進(jìn)行關(guān)聯(lián),通過(guò)遍歷所有訪存場(chǎng)景的條件概率,將下游Cache的訪問(wèn)缺失率用全概率公式計(jì)算出來(lái)。實(shí)驗(yàn)結(jié)果表明,本文提出的模型可準(zhǔn)確預(yù)測(cè)下游Cache的訪問(wèn)缺失次數(shù),精度達(dá)94%以上,極大地拓展了傳統(tǒng)模型的使用范圍。針對(duì)多層級(jí)Cache中集成的MSHR硬件模塊,本文優(yōu)化了基于訪存指令數(shù)據(jù)依賴關(guān)系的訪存并發(fā)度機(jī)理模型,考慮了指令窗口內(nèi)多數(shù)據(jù)依賴關(guān)系與Cache訪問(wèn)缺失率的影響,將訪存并發(fā)度的預(yù)測(cè)精度從72%提升至96%。另外,對(duì)于多地址槽的MSHR硬件結(jié)構(gòu),本文補(bǔ)充了Cache訪問(wèn)缺失有效服務(wù)時(shí)間的計(jì)算方法,將延遲懲罰的預(yù)測(cè)精度提升了20%。為了計(jì)算DDR平均訪問(wèn)延遲,本文推導(dǎo)了以訪存步長(zhǎng)分布為輸入的DDR訪問(wèn)延遲機(jī)理模型。最新研究提出的DDR訪存請(qǐng)求到達(dá)率滿足泊松分布的假設(shè),在單核場(chǎng)景下并不滿足,使得其模型的預(yù)測(cè)誤差在單核場(chǎng)景下達(dá)到20%以上。本文通過(guò)概率推導(dǎo),挖掘出程序訪存步長(zhǎng)與DDR行緩沖命中率之間的關(guān)系,構(gòu)建了以訪存步長(zhǎng)分布為輸入的DDR平均訪問(wèn)延遲解析模型。與前人研究相比,本文提出的模型在單核場(chǎng)景下預(yù)測(cè)精度能提升14%以上,而在多核場(chǎng)景下與前人研究保持持平。通過(guò)組合各個(gè)硬件模塊的解析模型,本文實(shí)現(xiàn)了面向真實(shí)處理器龍芯GS264與ARM Cortex-A9的存儲(chǔ)子系統(tǒng)性能預(yù)測(cè)。在49種基準(zhǔn)測(cè)試案例下,本文的解析模型具有93%的存儲(chǔ)子系統(tǒng)性能預(yù)測(cè)精度。此外,本文利用解析模型對(duì)比分析了龍芯GS264與ARM CortexA9的存儲(chǔ)子系統(tǒng)性能差異,幫助定位出龍芯GS264存儲(chǔ)子系統(tǒng)的性能瓶頸,并提出優(yōu)化意見(jiàn)。
【學(xué)位授予單位】:東南大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP333
【圖文】:
請(qǐng)求區(qū)間稱為一個(gè)重用區(qū)間。由于該重用區(qū)間內(nèi)包含 至 共 6 個(gè)訪問(wèn)請(qǐng)求, 的重用距離應(yīng)為 6。A B C D B E B AF重用區(qū)間 1 2 3 4 5 8 6 7 9時(shí)間遞增圖 2-1 訪存時(shí)間局部性與訪存重用區(qū)間(a) Cache 容量 = 16 KB
第二章 CPU 存儲(chǔ)子系統(tǒng)性能解析模型研究綜述通過(guò)論文數(shù)據(jù)的分析與實(shí)驗(yàn)復(fù)現(xiàn),我們發(fā)現(xiàn) StatCache 可以實(shí)現(xiàn)全關(guān)聯(lián) Random Cache訪問(wèn)缺失行為的準(zhǔn)確預(yù)測(cè)。如圖 2-3 所示,以 Mibench[13]、SPEC2006[128]、MobybenchSuite2.0[14]中的 49 項(xiàng)基準(zhǔn)測(cè)試案例為軟件分析對(duì)象,StatCache 在 6 種 Cache 容量配置下,平均預(yù)測(cè)精度可到達(dá)到 92%以上。而對(duì)于非 Random Cache,如 LRU Cache 或者偽 LRU Cache等,其平均預(yù)測(cè)精度下降至 83%以下(數(shù)據(jù)可見(jiàn)文獻(xiàn)[59])。除此之外,StatCache 對(duì)亂序處理器下組關(guān)聯(lián) Cache 行為預(yù)測(cè)的適應(yīng)性也較好(詳見(jiàn) 3.1 小節(jié))。
經(jīng)典 StatCache 模型在順序處理器與亂序處理器下預(yù)測(cè) Random Cache 暖缺失次數(shù)的均方根誤差。從實(shí)驗(yàn)結(jié)果來(lái)看,訪存的亂序執(zhí)行機(jī)制會(huì)提升 StatCache 模型預(yù)測(cè)的誤差約 1%~4%。然而,亂序處理器下的 StatCache 仍然擁有平均 91%左右的預(yù)測(cè)精度。Random 替換策略并不記錄程序的訪存歷史,當(dāng)重用距離發(fā)生變化時(shí),若未發(fā)生 Cache 訪問(wèn)缺失,則 RandomCache 中的暫存數(shù)據(jù)與訪存歷史狀態(tài)不會(huì)發(fā)生任何改變。因此,訪存亂序執(zhí)行機(jī)制對(duì) RandomCache 訪問(wèn)行為的影響并不明顯。(a) D-Cache = 32KB, 4-way; L2 Cache = 1MB, 8-way
本文編號(hào):2769924
【學(xué)位授予單位】:東南大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP333
【圖文】:
請(qǐng)求區(qū)間稱為一個(gè)重用區(qū)間。由于該重用區(qū)間內(nèi)包含 至 共 6 個(gè)訪問(wèn)請(qǐng)求, 的重用距離應(yīng)為 6。A B C D B E B AF重用區(qū)間 1 2 3 4 5 8 6 7 9時(shí)間遞增圖 2-1 訪存時(shí)間局部性與訪存重用區(qū)間(a) Cache 容量 = 16 KB
第二章 CPU 存儲(chǔ)子系統(tǒng)性能解析模型研究綜述通過(guò)論文數(shù)據(jù)的分析與實(shí)驗(yàn)復(fù)現(xiàn),我們發(fā)現(xiàn) StatCache 可以實(shí)現(xiàn)全關(guān)聯(lián) Random Cache訪問(wèn)缺失行為的準(zhǔn)確預(yù)測(cè)。如圖 2-3 所示,以 Mibench[13]、SPEC2006[128]、MobybenchSuite2.0[14]中的 49 項(xiàng)基準(zhǔn)測(cè)試案例為軟件分析對(duì)象,StatCache 在 6 種 Cache 容量配置下,平均預(yù)測(cè)精度可到達(dá)到 92%以上。而對(duì)于非 Random Cache,如 LRU Cache 或者偽 LRU Cache等,其平均預(yù)測(cè)精度下降至 83%以下(數(shù)據(jù)可見(jiàn)文獻(xiàn)[59])。除此之外,StatCache 對(duì)亂序處理器下組關(guān)聯(lián) Cache 行為預(yù)測(cè)的適應(yīng)性也較好(詳見(jiàn) 3.1 小節(jié))。
經(jīng)典 StatCache 模型在順序處理器與亂序處理器下預(yù)測(cè) Random Cache 暖缺失次數(shù)的均方根誤差。從實(shí)驗(yàn)結(jié)果來(lái)看,訪存的亂序執(zhí)行機(jī)制會(huì)提升 StatCache 模型預(yù)測(cè)的誤差約 1%~4%。然而,亂序處理器下的 StatCache 仍然擁有平均 91%左右的預(yù)測(cè)精度。Random 替換策略并不記錄程序的訪存歷史,當(dāng)重用距離發(fā)生變化時(shí),若未發(fā)生 Cache 訪問(wèn)缺失,則 RandomCache 中的暫存數(shù)據(jù)與訪存歷史狀態(tài)不會(huì)發(fā)生任何改變。因此,訪存亂序執(zhí)行機(jī)制對(duì) RandomCache 訪問(wèn)行為的影響并不明顯。(a) D-Cache = 32KB, 4-way; L2 Cache = 1MB, 8-way
本文編號(hào):2769924
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2769924.html
最近更新
教材專著