[发明专利]多线程处理单元中的高效存储器虚拟化有效
| 申请号: | 201310512294.1 | 申请日: | 2013-10-25 |
| 公开(公告)号: | CN103777926B | 公开(公告)日: | 2019-09-06 |
| 发明(设计)人: | 尼克·巴罗威廉姆斯;布雷恩·法斯;杰尔姆·F·小杜鲁克;詹姆士·勒罗伊·德明;蒂莫西·约翰·珀塞尔;卢森·邓宁;马克·海尔格罗夫 | 申请(专利权)人: | 辉达公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/109 |
| 代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 谢栒;魏宁 |
| 地址: | 美国加利*** | 国省代码: | 美国;US |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 多线程 处理 单元 中的 高效 存储器 虚拟 | ||
公开了多线程处理单元中的高效存储器虚拟化。用于同时执行每个具有独立虚拟地址空间的多个任务的技术涉及将地址空间标识符(ASID)指派到每个任务并且构建每个虚拟存储器访问请求以包括虚拟地址和ASID二者。在虚拟到物理地址转译期间,ASID选择相对应的页表,其包括用于ASID和相关联的任务的虚拟到物理地址映射。用于转译后备缓冲区(TLB)的条目包括虚拟地址和ASID二者以完成每个到物理地址的映射。可以实现共享虚拟地址空间的任务的深调度以提高针对TLB和数据高速缓存二者的高速缓存亲和性。
技术领域
本发明总地涉及多线程计算机架构,并且更具体地,涉及多线程处理单元中的高效存储器虚拟化。
背景技术
在具有中央处理单元(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任务能够以地址空间隔离来执行,从而提高可靠性并且减少与调试相关联的开发活动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310512294.1/2.html,转载请声明来源钻瓜专利网。





