專利名稱:一種高速緩存管理策略的調(diào)整方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機處理器高速緩存領(lǐng)域,特別是涉及一種高速緩存管理策略的調(diào) 整方法及系統(tǒng)。
背景技術(shù):
高速緩沖存儲器(Cache,也稱為高速緩存)是計算機處理器的重要組成部分之 一,是存儲速度介于寄存器和內(nèi)存之間的一種存儲器。利用程序執(zhí)行的局部性原理,盡可能 地把將要訪問的數(shù)據(jù)存儲到高速緩存,當(dāng)處理器需要數(shù)據(jù)時可以以很小的時間延遲把數(shù)據(jù) 提交給處理器,從而達到減少訪存時延,提高處理器性能的目的。由于高速緩存容量較小,需要對高速緩存進行有效的管理,盡可能將處理器需要 的數(shù)據(jù)放入到高速緩存中,從而減少系統(tǒng)訪存失效幾率,降低訪存代價,提高系統(tǒng)的整體性 能。目前,高速緩存采用的替換管理方法主要包括隨機替換方法(random)、先入先出 替換方法(FIFO)及最近最少使用替換方法(LRU)等。其中,LRU替換方法被普遍認為綜合 性能較高,因此得到了工業(yè)界的廣泛采用,大量應(yīng)用在通用處理器高速緩存設(shè)計中。LRU替換方法中的最近最多使用(MRU)替換策略,是將新插入的緩存行放入最近 最多使用位置的方法,在面對工作集較小、局部性較好的應(yīng)用時性能較好,可以帶來較少的 訪存失效。但是,隨著網(wǎng)絡(luò)和多媒體等容易產(chǎn)生大量順序性訪問、工作集較大、局部性較差的 應(yīng)用程序被廣泛使用,采用傳統(tǒng)的LRU替換方法管理高速緩存已經(jīng)不能滿足這些應(yīng)用程序 的高性能需求,往往會帶來較大的失效損失和訪存代價。針對LRU替換方法插入策略的缺點和不足,先后出現(xiàn)了一系列的優(yōu)化方法和改 進方案,包括最少插入策略(Least Insertion Policy, LIP)、雙峰插入策略(Bimodal Insertion Policy, BIP)和動態(tài)插入策略(Dynamic Insertion Policy, DIP)策略。在這 些優(yōu)化方案中,DIP策略由于具有在LIP和DIP這兩種策略間之間根據(jù)訪存行為動態(tài)切換 的功能,因而具有較高的性能和較好的應(yīng)用前景。但是,由于程序運行具有局部性特點,當(dāng)前程序運行行為與已經(jīng)過去較長一段時 間的運行狀態(tài)之間的聯(lián)系較少,DIP策略的動態(tài)決策如果不根據(jù)當(dāng)前應(yīng)用運行變化而作相 應(yīng)調(diào)整,將可能會做出不符合當(dāng)前應(yīng)用運行行為的錯誤決策,從而帶來較大的失效損失和 性能開銷。此外,即使對DIP策略進行調(diào)整,也應(yīng)當(dāng)根據(jù)程序運行的行為進行動態(tài)調(diào)整。采用靈活性較差的靜態(tài)調(diào)整方式,盡管實現(xiàn)較為簡單,但是并沒有從根本上改變 DIP決策方式與當(dāng)前應(yīng)用實際運行行為聯(lián)系較少的問題,從而無法滿足各種復(fù)雜情況的性 能要求,尤其在面對多線程多處理器共享緩存結(jié)構(gòu)時,性能往往較差。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是需要提供一種高速緩存管理策略的調(diào)整方法及系統(tǒng),解決現(xiàn)有技術(shù)中高速緩存動態(tài)插入策略決策方式與應(yīng)用訪存行為實際需要出現(xiàn)偏差導(dǎo) 致的系統(tǒng)性能降低的問題。為了解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案一種高速緩存管理策略的調(diào)整系統(tǒng),所述系統(tǒng)包括工作子系統(tǒng)、測試子系統(tǒng)和調(diào) 整子系統(tǒng),所述工作子系統(tǒng)和所述測試子系統(tǒng)構(gòu)成全部的高速緩存,其中所述工作子系統(tǒng)采用一種高速緩存管理策略管理所述工作子系統(tǒng)中的高速緩 存;所述測試子系統(tǒng)包括多個測試組,每個測試組分別采用不同的高速緩存管理策略 管理本測試組內(nèi)的高速緩存;所述調(diào)整子系統(tǒng)獲取所述多個測試組的訪問失效率信息,并根據(jù)所述多個測試組 的訪問失效率信息,對所述工作子系統(tǒng)采用的高速緩存管理策略進行調(diào)整。進一步的,所述測試子系統(tǒng)包括響應(yīng)當(dāng)前進程的緩存行。進一步的,所述測試子系統(tǒng)中每個測試組所包含的緩存行數(shù)量相等。進一步的,所述調(diào)整子系統(tǒng)包括獲取模塊、選擇模塊和調(diào)整模塊,其中所述獲取模塊,用于獲取每個測試組的訪問失效率信息;所述選擇模塊,與所述獲取模塊相連,用于根據(jù)所述多個測試組的訪問失效率信 息,選擇該多個測試組中一個測試組所采用的高速緩存管理策略作為所述工作子系統(tǒng)的目 標高速緩存管理策略;所述調(diào)整模塊,與所述選擇模塊相連,用于根據(jù)本地預(yù)先設(shè)置的調(diào)整策略和所述 目標高速緩存管理策略,調(diào)整所述工作子系統(tǒng)所采用的高速緩存管理策略。進一步的,所述獲取模塊獲取的訪問失效率信息是一個或多個單位時間片的訪問 失效率信息。進一步的,所述調(diào)整模塊包括記錄單元、判斷單元和調(diào)整單元,其中所述記錄單元,用于記錄所述選擇模塊連續(xù)選擇同一目標高速緩存管理策略的次 數(shù);所述判斷單元,與所述記錄單元相連,用于判斷所述記錄單元的次數(shù)是否達到預(yù) 先設(shè)置的閾值;所述調(diào)整單元,與所述判斷單元相連,用于在判斷單元判斷達到所述閾值時,將所 述工作子系統(tǒng)所采用的高速緩存管理策略調(diào)整為所述目標高速緩存管理策略?!N高速緩存管理策略的調(diào)整方法,包括將高速緩存劃分為工作子系統(tǒng)和測試子系統(tǒng);將所述測試子系統(tǒng)劃分為多個采用不同的高速緩存管理策略的測試組;獲取所述多個測試組的訪問失效率信息;根據(jù)所述多個測試組的訪問失效率信息,對所述工作子系統(tǒng)采用的高速緩存管理 策略進行調(diào)整。進一步的,所述將高速緩存劃分為工作子系統(tǒng)和測試子系統(tǒng),包括獲取所述高速緩存當(dāng)前響應(yīng)的進程狀態(tài);根據(jù)所述系統(tǒng)當(dāng)前響應(yīng)的狀態(tài),將包括響應(yīng)當(dāng)前進程的緩存行作為測試子系統(tǒng), 剩余的緩存行作為工作子系統(tǒng)。
5
進一步的,所述將所述測試子系統(tǒng)劃分為多個采用不同的高速緩存管理策略的測 試組,包括將所述測試子系統(tǒng)劃分成多個包含相同數(shù)量緩存行的測試組,其中每個測試組采 用不同的高速緩存管理策略管理管理高速緩存。進一步的,所述根據(jù)所述多個測試組的片訪問失效率信息,對所述工作子系統(tǒng)采 用的高速緩存管理策略進行調(diào)整,包括獲取每個測試組的訪問失效率信息;根據(jù)所述多個測試組的訪問失效率信息,選擇該多個測試組中一個測試組所采用 的高速緩存管理策略作為所述工作子系統(tǒng)的目標高速緩存管理策略;根據(jù)本地預(yù)先設(shè)置的調(diào)整策略和所述目標高速緩存管理策略,調(diào)整所述工作子系 統(tǒng)所采用的高速緩存管理策略。 進一步的,所述訪問失效率信息是一個或多個單位時間片的訪問失效率信息。進一步的,所述根據(jù)本地預(yù)先設(shè)置的調(diào)整策略和所述目標高速緩存管理策略,調(diào) 整所述工作子系統(tǒng)所采用的高速緩存管理策略,包括記錄所述選擇模塊連續(xù)選擇同一目標高速緩存管理策略的次數(shù);判斷所述記錄的次數(shù)是否達到預(yù)先設(shè)置的閾值;如果判斷達到所述閾值,將所述工作子系統(tǒng)所采用的高速緩存管理策略調(diào)整為所 述目標高速緩存管理策略;否則,不調(diào)整所述工作子系統(tǒng)所采用的高速緩存管理策略。本發(fā)明提供的技術(shù)方案,通過采用不同高速緩存管理策略的測試組輸出的測試結(jié) 果來調(diào)整工作子系統(tǒng)內(nèi)采用的高速緩存管理策略,保證工作子系統(tǒng)內(nèi)采用的策略與應(yīng)用訪 存行為實際需要一致,降低訪存失效的代價,提高了系統(tǒng)性能。
圖1為本發(fā)明提供一種高速緩存管理策略的調(diào)整方法實施例的流程示意圖;圖2為本發(fā)明提供的一種高速緩存管理策略的調(diào)整方法應(yīng)用實例的流程示意圖;圖3為本發(fā)明提供一種高速緩存管理策略的調(diào)整系統(tǒng)實施例的結(jié)構(gòu)示意圖;圖4為圖3所示實施例中調(diào)整子系統(tǒng)303的結(jié)構(gòu)示意圖;圖5為圖4所示實施例中調(diào)整模塊403的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下結(jié)合附圖對本發(fā)明作進一步 地詳細說明。圖1為本發(fā)明提供的一種高速緩存管理策略的調(diào)整方法實施例的流程示意圖。圖 1所示方法實施例包括步驟S101、將高速緩存劃分為工作子系統(tǒng)和測試子系統(tǒng);步驟S102、將所述測試子系統(tǒng)劃分為多個采用不同的高速緩存管理策略的測試 組;步驟S103、獲取所述多個測試組的訪問失效率信息;步驟S104、根據(jù)所述多個測試組的訪問失效率信息,對所述工作子系統(tǒng)采用的高速緩存管理策略進行調(diào)整。由于程序具有局部性特征,高速緩存在響應(yīng)進程過程中緩存行的使用狀態(tài)也具有局部性特征,因此在步驟SlOl中,子系統(tǒng)的劃分具體包括獲取所述高速緩存當(dāng)前響應(yīng)的 進程狀態(tài);根據(jù)所述進程狀態(tài),將包括響應(yīng)當(dāng)前進程的緩存行作為測試子系統(tǒng),剩余的緩存 行作為工作子系統(tǒng),其中該測試子系統(tǒng)可以全部為用于響應(yīng)當(dāng)前進程的緩存行,也可以部 分為用于響應(yīng)當(dāng)前進程的緩存行,如果為部分,用于響應(yīng)當(dāng)前進程的緩存行應(yīng)占全部測試 子系統(tǒng)中緩存行總數(shù)的一半以上,從而保證測試子系統(tǒng)所包含的緩存行能夠體現(xiàn)當(dāng)前正在 響應(yīng)的當(dāng)前進程狀態(tài)。為了減少測試結(jié)果的誤差,在步驟S102中所述測試子系統(tǒng)中每個測試組包含相 同數(shù)量的緩存行,且每個測試組采用不同的高速緩存管理策略管理管理高速緩存,以保證 每個測試組的測試基礎(chǔ)一致,避免出現(xiàn)由于緩存行數(shù)量不統(tǒng)一引起的誤差。在步驟103中,通過測試,在當(dāng)前進程狀態(tài)下不同策略對當(dāng)前進程的處理效果,從 中得到一個優(yōu)選策略,其中調(diào)整所述工作子系統(tǒng)采用的高速緩存管理策略的過程包括獲 取每個測試組的訪問失效率信息;根據(jù)所述多個測試組的訪問失效率信息,選擇該多個測 試組中一個測試組所采用的高速緩存管理策略作為所述工作子系統(tǒng)的目標高速緩存管理 策略;根據(jù)本地預(yù)先設(shè)置的調(diào)整策略和所述目標高速緩存管理策略,調(diào)整所述工作子系統(tǒng) 所采用的高速緩存管理策略。在本步驟中采用單位時間片訪問失效率進行計算,克服現(xiàn)有 技術(shù)中測試組之間訪問數(shù)相差較多時根據(jù)單位時間片訪問失效數(shù)信息無法體現(xiàn)各個策略 訪問特征的問題,采用本發(fā)明提供的單位時間片訪問失效率能夠準確體現(xiàn)每個測試組的訪 問特征,從而在準確的訪問特征條件下進行策略的選擇,保證策略選擇的準確性。其中所述訪問失效率信息是一個或多個單位時間片的訪問失效率信息。由于程序的運行狀態(tài)中不是平穩(wěn)狀態(tài),會偶然出現(xiàn)所需資源過多或過少的情景, 造成進程狀態(tài)發(fā)生突變,變?yōu)榉瞧椒€(wěn)態(tài),因此如果只根據(jù)一次選擇的優(yōu)選策略就馬上對工 作子系統(tǒng)采用的策略進行調(diào)整,當(dāng)程序從非平穩(wěn)態(tài)恢復(fù)平穩(wěn)狀態(tài)時,調(diào)整后的策略并不適 應(yīng)當(dāng)前的運行策略,從而引起了誤判。因此本實施例中為避免誤判,結(jié)合所述調(diào)整策略和 所述目標高速緩存管理策略調(diào)整的過程包括記錄所述選擇模塊連續(xù)選擇同一目標高速緩 存管理策略的次數(shù);判斷所述記錄的次數(shù)是否達到預(yù)先設(shè)置的閾值;如果判斷達到所述閾 值,將所述工作子系統(tǒng)所采用的高速緩存管理策略調(diào)整為所述目標高速緩存管理策略;否 貝U,不調(diào)整所述工作子系統(tǒng)所采用的高速緩存管理策略。結(jié)合上述技術(shù)方案,下面以一個應(yīng)用實例進行說明圖2為本發(fā)明提供的一種高速緩存管理策略的調(diào)整方法應(yīng)用實例的流程示意圖。 圖2所示方法實施例包括如下步驟步驟S201,將高速緩存劃分為測試部分、調(diào)整部分及工作部分,其中該測試部分包 括當(dāng)前響應(yīng)進程的緩存行;步驟S202,將測試部分劃分為第一測試組和第二測試組,該第一測試組和第二測 試組所包含的緩存行的數(shù)量相等;用于執(zhí)行單個替換策略的測試的緩存行數(shù)目可以在實現(xiàn) 時自行設(shè)定,原則上不超過高速緩存中行數(shù)目總數(shù)的5 % (本實施例設(shè)定為行數(shù)目總數(shù)的 5% );第一測試組采用LRU替換策略,第二測試組采用BIP替換策略;前述的第一測試組也可稱之為LRU測試組,第二測試組也可稱之為BIP測試組;步驟S203,在調(diào)整部分設(shè)置一選擇寄存器(policy selector, psel)、一右移次數(shù) 寄存器(Shr_nUm)和四個訪問寄存器。該兩個訪問寄存器包括第一訪問寄存器、第二訪問 寄存器、第三訪問寄存器和第四訪問寄存器,其中第一訪問寄存器用于記錄LRU測試組單 位時間片訪問總數(shù),第二訪問寄存器用于記錄LRU測試組單位時間片訪問失效數(shù),第三訪 問寄存器用于記錄BIP測試組單位時間片訪問總數(shù),第四訪問寄存器用于記錄BIP測試組 單位時間片訪問失效數(shù); 步驟S204,利用該四個訪問寄存器記錄高速緩存測試組單位時間片的訪問總數(shù)和 訪問失效數(shù);步驟S205,獲取第一測試組和第二測試組的單位時間片訪問失效率,其中單位時 間片訪問失效率=單位時間片訪問失效數(shù)/單位時間片訪問總數(shù);步驟S206,獲取第一測試組和第二測試組的單位時間片失效率之差,并記錄在 Misses_difference寄存器,該MiSSeS_difference寄存器會根據(jù)輸出結(jié)果生成一個符號 位用于標識失效數(shù)的正負,例如兩測試組單位時間片失效數(shù)之差大于0,標識為1,否則標 識為0 ;步驟S207,根據(jù)該單位時間片失效率之差,將LRU策略或者BIP策略預(yù)測為當(dāng) 前系統(tǒng)的優(yōu)選策略,得到一個優(yōu)選策略的預(yù)測結(jié)果;如步驟S204中所舉實例,在Misses_ difference寄存器標識為1時,標記預(yù)測得到的優(yōu)選策略為LRU策略;標識為0時,標記預(yù) 測得到的優(yōu)選策略為LRU策略。步驟S208,對該預(yù)測結(jié)果中的優(yōu)選策略與該psel寄存器中符號位指示的當(dāng)前策 略進行比較,如果兩種策略相同,則轉(zhuǎn)步驟S209,否則轉(zhuǎn)步驟S210,其中參照步驟S206中所 舉實例,可配置psel寄存器中符號位0為LIP策略,符號位1為BIP策略;步驟S209,累減該右移次數(shù)寄存器(Shr_nUm)的值,即加1操作,本實施例中,該 shr_num寄存器的值最大為8,最小為0 ;之后轉(zhuǎn)步驟S211 ;步驟S210,累加該右移次數(shù)寄存器(Shr_nUm)的值,即減1操作;之后轉(zhuǎn)步驟 S211 ;步驟S211 Jfpsel寄存器執(zhí)行右移操作,執(zhí)行動態(tài)插入策略單位時間片調(diào)整;其 中psel寄存器執(zhí)行右移操作時,右移位數(shù)由shr_num寄存器變化的值決定,例如,shr_num 寄存器進行累加和累減分別右移不同的位數(shù),并根據(jù)右移結(jié)果對psel寄存器上用于標識 當(dāng)前工作部分所采用的策略的符號位進行調(diào)整;當(dāng)然也可以在連續(xù)多次優(yōu)選策略為LIP或BIP策略時,再修改psel寄存器上的符 號位;步驟S212,當(dāng)右移操作完成后,對上述四個訪問寄存器、執(zhí)行清零操作,以記錄下 一時間片的訪存信息,進行下一次調(diào)整操作,具體參見步驟S204 S212。本發(fā)明提供的方法,通過采用不同高速緩存管理策略的測試組輸出的測試結(jié)果來 調(diào)整工作子系統(tǒng)內(nèi)采用的高速緩存管理策略,保證工作子系統(tǒng)內(nèi)采用的策略與應(yīng)用訪存行 為實際需要一致,降低訪存失效的代價,提高了系統(tǒng)性能。圖3為本發(fā)明提供一種高速緩存管理策略的調(diào)整系統(tǒng)實施例的結(jié)構(gòu)示意圖。結(jié)合 圖1和2所示的方法,圖3所示系統(tǒng)實施例包括工作子系統(tǒng)301、測試子系統(tǒng)302和調(diào)整子系統(tǒng)303,所述工作子系統(tǒng)301和所述測試子系統(tǒng)302構(gòu)成全部的高速緩存,其中 所述工作子系統(tǒng)301采用一種高速緩存管理策略管理所述工作子系統(tǒng)中的高速 緩存;所述測試子系統(tǒng)302包括多個測試組,每個測試組分別采用不同的高速緩存管理 策略管理本測試組內(nèi)的高速緩存;所述調(diào)整子系統(tǒng)303獲取所述多個測試組的訪問失效率信息,并根據(jù)所述多個測 試組的訪問失效率信息,對所述工作子系統(tǒng)采用的高速緩存管理策略進行調(diào)整。其中所述測試子系統(tǒng)302包括響應(yīng)當(dāng)前進程的緩存行。其中所述測試子系統(tǒng)302中每個測試組所包含的緩存行相等。圖4為圖3所示實施例中調(diào)整子系統(tǒng)303的結(jié)構(gòu)示意圖。圖4所示調(diào)整子系統(tǒng) 303包括獲取模塊401、選擇模塊402和調(diào)整模塊403,其中所述獲取模塊401,用于獲取每個測試組的訪問失效率信息;所述選擇模塊402,與所述獲取模塊401相連,用于根據(jù)所述多個測試組的訪問失 效率信息,選擇該多個測試組中一個測試組所采用的高速緩存管理策略作為所述工作子系 統(tǒng)的目標高速緩存管理策略;所述調(diào)整模塊403,與所述選擇模塊402相連,用于根據(jù)本地預(yù)先設(shè)置的調(diào)整策略 和所述目標高速緩存管理策略,調(diào)整所述工作子系統(tǒng)所采用的高速緩存管理策略。其中所述獲取模塊401獲取的訪問失效率信息是一個或多個單位時間片的訪問 失效率信息。圖5為圖4所示實施例中調(diào)整模塊403的結(jié)構(gòu)示意圖。圖5所示調(diào)整模塊403包 括記錄單元501、判斷單元502和調(diào)整單元503,其中所述記錄單元501,用于記錄所述選擇模塊連續(xù)選擇同一目標高速緩存管理策略 的次數(shù);所述判斷單元502,與所述記錄單元501相連,用于判斷所述記錄單元501的次數(shù) 是否達到預(yù)先設(shè)置的閾值;所述調(diào)整單元503,與所述判斷單元502相連,用于在判斷單元502判斷達到所 述閾值時,將所述工作子系統(tǒng)所采用的高速緩存管理策略調(diào)整為所述目標高速緩存管理策 略。本發(fā)明提供的系統(tǒng),通過采用不同高速緩存管理策略的測試組輸出的測試結(jié)果來 調(diào)整工作子系統(tǒng)內(nèi)采用的高速緩存管理策略,保證工作子系統(tǒng)內(nèi)采用的策略與應(yīng)用訪存行 為實際需要一致,降低訪存失效的代價,提高了系統(tǒng)性能。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的全部或部分步驟可以使用計算機程 序流程來實現(xiàn),所述計算機程序可以存儲于一計算機可讀存儲介質(zhì)中,所述計算機程序在 相應(yīng)的硬件平臺上(如系統(tǒng)、設(shè)備、裝置、器件等)執(zhí)行,在執(zhí)行時,包括方法實施例的步驟 之一或其組合。可選地,上述實施例的全部或部分步驟也可以使用集成電路來實現(xiàn),這些步驟可 以被分別制作成一個個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電 路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。上述實施例中的各裝置/功能模塊/功能單元可以采用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,也可以分布在多個計算裝置所組成的網(wǎng)絡(luò)上。 上述實施例中的各裝置/功能模塊/功能單元以軟件功能模塊的形式實現(xiàn)并作為 獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述提到的計算機 可讀取存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以權(quán)利要求所述的保護范圍為準。
權(quán)利要求
一種高速緩存管理策略的調(diào)整系統(tǒng),其特征在于,所述系統(tǒng)包括工作子系統(tǒng)、測試子系統(tǒng)和調(diào)整子系統(tǒng),所述工作子系統(tǒng)和所述測試子系統(tǒng)構(gòu)成全部的高速緩存,其中所述工作子系統(tǒng)采用一種高速緩存管理策略管理所述工作子系統(tǒng)中的高速緩存;所述測試子系統(tǒng)包括多個測試組,每個測試組分別采用不同的高速緩存管理策略管理本測試組內(nèi)的高速緩存;所述調(diào)整子系統(tǒng)獲取所述多個測試組的訪問失效率信息,并根據(jù)所述多個測試組的訪問失效率信息,對所述工作子系統(tǒng)采用的高速緩存管理策略進行調(diào)整。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述測試子系統(tǒng)包括響應(yīng)當(dāng)前進程的緩 存行。
3.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述測試子系統(tǒng)中每個測試組所包含 的緩存行數(shù)量相等。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述調(diào)整子系統(tǒng)包括獲取模塊、選擇模塊 和調(diào)整模塊,其中所述獲取模塊,用于獲取每個測試組的訪問失效率信息;所述選擇模塊,與所述獲取模塊相連,用于根據(jù)所述多個測試組的訪問失效率信息,選 擇該多個測試組中一個測試組所采用的高速緩存管理策略作為所述工作子系統(tǒng)的目標高 速緩存管理策略;所述調(diào)整模塊,與所述選擇模塊相連,用于根據(jù)本地預(yù)先設(shè)置的調(diào)整策略和所述目標 高速緩存管理策略,調(diào)整所述工作子系統(tǒng)所采用的高速緩存管理策略。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述獲取模塊獲取的訪問失效率信息是 一個或多個單位時間片的訪問失效率信息。
6.根據(jù)權(quán)利要求4或5所述的系統(tǒng),其特征在于,所述調(diào)整模塊包括記錄單元、判斷單 元和調(diào)整單元,其中所述記錄單元,用于記錄所述選擇模塊連續(xù)選擇同一目標高速緩存管理策略的次數(shù);所述判斷單元,與所述記錄單元相連,用于判斷所述記錄單元的次數(shù)是否達到預(yù)先設(shè) 置的閾值;所述調(diào)整單元,與所述判斷單元相連,用于在判斷單元判斷達到所述閾值時,將所述工 作子系統(tǒng)所采用的高速緩存管理策略調(diào)整為所述目標高速緩存管理策略。
7.一種高速緩存管理策略的調(diào)整方法,其特征在于,包括將高速緩存劃分為工作子系統(tǒng)和測試子系統(tǒng);將所述測試子系統(tǒng)劃分為多個采用不同的高速緩存管理策略的測試組;獲取所述多個測試組的訪問失效率信息;根據(jù)所述多個測試組的訪問失效率信息,對所述工作子系統(tǒng)采用的高速緩存管理策略 進行調(diào)整。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述將高速緩存劃分為工作子系統(tǒng)和測 試子系統(tǒng),包括獲取所述高速緩存當(dāng)前響應(yīng)的進程狀態(tài);根據(jù)所述系統(tǒng)當(dāng)前響應(yīng)的狀態(tài),將包括響應(yīng)當(dāng)前進程的緩存行作為測試子系統(tǒng),剩余 的緩存行作為工作子系統(tǒng)。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述將所述測試子系統(tǒng)劃分為多個采 用不同的高速緩存管理策略的測試組,包括將所述測試子系統(tǒng)劃分成多個包含相同數(shù)量緩存行的測試組,其中每個測試組采用不 同的高速緩存管理策略管理管理高速緩存。
10.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述根據(jù)所述多個測試組的片訪問失效 率信息,對所述工作子系統(tǒng)采用的高速緩存管理策略進行調(diào)整,包括獲取每個測試組的訪問失效率信息;根據(jù)所述多個測試組的訪問失效率信息,選擇該多個測試組中一個測試組所采用的高 速緩存管 理策略作為所述工作子系統(tǒng)的目標高速緩存管理策略;根據(jù)本地預(yù)先設(shè)置的調(diào)整策略和所述目標高速緩存管理策略,調(diào)整所述工作子系統(tǒng)所 采用的高速緩存管理策略。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述訪問失效率信息是一個或多個單 位時間片的訪問失效率信息。
12.根據(jù)權(quán)利要求10或11所述的方法,其特征在于,所述根據(jù)本地預(yù)先設(shè)置的調(diào)整 策略和所述目標高速緩存管理策略,調(diào)整所述工作子系統(tǒng)所采用的高速緩存管理策略,包 括記錄所述選擇模塊連續(xù)選擇同一目標高速緩存管理策略的次數(shù);判斷所述記錄的次數(shù)是否達到預(yù)先設(shè)置的閾值;如果判斷達到所述閾值,將所述工作子系統(tǒng)所采用的高速緩存管理策略調(diào)整為所述目 標高速緩存管理策略;否則,不調(diào)整所述工作子系統(tǒng)所采用的高速緩存管理策略。
全文摘要
本發(fā)明公開了一種高速緩存管理策略的調(diào)整方法及系統(tǒng),涉及計算機處理器高速緩存領(lǐng)域;解決現(xiàn)有技術(shù)中高速緩存管理策略決策方式與應(yīng)用訪存行為實際需要出現(xiàn)偏差導(dǎo)致系統(tǒng)性能降低的問題。所述系統(tǒng)包括工作子系統(tǒng)、測試子系統(tǒng)和調(diào)整子系統(tǒng)所述工作子系統(tǒng)和所述測試子系統(tǒng)構(gòu)成全部的高速緩存,其中所述工作子系統(tǒng)采用一種高速緩存管理策略管理所述工作子系統(tǒng)中的高速緩存;所述測試子系統(tǒng)包括多個測試組,每個測試組分別采用不同的高速緩存管理策略管理本測試組內(nèi)的高速緩存;所述調(diào)整子系統(tǒng)獲取所述多個測試組的訪問失效率信息,并根據(jù)所述多個測試組的訪問失效率信息,對所述工作子系統(tǒng)采用的高速緩存管理策略進行調(diào)整。
文檔編號G06F12/08GK101866321SQ201010200570
公開日2010年10月20日 申請日期2010年6月13日 優(yōu)先權(quán)日2010年6月13日
發(fā)明者程旭, 管雪濤, 黃濤 申請人:北京北大眾志微系統(tǒng)科技有限責(zé)任公司