[發(fā)明專利]一種多核環(huán)境下的共享緩存動態(tài)劃分方法有效
| 申請?zhí)枺?/td> | 201210592360.6 | 申請日: | 2012-12-29 |
| 公開(公告)號: | CN103077128A | 公開(公告)日: | 2013-05-01 |
| 發(fā)明(設計)人: | 金海;廖小飛;余丹萍 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;G06F9/50 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多核 環(huán)境 共享 緩存 動態(tài) 劃分 方法 | ||
技術領域
本發(fā)明屬于多核體系結(jié)構和程序行為分析領域,更具體地,涉及一種多核環(huán)境下的共享緩存動態(tài)劃分方法。?
背景技術
片上多核處理器(Chip?Multi?Processors,CMP)以其高性能、低功耗的優(yōu)勢成為微處理器主流。高速緩存作為處理器的核心部件,對處理器系統(tǒng)的性能起著至關重要的作用。在多核架構下,處理器采用多級緩存的設計方式,所有處理器核共享最后一級緩存或者每個處理器核擁有自己私有的最后一級緩存。私有最后一級緩存的結(jié)構,芯片擴展性好,控制邏輯相對簡單,但是無法做到對系統(tǒng)資源的高效利用。相比較而言,共享最后一級緩存的結(jié)構具有資源利用率高、節(jié)約能耗等優(yōu)點,是目前多核處理器架構發(fā)展的主流趨勢。?
但是,共享緩存的結(jié)構帶來了緩存污染的問題。在多道任務環(huán)境下,對于并行執(zhí)行的多個應用,當一個應用的緩存失效時,根據(jù)頁面置換算法,可能替換另一個應用在緩存中的數(shù)據(jù)。因此,多個應用互相污染對方的數(shù)據(jù),從而導致系統(tǒng)的整形性能降低。為此,緩存劃分的方法被提出來用于共享緩存的管理。但如何高效地劃分與管理多核體系結(jié)構的共享緩存,成為了當前的一個研究熱點。?
當前,主要有兩種緩存劃分的算法,即靜態(tài)緩存劃分和動態(tài)緩存劃分。靜態(tài)緩存劃分在程序運行之前就確定好緩存的劃分策略,在程序運行過程中,共享緩存劃分保持不變。但是,這種方法對于行為復雜的程序并不適用,在一些情況下不能有效提升系統(tǒng)的性能。動態(tài)緩存劃分方法利用程序?運行時的反饋信息,動態(tài)劃分應用緩存的大小。但是,動態(tài)緩存劃分的方法帶來了如何決定緩存劃分時機的問題。?
研究發(fā)現(xiàn),大部分程序在執(zhí)行過程中,它們的運行特征(如cache缺失率、CPI等)都不是一成不變的。由于程序中循環(huán)、遞歸等結(jié)構的大量存在,程序在執(zhí)行過程中的行為往往會隨時間呈現(xiàn)不規(guī)則的周期性變化,這就是程序的階段行為。與此同時,程序的緩存需求也隨著程序階段的變化而變化,程序的階段不同,程序?qū)彺娴男枨笠灿锌赡懿灰粯印@贸绦虻碾A段行為可以有效地指導緩存的動態(tài)劃分,當檢測到程序的階段發(fā)生轉(zhuǎn)變,那么在下一階段就可以對程序的緩存進行重新調(diào)整。?
在多任務環(huán)境下,緩存劃分能夠有效解決緩存的污染問題,但是,傳統(tǒng)的動態(tài)的緩存劃分方法都是每隔一定的時間對程序的緩存做一次調(diào)整,并且在制定緩存劃分策略時,需要添加額外的性能監(jiān)控硬件或者改變現(xiàn)有的硬件結(jié)構,還只是在學術界被用來研究,并沒有在真實的機器上實現(xiàn)。目前,共享緩存的動態(tài)劃分機制存在兩個主要的問題:?
(1)并不能在最恰當?shù)臅r機調(diào)整程序的緩存,由于程序的緩存需求與程序的階段行為相關,而程序的階段行為并不是均勻有規(guī)律的,目前這種每隔固定時間對程序的緩存進行調(diào)整并不能在程序的緩存需求發(fā)生變化的最佳時機對其緩存進行調(diào)整;?
(2)動態(tài)調(diào)整緩存需要給程序劃分合適大小的緩存,而要確定緩存大小是否合適,現(xiàn)有的機制需要添加額外的硬件對程序的訪存行為進行監(jiān)控,這種方法還不能應用在真實的機器上。?
發(fā)明內(nèi)容
針對現(xiàn)有技術的缺陷,本發(fā)明的目的在于提供一種多核環(huán)境下的共享緩存動態(tài)劃分方法,其能感知程序的緩存需求變化,從而在最佳時機對程序的緩存作調(diào)整,此外,與現(xiàn)有的階段行為分析方法相比,本發(fā)明對程序的性能幾乎沒有影響,能有效提高系統(tǒng)的整體性能。?
為實現(xiàn)上述目的,本發(fā)明提供了一種多核環(huán)境下的共享緩存動態(tài)劃分方法,包括以下步驟:?
(1)初始化硬件計數(shù)器,啟動多個應用程序,并利用硬件計數(shù)器對應用程序的運行信息進行采樣;?
(2)利用硬件計數(shù)器獲取程序的基本塊信息分析應用程序的階段行為,通過提取應用程序的IPC變異系數(shù)來判斷應用程序的階段是否發(fā)生變化,若是則進入步驟(3),否則進入步驟(5);?
(3)利用硬件計數(shù)器獲取應用程序的緩存缺失間距,以得到缺失率曲線,并根據(jù)缺失率曲線制定應用程序的緩存劃分策略;?
(4)根據(jù)制定的緩存劃分策略并利用動態(tài)頁著色方法對應用程序的緩存進行重新分配;?
(5)判斷應用程序是否運行結(jié)束,若是則過程結(jié)束,否則返回步驟(2)。?
步驟(1)是通過libpfm庫的接口設置事件并讀取硬件計數(shù)器,應用程序的運行信息包括有SBBV、IPC、以及緩存缺失間距。?
針對SBBV的采樣周期是任意正整數(shù),IPC的采樣周期是1000萬、1億或者10億條指令,緩存缺失間距的采樣周期是每一次緩存訪問失效。?
步驟(2)包括以下子步驟:?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經(jīng)華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210592360.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 環(huán)境服務系統(tǒng)以及環(huán)境服務事業(yè)
- 環(huán)境控制裝置、環(huán)境控制方法、環(huán)境控制程序及環(huán)境控制系統(tǒng)
- 環(huán)境檢測終端和環(huán)境檢測系統(tǒng)
- 環(huán)境調(diào)整系統(tǒng)、環(huán)境調(diào)整方法及環(huán)境調(diào)整程序
- 環(huán)境估計裝置和環(huán)境估計方法
- 用于環(huán)境艙的環(huán)境控制系統(tǒng)及環(huán)境艙
- 車輛環(huán)境的環(huán)境數(shù)據(jù)處理
- 環(huán)境取樣動力頭、環(huán)境取樣方法
- 環(huán)境艙環(huán)境控制系統(tǒng)
- 環(huán)境檢測儀(環(huán)境貓)





