[發明專利]一種多核環境下的共享緩存動態劃分方法有效
| 申請號: | 201210592360.6 | 申請日: | 2012-12-29 |
| 公開(公告)號: | CN103077128A | 公開(公告)日: | 2013-05-01 |
| 發明(設計)人: | 金海;廖小飛;余丹萍 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;G06F9/50 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多核 環境 共享 緩存 動態 劃分 方法 | ||
1.一種多核環境下的共享緩存動態劃分方法,其特征在于,包括以下步驟:
(1)初始化硬件計數器,啟動多個應用程序,并利用硬件計數器對應用程序的運行信息進行采樣;
(2)利用硬件計數器獲取程序的基本塊信息分析應用程序的階段行為,通過提取應用程序的IPC變異系數來判斷應用程序的階段是否發生變化,若是則進入步驟(3),否則進入步驟(5);
(3)利用硬件計數器獲取應用程序的緩存缺失間距,以得到缺失率曲線,并根據缺失率曲線制定應用程序的緩存劃分策略;
(4)根據制定的緩存劃分策略并利用動態頁著色方法對應用程序的緩存進行重新分配;
(5)判斷應用程序是否運行結束,若是則過程結束,否則返回步驟(2)。
2.根據權利要求1所述的共享緩存動態劃分方法,其特征在于,
步驟(1)是通過libpfm庫的接口設置事件并讀取硬件計數器;
應用程序的運行信息包括有SBBV、IPC、以及緩存缺失間距。
3.根據權利要求2所述的共享緩存動態劃分方法,其特征在于,針對SBBV的采樣周期是任意正整數,IPC的采樣周期是1000萬、1億或者10億條指令,緩存缺失間距的采樣周期是每一次緩存訪問失效。
4.根據權利要求1所述的共享緩存動態劃分方法,其特征在于,步驟(2)包括以下子步驟:
(2-1)將各應用程序劃分為固定長度的程序段;具體而言,程序段是包含固定數目指令的一段程序,在本發明中固定數目為1000萬、1億或者10億條指令;
(2-2)判斷應用程序當前執行的程序段是否是該應用程序的第一個程序段,若是則進入步驟(2-3),否則進入步驟(2-10);
(2-3)根據SBBV的采樣周期來采樣應用程序在各采樣點的條件分支指令地址和條件分支指令間執行的指令數;
(2-4)利用采樣到的條件分支指令地址和條件分支指令間執行的指令數建立稀疏基本塊向量;
(2-5)判斷應用程序當前執行的程序段是否是該應用程序的第一個程序段,若是則進入步驟(2-6),否則進入步驟(2-7);
(2-6)為該程序段設置一個新的階段,并保存該階段對應的稀疏基本塊向量,過程結束;
(2-7)獲得該程序段的稀疏基本塊向量與該應用程序以往出現的每一個階段的稀疏基本塊向量之間的對比結果;
(2-8)從獲得的對比結果中取出與該程序段的稀疏基本塊向量距離最小的階段,并判斷對應的最小距離是否大于閾值γ,若是則返回步驟(2-6),否則進入步驟(2-9);
(2-9)將該程序段與距離最小的階段歸為一類階段,過程結束;
(2-10)采樣應用程序在該程序段的IPC;
(2-11)根據采樣得到的IPC計算該程序段的IPC變異系數COV;
(2-12)判斷IPC變異系數COV是否大于閾值γ,若是則返回步驟(2-3),否則表示應用程序的階段沒有發生變化,過程結束。
5.根據權利要求4所述的共享緩存動態劃分方法,其特征在于,對比結果是通過計算該程序段的稀疏基本塊向量與以往出現的每一個階段的稀疏基本塊向量之間的歐拉距離或曼哈頓距離的方式得以獲得。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210592360.6/1.html,轉載請聲明來源鉆瓜專利網。





