麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

基于公平性考慮的短作業優先內存請求調度方法

文檔序號:6357274閱讀:911來源:國知局
專利名稱:基于公平性考慮的短作業優先內存請求調度方法
技術領域
本發明屬于信息處理系統的多核處理器內存控制器請求調度技術領域,具體涉及一種考慮各線程訪存公平性、平均等待時間最短并且維護線程本身固有并行性的策略。
背景技術
半導體集成電路的發展符合摩爾定律,即每隔18個月集成電路的集成規模會增加一倍。然而,隨著處理器設計越來越復雜,散熱、功耗等問題成為了追求單核處理器性能不斷提高的瓶頸。于是,片上多核處理器成為了發展的必然趨勢,并且已經取得了相當不錯的成績。在計算機系統結構中,內存系統是最重要的一級共享存儲層次。隨著處理器計算速度越來越快,內存存取速度增長卻慢了很多。此外,多核處理器多線程應用同時訪問共享的內存資源,請求集中存于內存控制器緩沖中,造成內存資源競爭,這些都讓“內存墻”現象也越來越明顯。所謂內存墻,指的是內存性能嚴重限制CPU性能發揮的現象。傳統單核體系結構下,內存控制器的行緩沖優先(FR-FCFS)調度策略優先服務命中行緩沖的訪存請求,充分地利用線程的數據局部性,提高了內存系統的吞吐率,從而使全系統性能最優。然而,在多核處理器系統結構下,它缺乏考慮線程間的公平性訪問和線程本身固有的并行性,單純地追求內存系統的吞吐率,忽略了計算機整體性能。行緩沖優先 (FR-FCFS)調度策略的這些限制表現在,存在某些訪存稀疏型或數據局部性差的線程餓死的現象,簡單地同等看待所有線程請求使平均等待時間長,沒有能夠利用線程本身的并行性達到內存訪問并行化。公平性考慮的短作業優先調度策略(FAR-SJFS),通過設定訪存請求最長等待時間閾值來保證各線程訪問內存時的公平性,通過短作業優先策略來縮短訪存請求的平均等待時間,使訪存請求在內存不同內存體(Bank)間具有統一的優先級,從而保證了線程本身的并行性,從而同一線程對不同Bank的訪問可以同時得到服務,實現了訪存時間重疊,達到了內存訪問并行化(MLP)的目的。現代的SDRAM內存系統(圖I)包含了一個(或幾個)內存控制器,實現處理器訪存請求緩存,請求調度,地址轉化等功能(圖2)。內存控制器之外的部分是內存體,存儲數據的記憶部件。內存體包含一個(或幾個)Rank,每個Rank包含幾個設備。這是由于處理器與內存之間的數據總線是64位(或128位),但是實際工藝由于封裝、功耗等問題只會生產8位或16的內存設備,所以需要8個設備共同湊成64位數據總線的位數。一個Rank 內的各個設備并聯在一起,使用相同的地址、命令總線。每個設備都是由多個二維存儲芯片組成,于是一個Rank包含了多個Bank。每個Bank都是橫跨一個Rank的所有設備。每個內存存儲芯片直觀上就是一個二維陣列,通過行選通、列選通,數據信息就存在行列地址交叉處。內存存取操作是首先都是將一個Bank中的一行數據全部取出,存放在叫做行緩沖(或者信號放大器)的硬件中,其次進行列讀取或者列寫入操作,最后,當讀取或者寫入操作完成后再將這一行數據全部寫回到內存芯片。Bank的一行數據在1-4KB之間,具體大小對操作系統頁框大小有影響。根據之前介紹的內存體的結構,處理器Load或Store指令在最后一級Cache缺失后,會進行內存訪問操作。訪問請求的物理地址被分解成Rank Id、Bank Id.Row IdXol Id幾項,當然在更加復雜的情況下,存在多內存控制器的情況下,還會分解成Channel Id。每一次的內存訪問首先通過Rank Id找到相應的Rank,再通過Bank Id找到相應的Bank,注意Bank是橫跨Rank內所有設備,然后再通過給出Row Id進行行激活操作,即把請求的整行數據從二維陣列取到相應的緩沖中,再給出Col Id進行讀寫操作,讀寫操作的粒度根據塊大小的設定、總線傳輸能力等決定。每次內存請求操作的完成時間依靠行緩沖的狀態,可以分為以下三類1、行命中 訪存請求訪問的Bank處于行激活狀態并且行緩沖中的數據正好是請求所要訪問的行數據。于是內存控制器只需要發出一個列讀取或寫入命令即可。第I種的訪問的延遲時間是 Tclo 2、行關閉請求訪問的Bank行緩沖沒有數據。此時首先由內存控制器發送一個行激活命令把相應行數據取到行緩沖中,然后再發送列讀取或寫入命令。第2種的訪問延遲時間是T-+TW 3、行沖突請求訪問的Bank行緩沖中存在數據,但是卻不是請求所要訪問的行。內存控制器需要先發送充電命令,然后再發送行激活命令,最后再發送列讀取或寫入命令。第3種的訪問延遲是T11^UTcl。內存控制器含有緩存隊列,用來緩存訪存的所有處理器請求。這些請求等待內存控制器調度。調度請求時需要考慮Bank的狀態和總線的狀態。一個請求可以被調度,必須保證它不能引起共享資源(比如Bank和地址、數據、命令總線)的競爭,同時也不能違反任何內存體的物理時序限制。因為命中行緩沖的請求只需要發送一個列讀取或寫入的命令就可以完成訪存操作。所以工業的內存控制器都是采用行緩沖優先(FR-FCFS)的請求調度策略。這種策略比先來先服務(FCFS)策略充分利用了行緩沖的數據局部性,取得了很大的性能提升。本發明因此而來。

發明內容
本發明目的在于解決現代流行的虛擬機系統中通信效率和資源共享的問題。為了解決現有技術中的這些問題,本發明提供的技術方案是一種基于公平性考慮的短作業優先內存請求調度方法,用于片上多核處理器訪問共享內存資源時,內存控制器調度各線程訪存請求;其特征在于所述方法中內存控制器設定CPU訪存線程的最大等待時間Tmax、時間窗口 Twin,計數每個CPU訪存線程的等待時間和每個CPU訪存線程在Twin時間內的訪存次數Cm ;所述操作系統按照以下步驟進行調度CPU 訪存線程對緩存進行訪問(I)內存控制器判斷CPU訪存線程列表中是否存在某個CPU訪存線程的等待時間達到或者超過Tmax ;如果判斷結果肯定,則出現該情況的CPU訪存線程為最高優先級的訪存線程;否則進行步驟(2);(2)內存控制器判斷CPU訪存線程列表中是否存在行緩沖命中的CPU訪存線程請求;如果判斷結果肯定,則出現該情況的CPU訪存線程為次優先級的訪存線程;否則進行步驟⑶;(3)內存控制器判斷CPU訪存線程列表中請求訪問的CPU訪存線程是否是Cttoead最小的線程請求;如果判斷結果肯定,則出現該情況的CPU訪存線程為下一優先級的訪存線程;否則進行步驟(4);(4)內存控制器調度CPU訪存線程列表中所有CPU訪存線程按照先來先服務 (FCFS)策略進行對緩存進行訪問。優選的,所述方法中當CPU訪存線程請求進入內存控制器緩存時,內存控制器開始對CPU訪存線程的請求打一個時間戳TimeAdded,CPU訪存線程輪轉每個內存時鐘周期時,當前時間減去TimeAdded即為請求的等待時間。本發明稱為公平性考慮的短作業優先內存請求調度策略,目的在于(I)各線程公平性訪問內存資源(2)降低平均等待時間以求高吞吐率訪問(3)實現內存級別訪問并行化 (MLP)為了實現以上目的,采取以下方法。⑴通過在內存控制器中設定CPU訪存請求最大等待時間Tmax,對每個請求進行等待時間計時,并對等待時間達到或超過Tmax的請求優先處理來保證各線程公平性(2)通過短作業優先策略來優先處理早完成的請求,使請求的平均等待時間最短,從而提高系統性能(3)通過上一步對線程優先級的設定,使同一線程可以在不同Bank間并行訪問,維護了線程本身的并行性,從而加快了訪存時間。I、訪存請求最大等待時間閾值Tmax的確定根據多次實驗結果可以測得,內存請求的訪問時間大概在200個處理器時鐘周期左右。這里采取經驗值方法在內存控制器里設定Tmax為800個處理器時鐘周期。當然根據各線程負載情況以及內存配置情況,Tmax的最優值可能會發生變化,需要動態調整,這里只是一種啟發式的策略,爭取達到最優情況。在后來的實驗方法中只需要要在仿真器里設定Tmax為時間常量800即可。2、內存請求等待時間的計時方法如圖2所示,內存系統框圖中主要部分有內存控制器和內存體,其中內存控制器又包含了請求緩存單元、地址映射單元、請求調度單元。處理器來的請求首先緩存在請求緩存單元里,每個請求包含了以下數據結構
權利要求
1.一種基于公平性考慮的短作業優先內存請求調度方法,用于片上多核處理器訪問共享內存資源時,內存控制器調度各線程訪存請求;其特征在于所述方法中內存控制器設定CPU訪存線程的最大等待時間Tmax、時間窗口 Twin,計數每個CPU訪存線程的等待時間和每個CPU訪存線程在Twin時間內的訪存次數Cm ;所述操作系統按照以下步驟進行調度CPU 訪存線程對緩存進行訪問(1)內存控制器判斷CPU訪存線程列表中是否存在某個CPU訪存線程的等待時間達到或者超過Tmax ;如果判斷結果肯定,則出現該情況的CPU訪存線程為最高優先級的訪存線程;否則進行步驟(2);(2)內存控制器判斷CPU訪存線程列表中是否存在行緩沖命中的CPU訪存線程請求; 如果判斷結果肯定,則出現該情況的CPU訪存線程為次優先級的訪存線程;否則進行步驟(3);(3)內存控制器判斷CPU訪存線程列表中請求訪問的CPU訪存線程是否是Cthread最小的線程請求;如果判斷結果肯定,則出現該情況的CPU訪存線程為下一優先級的訪存線程; 否則進行步驟(4);(4)內存控制器調度CPU訪存線程列表中所有CPU訪存線程按照先來先服務(FCFS)策略進行對緩存進行訪問。
2.根據權利要求I所述的方法,其特征在于所述方法中當CPU訪存線程請求進入內存控制器緩存時,內存控制器開始對CPU訪存線程的請求打一個時間戳TimeAdded,CPU訪存線程輪轉每個內存時鐘周期時,當前時間減去TimeAdded即為請求的等待時間。
全文摘要
本發明公開了一種公平性考慮的短作業優先內存請求調度方法(FAR-SJFS),用于片上多核處理器(CMP)訪問共享內存資源時,內存控制器調度各線程訪問請求,所述方法考慮了多線程訪問內存時的公平性,減少請求平均等待時間,維護各線程本身固有的并行性。該方法對訪存請求進行等待時間計數,通過實驗設定請求最大等待時間閾值Tmax來保證各線程公平性。通過短作業優先策略,讓請求少的線程盡快完成訪存,從而使線程平均等待時間最短。在內存各Bank體之間對各線程設置統一優先級,讓同一線程在不同Bank上的請求同時得到服務,實現內存級別并行性(MLP)。本發明保證了內存系統的吞吐率,又全面提升整體系統性能。
文檔編號G06F9/50GK102609312SQ20121000551
公開日2012年7月25日 申請日期2012年1月10日 優先權日2012年1月10日
發明者吳俊敏, 蔣楠, 趙小雨, 金瑛棋 申請人:中國科學技術大學蘇州研究院
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 射阳县| 遂平县| 内丘县| 商城县| 南川市| 烟台市| 南涧| 大名县| 特克斯县| 沅江市| 阳城县| 慈利县| 昌吉市| 瑞金市| 库车县| 马公市| 光泽县| 固原市| 宿迁市| 会同县| 英吉沙县| 含山县| 连州市| 泾源县| 保亭| 尚志市| 沂南县| 武隆县| 中西区| 清水县| 万全县| 呼玛县| 婺源县| 卫辉市| 肇庆市| 信阳市| 惠安县| 汶上县| 阳信县| 黑龙江省| 房山区|