当前位置: 首页 > 专利查询>辉达公司专利>正文

用于不同种类处理单元的集中式设备虚拟化层制造技术

技术编号:4279281 阅读:234 留言:0更新日期:2012-04-11 18:40
用于不同种类处理单元的集中式设备虚拟化层,提供操作系统访问设备的方法,包括列举硬件设备和虚拟化的设备,其中与第一硬件设备相关的资源分成宾客物理资源以创建软件虚拟化的设备,和发布与第二硬件设备相关的资源的多个例子以创建硬件虚拟化的设备。产生第一和第二允许列表以指定哪些操作系统分别允许访问软件虚拟化的设备和硬件虚拟化的设备。产生第一和第二组虚拟化的设备,其中每组将与软件虚拟化的设备或硬件虚拟化的设备相关的地址空间映射到与包括在相应的允许列表中的每个操作系统相关的地址空间中。该方法进一步包括基于允许列表和虚拟地址映射仲裁来自多个操作系统的每个的访问请求。

【技术实现步骤摘要】

本专利技术一般地涉及设备虚拟化领域,且更特别地涉及用于不同种类处理单元的集中式设备虚拟化层
技术介绍
在常规的计算机系统中,中央处理单元(CPU)能执行多个操作系统(0S)。已知为 管理程序(hypervisor)的软件程序通常用于协调不同OS的操作。管理程序管理从每个 OS传送到包括在计算机系统中的各种硬件设备的输入/输出(I/O)访问操作(访问)。这 些硬件设备可以尤其包括存储器模块、计算机显示器、硬盘驱动器和CD-ROM驱动器。管理 程序允许每一个OS使用已知为设备虚拟化的技术访问硬件设备,该技术可以用于创建 硬件设备的虚拟例子。硬件设备可以通过软件虚拟化和/或硬件虚拟化来虚拟化。 当实施软件(SW)虚拟化时,管理程序将硬件设备的资源分成多个宾客物理资 源。然后每个宾客物理资源可以指派给特定OS。管理程序公布宾客物理资源给OS,使得当 OS试图访问与硬件设备相关的宾客物理资源时,管理程序可以俘获该访问以确保在允许该 OS访问硬件设备之前将正确的场景装载在硬件设备上。 当实施硬件(HW)虚拟化时,每个硬件设备公布该HW设备的多个例子,使得将该硬 件设备可用的全部数量的资源分配给每个例子。然后将那每个OS分配给其中一个例子。通 过确定哪个OS可以访问特定虚拟化的设备,管理程序成为了 OS之间的仲裁者。由于HW虚 拟化在硬件上实施,因此管理程序可能不知道特定物理资源正在虚拟化。每个冊虚拟化的 设备识别出与其他虚拟化的设备的冲突,并在对物理资源采取行动之前解决这些冲突(例 如通过恢复场景或者停顿该设备的虚拟化的例子中的一个或多个)。 当单一处理器在单一管理程序的顶部执行多个OS时,SW虚拟化和HW虚拟化工作 良好。但是,包括执行多个OS的多个CPU的多个不同的处理器拓扑结构较不适应SW虚拟 化和/或HW虚拟化。例如,多CPU计算机系统可以包括若干CPU,每个CPU连接到相同的硬 件设备的组。 一些硬件设备不能在硬件或软件中虚拟化,因此,计算机系统只包括对于不能 由两个CPU共享的硬件设备的一个资源。由于当OS想要访问未充分利用的SW虚拟化的硬 件设备时会产生瓶颈,因此在多个CPU计算机系统中实施SW虚拟化也是有问题的。由于硬件设备的资源被分成宾客物理资源,因此每个os只能利用硬件设备的总资源的一部分。当只有一个OS试图访问硬件设备时,该OS可能需要比由宾客物理资源分配的资源更多的资源。由于硬件设备的资源仍可用,因此产生了资源瓶颈,但是由于这些资源已经分配给其他宾客物理资源,因此OS无法利用这些资源。 由于可能需要为在每个CPU上运行的每个OS创建虚拟化的设备,因此在多CPU计 算机系统中实施HW虚拟化也是有问题的。为每个硬件设备实施HW虚拟化会显著增加在计 算机系统中公布的资源,并迫使每个硬件设备为每个OS而被虚拟化,尽管特定OS可能不需要利用由特定硬件设备提供的资源。 因此,现有技术中仍然需要在多CPU计算机系统中虚拟化硬件设备的改进的技术。
技术实现思路
本专利技术的实施例提供了用于提供操作系统访问包括在计算机系统中的硬件设备 的方法。该方法包括列举包括在计算机系统中的一个或多个硬件设备和一个或多个虚拟 化的设备,包括确定与第一硬件设备相关的资源分成宾客物理资源由此创建软件(SW)虚 拟化的设备,和确定与第二硬件设备相关的资源的多个例子由第二硬件设备公布由此创建 硬件(HW)虚拟化的设备;产生指定在多个操作系统中的哪些操作系统允许访问SW虚拟化 的设备的第一允许列表;产生指定在多个操作系统中的哪些操作系统允许访问冊虚拟化 的设备的第二允许列表;产生第一组虚拟地址映射,该第一组虚拟地址映射的每个将与SW 虚拟化的设备相关的第一地址空间映射到与包括在该第一允许列表中的每个操作系统相 关的地址空间中;产生第二组虚拟地址映射,该第二组虚拟地址映射的每个将与HW虚拟化 的设备相关的第二地址空间映射到与包括在该第二允许列表中的每个操作系统相关的地 址空间中;和仲裁来自多个操作系统的每个的操作系统的访问请求,包括允许包括在该第 一允许列表中的该操作系统基于该第一组虚拟地址映射使用该SW虚拟化的设备实施访问 操作,和允许包括在该第二允许列表中的该操作系统基于该第二组虚拟地址映射使用该HW 虚拟化的设备实施访问操作。 有利地,本专利技术的实施例将设备虚拟化延伸到包括多个CPU的计算机系统。CDVL 允许在每个CPU上执行的OS访问与计算机系统耦合的列举的设备的公共库。CDVL可以与 SW虚拟化和HW虚拟化结合使用以将专门的虚拟化支持提供给需要该支持的0S。附图说明 为了详细地理解本专利技术的上述特征,对于以上简要说明的本专利技术,将参照实施例进行更为具体的描述,其中对一些实施例在附图中进行了图示。然而,需要注意的是,附图 只是图示本专利技术的代表性实施例,因此不能认为附图限制了本专利技术的范围,本专利技术可以允 许其他同样有效的实施例。 图1是图示配置为实施本专利技术的一个或多个方面的计算机系统的框图; 图2是根据本专利技术一个实施例的图1中的计算机系统的并行处理子系统的框图; 图3A是根据本专利技术一个实施例的在图2的并行处理单元(PPU)之一中的通用处 理簇(GPC)的框图; 图3B是根据本专利技术一个实施例的在图2中的并行处理单元之一中的分区单元的 框图; 图4A-4B是根据本专利技术各种实施例的配置为实施集中式设备虚拟化层(CDVL)的 计算机系统的概念图; 图5是根据本专利技术一个实施例的配置为实施CDVL的多处理器计算机系统的概念 图; 图6是根据本专利技术一个实施例的在计算机系统上启动CDVL的方法步骤流程图;和 图7是根据本专利技术一个实施例的在计算机系统上实施CDVL的方法步骤流程图。具体实施例方式在下文的描述中,给出了大量具体的细节以便提供对本专利技术更为彻底的理解。然 而,对于本领域技术人员来说显而易见的是,本专利技术可以无需一个或多个这些细节而得以 实施。在其他的例子中,为了避免与本专利技术发生混淆,对于本领域公知的一些技术特征未进 行描述。 系统概述 图1是图示配置为实现本专利技术一个或多个方面的计算机系统100的框图。计算 机系统100包括中央处理单元(CPU) 102和系统存储器104,二者通过存储器桥105经由总 线路径进行通信。存储器桥105可以如图1所示集成到CPU 102中。作为替换,存储器桥 105可以是惯常设备例如北桥芯片,其通过总线连接到CPU 102。存储器桥105通过通信路 径106 (例如HyperTransport (超传输)链路)与1/0(输入/输出)桥107相连接。I/O 桥107例如可以是南桥芯片,其从一个或多个用户输入设备108(例如键盘、鼠标)接收用 户输入,并将该输入通过路径106和存储器桥105转发给CPU 102。并行处理子系统112通 过总线或其他通信路径113(例如PCIE邓ress、加速图形端口或超传输链路)与存储器桥 105相耦合;在一个实施例中,并行处理子系统112是将像素提供给显示设备IIO(例如传 统的CRT或基于LCD的显示器)的图形子系统。系统盘114同样连接于I/0桥107。开关 116提供了 1/0桥107和诸如网络适配器118以及各种插卡120和121的其他部件之间的 连接。包本文档来自技高网
...

【技术保护点】
一种计算设备,包括:配置为执行第一组操作系统的第一处理器;第一硬件设备;系统存储器,该系统存储器存储由该第一处理器执行的第一管理程序,所述第一管理程序配置为将与该第一硬件设备相关的资源分成宾客物理资源以创建软件(SW)虚拟化的设备;和输入/输出(I/O)管理模块,该输入/输出(I/O)管理模块包括存储指令的存储器,所述指令配置为通过实施以下步骤允许该第一处理器访问该SW虚拟化的设备:产生第一允许列表,所述第一允许列表指定了包括在该第一组操作系统中的哪些操作系统被允许访问存储在该第一管理程序中的SW虚拟化的设备,产生第一组虚拟地址映射,该第一组虚拟地址映射的每一个将与存储在该第一管理程序中的该SW虚拟化的设备相关的第一地址空间映射到与包括在该第一允许列表中的该操作系统的每一个相关的地址空间中,和通过允许包括在该第一允许列表中的该操作系统基于该第一组虚拟地址映射使用该SW虚拟化的设备来实施访问操作,仲裁来自包括在该第一组操作系统中的每个操作系统的访问请求。

【技术特征摘要】
US 2008-12-8 12/330,466一种计算设备,包括配置为执行第一组操作系统的第一处理器;第一硬件设备;系统存储器,该系统存储器存储由该第一处理器执行的第一管理程序,所述第一管理程序配置为将与该第一硬件设备相关的资源分成宾客物理资源以创建软件(SW)虚拟化的设备;和输入/输出(I/O)管理模块,该输入/输出(I/O)管理模块包括存储指令的存储器,所述指令配置为通过实施以下步骤允许该第一处理器访问该SW虚拟化的设备产生第一允许列表,所述第一允许列表指定了包括在该第一组操作系统中的哪些操作系统被允许访问存储在该第一管理程序中的SW虚拟化的设备,产生第一组虚拟地址映射,该第一组虚拟地址映射的每一个将与存储在该第一管理程序中的该SW虚拟化的设备相关的第一地址空间映射到与包括在该第一允许列表中的该操作系统的每一个相关的地址空间中,和通过允许包括在该第一允许列表中的该操作系统基于该第一组虚拟地址映射使用该SW虚拟化的设备来实施访问操作,仲裁来自包括在该第一组操作系统中的每个操作系统的访问请求。2. 根据权利要求1的计算设备,进一步包括配置为执行第二组操作系统的第二处理器;禾口第二硬件设备,该第二硬件设备配置为发布与该第二硬件设备相关的资源的多个例子以创建硬件(HW)虚拟化的设备,其中该系统存储器进一步存储由该第二处理器执行的第二管理程序,所述第二管理程序配置为将与该第一硬件设备相关的资源分成宾客物理资源以创建第二 SW虚拟化的设备,和其中包括在该i/o管理模块中的存储器进一步包括配置为通过实施以下步骤允许该第二处理器访问该第二 SW虚拟化的设备的指令产生第二允许列表,所述第二允许列表指定了包括在该第二组操作系统中的哪些操作系统被允许访问存储在该第二管理程序中的第二 SW虚拟化的设备,产生第二组虚拟地址映射,该第二组虚拟地址映射的每一个将与存储在该第二管理程序中的第二SW虚拟化的设备相关的第二地址空间映射到与包括在该第二允许列表中的该操作系统的每一个相关的地址空间中,禾口允许包括在该第二允许列表中的该操作系统基于该第二组虚拟地址映射使用该第二SW虚拟化的设备实施访问操作。3. 根据权利要求2的计算机设备,其中包括在该1/0管理模块中的该存储器进一步包括指令,该指令配置为产生第三允许列表,所述第三允许列表指定了包括在该第一组操作系统和该第二组操作系统中的哪些操作系统被允许访问该HW虚拟化的设备;禾口产生第三组虚拟地址映射,该第三组虚拟地址映射的每一个将与该HW虚拟化的设备相关的第三地址空间映射到与包括在该第三允许列表中的该操作系统的每个相关的地址空间中。4. 根据权利要求3的计算设备,其中包括在该1/0管理模块中的该存储器进一步包括指令,该指令配置为接收来自包括在该第一组操作系统中的第一操作系统的访问请求,该访问请求包括指定该第一操作系统意图访问的第一硬件设备或第一虚拟化的设备的信息和指定该第一操作系统意图在该第一硬件设备上或者与该...

【专利技术属性】
技术研发人员:布雷德W施麦尔迈克尔布赖恩考克斯
申请(专利权)人:辉达公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1