[發(fā)明專利]多線程處理單元中的高效存儲器虛擬化有效
| 申請?zhí)枺?/td> | 201310512294.1 | 申請日: | 2013-10-25 |
| 公開(公告)號: | CN103777926B | 公開(公告)日: | 2019-09-06 |
| 發(fā)明(設計)人: | 尼克·巴羅威廉姆斯;布雷恩·法斯;杰爾姆·F·小杜魯克;詹姆士·勒羅伊·德明;蒂莫西·約翰·珀塞爾;盧森·鄧寧;馬克·海爾格羅夫 | 申請(專利權)人: | 輝達公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F12/109 |
| 代理公司: | 北京市磐華律師事務所 11336 | 代理人: | 謝栒;魏寧 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 多線程 處理 單元 中的 高效 存儲器 虛擬 | ||
公開了多線程處理單元中的高效存儲器虛擬化。用于同時執(zhí)行每個具有獨立虛擬地址空間的多個任務的技術涉及將地址空間標識符(ASID)指派到每個任務并且構建每個虛擬存儲器訪問請求以包括虛擬地址和ASID二者。在虛擬到物理地址轉譯期間,ASID選擇相對應的頁表,其包括用于ASID和相關聯(lián)的任務的虛擬到物理地址映射。用于轉譯后備緩沖區(qū)(TLB)的條目包括虛擬地址和ASID二者以完成每個到物理地址的映射。可以實現(xiàn)共享虛擬地址空間的任務的深調度以提高針對TLB和數(shù)據(jù)高速緩存二者的高速緩存親和性。
技術領域
本發(fā)明總地涉及多線程計算機架構,并且更具體地,涉及多線程處理單元中的高效存儲器虛擬化。
背景技術
在具有中央處理單元(CPU)和圖形處理單元(GPU)二者的常規(guī)計算系統(tǒng)中,CPU實施應用計算的一部分、分配資源以及管理總體應用執(zhí)行,而GPU實施由CPU所確定的高吞吐量的計算。在某些應用空間中,諸如高性能計算(HPC)應用,GPU典型地實施與給定的應用相關聯(lián)的大多數(shù)計算。因此,總體應用性能與GPU利用率直接相關。在這種應用中,以高GPU利用率而達到高應用性能,即以GPU處理單元中相對大的一部分并發(fā)地執(zhí)行有用的工作為特征的情況。工作被組織成在處理單元上并行執(zhí)行的線程程序。
典型的線程程序執(zhí)行為跨駐留在單個虛擬地址空間中的并行數(shù)據(jù)集的高度并行、高度相似的操作,所述并行數(shù)據(jù)集諸如圖像或圖像集。如果應用需要執(zhí)行多個不同線程程序,那么GPU常規(guī)地一次執(zhí)行不同線程程序中的一個直到不同線程程序已全部完成它們的經(jīng)指派的工作為止,其中每個不同線程程序在相對應的虛擬地址空間內。每個線程程序被加載到相對應的上下文中用于在GPU內的執(zhí)行。上下文包括加載到駐留在GPU內的頁表中的虛擬地址空間狀態(tài)。因為每個不同線程程序常規(guī)地要求私有虛擬地址空間,所以在任何一個時間僅一個線程程序可以在GPU上執(zhí)行。
HPC應用典型地被執(zhí)行在常規(guī)地包括節(jié)點集的HPC集群上,每個節(jié)點包括CPU和GPU。每個節(jié)點典型地被指派任務集,所述任務可經(jīng)由消息傳遞接口(MPI)任務與執(zhí)行在其他節(jié)點上的其他任務進行通信。典型的GPU計算任務作為公共虛擬存儲器空間內的并行線程程序實例集以高GPU利用率而高效執(zhí)行。然而,考慮到常規(guī)GPU執(zhí)行模式,一次僅一個MPI任務可以在給定GPU上執(zhí)行。每個MPI任務可包括一系列用于GPU的工作量,這給出相應范圍的GPU利用率。在一個場景中,僅一個線程或小數(shù)目的線程作為MPI任務被執(zhí)行在GPU上,這導致欠佳的GPU利用率和欠佳的總體應用性能。因此,某些HPC應用在基于GPU的HPC處理集群上低效地實施。一般而言,要求GPU順序執(zhí)行任務的應用將實施欠佳,其中所述任務包括小數(shù)目的線程實例,每個線程實例要求獨立的虛擬地址空間。
如前述所示,本領域需要的是使能具有不同虛擬地址空間的任務的并發(fā)GPU執(zhí)行的技術。
發(fā)明內容
本發(fā)明的一個實施例闡述用于在并行處理子系統(tǒng)上并發(fā)地執(zhí)行具有不同虛擬地址空間的兩個或更多個線程程序的方法,方法包括檢索任務元數(shù)據(jù)集,所述任務元數(shù)據(jù)集包括與由第一地址空間標識符(ASID)所標識的第一虛擬地址空間相關聯(lián)的第一頁查找表以及與由第二ASID所標識的第二虛擬地址空間相關聯(lián)的第二頁查找表,調度與第一虛擬地址空間相關聯(lián)的第一線程程序以在并行處理子系統(tǒng)的第一處理核心內執(zhí)行,以及調度與第二虛擬地址空間相關聯(lián)的第二線程程序以在并行處理子系統(tǒng)的第一處理核心或另一個處理核心內執(zhí)行,其中由第一線程程序當執(zhí)行時所生成的虛擬地址請求包含第一ASID,并且由第二線程程序所生成的虛擬地址請求包含第二ASID。
本發(fā)明的其他實施例包括但不限于包括指令的計算機可讀存儲介質,所述指令當由處理單元所執(zhí)行時使處理單元實施本文所描述的技術,以及包括配置為實施本文所描述的技術的處理單元的計算設備。
本發(fā)明的一個優(yōu)勢在于,GPU可以同時執(zhí)行具有不同虛擬地址空間的不同任務,從而提高某些應用中的GPU利用率和性能。本發(fā)明的另一個優(yōu)勢在于,GPU任務能夠以地址空間隔離來執(zhí)行,從而提高可靠性并且減少與調試相關聯(lián)的開發(fā)活動。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于輝達公司,未經(jīng)輝達公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310512294.1/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





