System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 国内精品人妻无码久久久影院,成人年无码AV片在线观看,久久亚洲精品无码网站
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于感知線程束的內存控制器制造技術

    技術編號:42937334 閱讀:16 留言:0更新日期:2024-10-11 15:58
    本發明專利技術公開了一種基于感知線程束的內存控制器,屬于GPGPU內存控制和調度技術領域,本發明專利技術要解決的技術問題為如何實現同一線程束中的多個線程請求能夠同時被處理,避免不同線程束之間交叉調度所可能導致的線程發散延遲,采用的技術方案為:包括事務調度器、線程束排序模塊、Bank計分模塊和命令調度器;Bank計分模塊用于基于請求的類型以及Bank命令隊列中的請求數量計算一個線程束的分數;線程束排序模塊用于優化線程束的內存訪問請求,并根據線程束的屬性和線程束的分數對線程束進行排序;事務調度器用于將同一線程束內的線程請求進行合并,并根據線程束的分數將得分最低線程束請求優先放入命令隊列中。

    【技術實現步驟摘要】

    本專利技術涉及gpgpu內存控制和調度,具體地說是一種基于感知線程束的內存控制器


    技術介紹

    1、內存合并技術是指來自同一線程束的請求應盡可能根據目標地址合并成緩存行大小的請求,這樣有利于消除對同一緩存行的重復訪問,降低帶寬需求。然而,如果線程束中的線程訪問的數據在空間上不一致,則影響合并技術發揮作用。

    2、來自不同流多處理器(streaming?multiprocessor,sm)的請求經過一級和二級緩存查找之后接著通過交叉互聯網絡到達內存控制器;因此,不同線程束之間的內存訪問在隊列中摻和在一起;事務調度器會把每個獨立的線程請求傳送到緩存中,不同占用量的緩存可能導致同一個線程束中的線程分散在不同的時間點進行處理,這種情況可能會導致線程束因等待內存請求完成而被阻塞,影響整體性能。在gpu和其他并行處理架構中,減少延遲發散是提升效率和性能的關鍵。

    3、近年來,在高性能計算和金融領域開發了各種并行算法用于gpgpu實現。與傳統的gpgpu應用程序相比,這些程序中的內存訪問通常是數據依賴的,往往具有較少的空間局部性。這種明顯地內存訪問不規律性造成了很大的性能瓶頸。在現有gpgpu內存尋址技術中,由于線程束之間的重新排序和交叉發射,導致線程束中不同的線程請求延遲差異很大,特別是在simt架構中,線程束必須等待內存中所有的線程請求返回后才能繼續執行,這種延遲差異在運行不規則的gpgpu應用程序時會造成顯著的性能損失。

    4、故如何實現同一線程束中的多個線程請求能夠同時被處理,避免不同線程束之間交叉調度所可能導致的線程發散延遲是目前亟待解決的技術問題。


    技術實現思路

    1、本專利技術的技術任務是提供一種基于感知線程束的內存控制器,來解決如何實現同一線程束中的多個線程請求能夠同時被處理,避免不同線程束之間交叉調度所可能導致的線程發散延遲的問題。

    2、本專利技術的技術任務是按以下方式實現的,一種基于感知線程束的內存控制器,該內存控制器包括事務調度器、線程束排序模塊、bank計分模塊和命令調度器;

    3、其中,bank計分模塊用于基于請求的類型以及bank命令隊列中的請求數量計算一個線程束的分數;其中,一個線程束的分數是指線程束中所有線程請求分數的總和;請求類型為行命中數或行未命中數;

    4、線程束排序模塊是一種內存管理機制,用于優化線程束的內存訪問請求,提高內存訪問效率并減少延遲,并根據線程束的屬性和線程束的分數對線程束進行排序;

    5、事務調度器用于將同一線程束內的線程請求進行合并,并根據線程束的分數將得分最低線程束請求優先放入命令隊列中;其中,得分最低的線程束請求即為預計執行時間最短的線程束請求;

    6、命令調度器用于按照輪詢調度策略依次檢測命令隊列中的不同bank緩存器,若對應的bank緩存器為空,則跳過;若對應的bank緩存器有待發射的dram指令存在,則讀取指令并發往dram(dynamic?random?access?memory,動態隨機存取存儲器)。

    7、作為優選,所述線程束排序模塊包括sm_id(流多處理器標識)、warp_id(線程束標識)、score(分數值)及row_id(行標識);

    8、其中,sm_id表示分配給每個線程束的流多處理器的唯一標識符;在多處理器系統中,每個流多處理器(streaming?multiprocessor,簡稱sm)執行多個線程束,sm_id用于區分流多處理器;

    9、warp_id表示每個流多處理器中,線程束被賦予的唯一標識符,用于區分同一流多處理器內的不同線程束;

    10、score用于表示線程束請求是否已經全部發送到內存控制器中,當線程束排序模塊接收到線程束請求中最后一個請求的標記信號時,則把數值0寫入到score字段中;

    11、row_id表示與線程束請求相關的內存行的標識符;在內存系統中,數據通常按行組織,row_id有助于識別和跟蹤特定內存行的訪問請求。

    12、更優地,所述線程束排序模塊包括128個條目,?每個條目對應一個獨特的<sm_id,warp_id>組合,用于區分不同的線程束,并跟蹤對應線程束中線程的訪問地址。

    13、作為優選,在bank計分模塊中,為每個bank分配獨立條目,用于記錄對應bank上尚未處理的線程束及其內存請求,每個待處理的線程束均有一個相應的bank分數,bank分數用于反映完成對應線程束所有線程請求所需的預期延遲;每當讀寫隊列收到新的請求或事務調度器提取線程束時,bank分數均會進行更新。

    14、更優地,所述事務調度器在每個周期內讀取并更新bank分數,確保獲取到按得分排序的最新結果,得分最高的bank表示對應的線程束請求需要最長的完成時間;

    15、當確認一個線程束的所有線程請求已經完全傳輸到全局內存控制器的讀寫隊列時,事務調度器選擇得分最低的線程束,再將對應的線程束發送到命令隊列中。

    16、更優地,所述事務調度器用于驗證線程束的傳輸是否完整,具體為:標記當前線程束發送到內存控制器的最后一個請求;當線程束排序模塊接收到線程束的最后一個請求時,更新線程束的分數值,確保線程束傳輸的完整性和準確性。

    17、作為優選,所述事務調度器的調度機制具體如下:

    18、每個線程束被分配一個bank分數,bank分數反映處理對應線程束所需的時間,bank分數越低表示優先級越高;

    19、若當前線程束的請求已經發送到命令隊列,事務調度器開始尋找下一個待調度的線程束;此時,事務調度器選擇得分最低的線程束,即預計完成時間最短的任務;

    20、若存在得分相同的線程束,事務調度器優先選擇行命中數最高的線程束,減少dram的功耗。

    21、更優地,基于請求的類型以及bank命令隊列中的請求數量計算一個線程束的分數具體如下:

    22、根據請求在最終調度時在內存bank中是命中還是未命中,即最后調度的請求是否與當前請求有匹配的行地址,確定一個對應請求的分數,情況如下:

    23、若請求命中,則對應線程束的請求獲取1分;

    24、若請求未命中,則對應線程束的請求獲取3分;

    25、在為線程束的請求分配基于dram陣列訪問延遲的分數后,加上排隊延遲的分數,通過累加對應的bank命令隊列中所有待處理請求的分數計算;

    26、每當有新請求加入或現有請求被安排進bank命令隊列時,更新對應線程束的分數。

    27、作為優選,?bank計分模塊包括bank_n、線程束_n、行_n以及bank_n分數;

    28、其中,bank_n表示存儲器中不同的bank;bank_n中的n是一個變量,取值為0到n的任意數字,表示系統中的第n個bank;bank是內存中的一個基本單元,用于存儲數據;

    29、線程束_n表示與每個bank關聯的線程束(warp)的唯一標識符;線程本文檔來自技高網...

    【技術保護點】

    1.一種基于感知線程束的內存控制器,其特征在于,該內存控制器包括事務調度器、線程束排序模塊、Bank計分模塊和命令調度器;

    2.根據權利要求1所述的基于感知線程束的內存控制器,其特征在于,所述線程束排序模塊包括SM_id、Warp_id、Score及Row_id;

    3.根據權利要求1或2所述的基于感知線程束的內存控制器,其特征在于,所述線程束排序模塊包括128個條目,?每個條目對應一個<SM_id,Warp_id>組合,用于區分不同的線程束,并跟蹤對應線程束中線程的訪問地址。

    4.根據權利要求1所述的基于感知線程束的內存控制器,其特征在于,在Bank計分模塊中,為每個Bank分配獨立條目,用于記錄對應Bank上尚未處理的線程束及其內存請求,每個待處理的線程束均有一個相應的Bank分數,Bank分數用于反映完成對應線程束所有線程請求所需的預期延遲;每當讀寫隊列收到新的請求或事務調度器提取線程束時,Bank分數均會進行更新。

    5.根據權利要求4所述的基于感知線程束的內存控制器,其特征在于,所述事務調度器在每個周期內讀取并更新Bank分數,確保獲取到按得分排序的最新結果,得分最高的Bank表示對應的線程束請求需要最長的完成時間;

    6.根據權利要求5所述的基于感知線程束的內存控制器,其特征在于,所述事務調度器用于驗證線程束的傳輸是否完整,具體為:標記當前線程束發送到內存控制器的最后一個請求;當線程束排序模塊接收到線程束的最后一個請求時,更新線程束的分數值。

    7.根據權利要求1所述的基于感知線程束的內存控制器,其特征在于,所述事務調度器的調度機制具體如下:

    8.根據權利要求7所述的基于感知線程束的內存控制器,其特征在于,基于請求的類型以及Bank命令隊列中的請求數量計算一個線程束的分數具體如下:

    9.根據權利要求1所述的基于感知線程束的內存控制器,其特征在于,?Bank計分模塊包括Bank_N、線程束_N、行_N以及Bank_N分數;

    10.根據權利要求1所述的基于感知線程束的內存控制器,其特征在于,該內存控制的工作過程具體如下:

    ...

    【技術特征摘要】

    1.一種基于感知線程束的內存控制器,其特征在于,該內存控制器包括事務調度器、線程束排序模塊、bank計分模塊和命令調度器;

    2.根據權利要求1所述的基于感知線程束的內存控制器,其特征在于,所述線程束排序模塊包括sm_id、warp_id、score及row_id;

    3.根據權利要求1或2所述的基于感知線程束的內存控制器,其特征在于,所述線程束排序模塊包括128個條目,?每個條目對應一個<sm_id,warp_id>組合,用于區分不同的線程束,并跟蹤對應線程束中線程的訪問地址。

    4.根據權利要求1所述的基于感知線程束的內存控制器,其特征在于,在bank計分模塊中,為每個bank分配獨立條目,用于記錄對應bank上尚未處理的線程束及其內存請求,每個待處理的線程束均有一個相應的bank分數,bank分數用于反映完成對應線程束所有線程請求所需的預期延遲;每當讀寫隊列收到新的請求或事務調度器提取線程束時,bank分數均會進行更新。

    5.根據權利要求4所述的基于感知線程束的內...

    【專利技術屬性】
    技術研發人員:陳建新王帥,趙鑫鑫,姜凱,
    申請(專利權)人:山東浪潮科學研究院有限公司,
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲国产综合无码一区二区二三区| 中文字幕无码一区二区三区本日| 高清无码午夜福利在线观看| 亚洲av中文无码字幕色不卡| 无码精品蜜桃一区二区三区WW| 亚洲AV永久纯肉无码精品动漫| 国产精品无码亚洲精品2021| 亚洲AV无码一区二区乱孑伦AS | 人妻中文字系列无码专区| 无码人妻一区二区三区一| 成人免费无码H在线观看不卡| 亚洲AV无码一区二区三区网址| 久久亚洲精品AB无码播放| 国产精品无码一区二区三区电影| 亚洲成av人片不卡无码| 亚洲精品无码成人片在线观看 | 亚洲成AV人在线播放无码| 无码熟妇人妻在线视频| 色窝窝无码一区二区三区| 亚洲中文字幕无码久久综合网| 亚洲精品无码久久千人斩| 人妻aⅴ中文字幕无码| 无码人妻AV一二区二区三区| 在线精品无码字幕无码AV| 久久精品无码一区二区app| 久久久久久亚洲av无码蜜芽 | 亚洲精品无码久久久久秋霞| 色综合久久中文字幕无码| 亚洲国产成人精品无码区在线观看| 国精品无码A区一区二区| 国产精品无码专区在线播放| 色国产色无码色欧美色在线| 日韩av片无码一区二区不卡电影| 亚洲大尺度无码无码专线一区 | 中文字幕乱偷无码AV先锋| 国产精品成人无码久久久久久 | 精品国精品无码自拍自在线| 亚洲熟妇无码爱v在线观看| 久久亚洲AV成人无码软件| 亚洲日韩国产二区无码| 免费人成无码大片在线观看|