[發明專利]一種基于片上多核處理器共享cache的動態公平劃分方法有效
| 申請號: | 200910243653.1 | 申請日: | 2009-12-18 |
| 公開(公告)號: | CN101739299A | 公開(公告)日: | 2010-06-16 |
| 發明(設計)人: | 方娟;蒲江 | 申請(專利權)人: | 北京工業大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京思海天達知識產權代理有限公司 11203 | 代理人: | 劉萍 |
| 地址: | 100124 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 多核 處理器 共享 cache 動態 公平 劃分 方法 | ||
1.一種基于片上多核處理器共享cache的動態公平劃分方法,其特征在 于,包括以下步驟:初始化、回溯和重劃分;將應用程序的運行時間均勻分 塊,每一塊時間稱為一個時間片t;初始化只在應用程序運行前執行一次,回 溯和重劃分步驟則在每個時間片t結束后執行;設S2t為時間片t的公平性指 標,回溯階段是若公平性指標S2t大于前一時間片的公平性指標S2t-1,且S2t與 S2t-1的差大于回溯閾值,則撤銷前一次重劃分;重劃分階段是若未發生回溯且 S2t大于重劃分閾值,則對所有線程重新劃分高速緩存Cache;
在該方法中,有四個基本的參數:回溯閾值Srollback、重劃分閾值Srepartition、 劃分粒度gran和時間片t;Srollback取值在1%~50%之間,Srepartition取值在1%~10% 之間,劃分粒度gran即是劃分的最小單位取值在64B~64KB之間,t取值在 100000~5000000個時鐘周期之間;具體過程如下:
(1)初始化:
1.1)所有線程等分高速緩存Cache,Pi=Cache總容量/n,Pi表示線 程i所分配的Cache大小,n表示線程總數,Pti表示時間片t時線程i所分 配的Cache大小;
1.2)設M1為每指令的一級Cache缺失次數,E1為訪問一級Cache命 中開銷,E2為一級Cache缺失時訪問二級Cache的命中開銷,E3為二級 Cache缺失時訪問主存的命中開銷,CPIbase為平均每指令執行周期數;M1、 E1、E2、E3和CPIbase的值由所使用的計算機體系結構決定;
1.3)令α=CPIbase+E1+M1×E2,β=E3,計算出α和β;
(2)回溯階段:在時間片t結束時,
2.1)計算時間片t時劃分方案的公平性指標S2t:
2.1.1)讀指令計數器獲得時間片t內各線程執行的指令數Inum,讀 獨占缺失計數器獲得各線程獨占cache狀態下的缺失數Missdi;
2.1.2)根據公式(I)計算出Tdedi,Tshri等于時間片t的長度,公 式(I)如下:
Tdedi=α×Inum+β×Missdi????(I)
2.1.3)根據公式(II)計算Xi和Xi的均值,公式(II)如下:
2.1.4)根據公式(III)計算S2t,公式(III)如下:
2.2)若S2t<S2t-1,或|S2t-S2t-1|/S2t<Srollback則轉到步驟(3);
2.3)若S2t≥S2t-1,且|S2t-S2t-1|/S2t≥Srollback,令Pt+1i=Pt-1i, 轉到步驟(4);
(3)重劃分階段:回溯階段結束后,
3.1)若S2t<Srepartition,則轉到步驟(4);
3.2)若S2t≥Srepartition,則設Yi=Xi-∑Xi/n,劃分集PS={Pt1,Pt2,…, Ptn}和候選集CS={1,2,…,n};
3.3)如|CS|≥2,選出Yi中的最大值m?axYk和最小值minYj,k和j 分別是最大值和最小值的線程號;若maxYk≤0或minYj≥0則轉到步驟 3.6);
3.4)如Ptj=gran,則CS′=CS-{j},轉到步驟3.3);
3.5)Pt+1k=Ptk+gran,Pt+1j=Ptj-gran,CS′=CS-{k,j},轉到 步驟3.3);
3.6)若CS′中還有剩余的線程號i,則令Pt+1i=Pti;
(4)轉到步驟(2),直至n個線程運行結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京工業大學,未經北京工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/200910243653.1/1.html,轉載請聲明來源鉆瓜專利網。





