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





