跨地址空间桥接制造技术

技术编号:34790909 阅读:11 留言:0更新日期:2022-09-03 19:54
本公开涉及跨地址空间桥接。计算系统包括至少一个外围总线、连接到至少一个外围总线的外围设备、至少一个存储器以及第一系统组件和第二系统组件。所述第一系统组件(i)与所述至少一个存储器中的第一地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备。第二系统组件(i)与所述至少一个存储器中的第二地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备。第一系统组件被布置成使外围设备访问与第二系统组件相关联的第二地址空间。件相关联的第二地址空间。件相关联的第二地址空间。

【技术实现步骤摘要】
跨地址空间桥接


[0001]本专利技术总体上涉及计算系统,并且具体涉及计算系统组件和外围设备中的用于桥接存储器地址空间和地址转换的方法和系统。

技术介绍

[0002]各个类型的计算系统包括通过外围总线(例如,快速外围总线互连(PCIe)总线)服务各个系统组件的外围设备。这样的系统的例子包括将多个处理器连接到网络的网络适配器,或存储用于多个处理器的数据的存储设备。这种计算系统通常还包括其中系统组件存储数据的存储器。作为服务于系统组件的一部分,外围设备可以访问存储器以便读取或写入数据。

技术实现思路

[0003]本文描述的本专利技术的实施例提供了一种计算系统,该计算系统包括至少一个外围总线、连接到至少一个外围总线的外围设备、至少一个存储器以及第一系统组件和第二系统组件。所述第一系统组件(i)与所述至少一个存储器中的第一地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备。第二系统组件(i)与所述至少一个存储器中的第二地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备。该第一系统组件被布置成使该外围设备访问与所述第二系统组件相关联的所述第二地址空间。
[0004]在一个实施例中,第一和第二系统组件中的一个或两个是物理处理器。在另一个实施例中,第一和第二系统组件中的一个或两个是虚拟处理器。在一些实施例中,第一和第二系统组件在不同的服务器上运行。在其他实施例中,第一和第二系统组件在同一服务器上运行。
[0005]在一些实施例中,第一系统组件是被布置成使用第一地址转换来访问第一地址空间的第一虚拟处理器,第二系统组件是被布置成使用第二地址转换来访问第二地址空间的第二虚拟处理器,并且该系统进一步包括虚拟化软件,该虚拟化软件被配置成定义第一地址转换的至少一部分与第二地址转换的至少一部分之间的关联,并且使外围设备能够使用该关联来访问第二地址空间。
[0006]在示例实施例中,外围设备包括网络适配器,并且虚拟化软件被配置为定义分别对应于第一地址转换和第二地址转换的第一远程直接存储器访问(RDMA)存储器键(MKEY)和第二远程直接存储器访问存储器键之间的关联。在公开的实施例中,第一系统组件被配置成使外围设备使用由第一系统组件控制的队列对(QP),将数据通过远程直接存储器访问(RDMA)传送至第二地址空间。在一个实施例中,QP和通过RDMA进行的数据的传送与第二系统组件的网络关联相关联。
[0007]在另一个实施例中,第一虚拟处理器被布置为使外围设备受制于管理对地址空间的访问的安全策略来访问第二地址空间。在又一个实施例中,外围设备包括网络适配器,该
网络适配器被配置为保存第一地址转换的至少一部分与第二地址转换的至少一部分之间的关联的本地副本,并使用关联的本地副本来访问第二地址空间。
[0008]在公开的实施例中,第二系统组件是虚拟处理器,并且第一系统组件被配置为运行虚拟化软件,所述虚拟化软件(i)将物理资源分配给虚拟处理器并且(ii)访问虚拟处理器的第二地址空间。在另一个实施例中,第二系统组件被配置成向外围设备指定是否第一系统组件被许可访问第二地址空间,并且外围设备被配置成仅在一验证出第一系统组件被许可访问第二地址空间就访问第二地址空间。
[0009]在又一实施例中,至少一个外围总线包括连接到第一系统组件的第一外围总线,以及连接到第二系统组件的第二外围总线;以及所述至少一个存储器包括具有所述第一地址空间且与所述第一系统组件相关联的第一存储器,以及具有所述第二地址空间且与所述第二系统组件相关联的第二存储器。在实施例中,第二系统组件在被集成于网络适配器中的服务器中运行。
[0010]在另一实施例中,所述外围设备包括被布置成将数据包传输到网络的网络适配器,所述第一系统组件和所述第二系统组件具有相应的第一网络地址和第二网络地址,并且所述第二系统组件被布置成:(i)构造数据包,包括从所述第一系统组件的所述第一地址空间获得所述数据包的多个部分;以及(ii)使用所述第二网络关联经由所述网络适配器将所述数据包传输到网络。在又一个实施例中,外围设备包括存储设备。
[0011]在一些实施例中,外围设备包括通过在外围总线上暴露非易失性存储器快速(NVMe)设备来仿真存储设备的处理器。在示例性实施例中,仿真存储设备的外围设备是网络适配器。在实施例中,外围设备中的处理器被配置为通过访问第二地址空间来完成第一系统组件的输入/输出(I/O)事务。在示例性实施例中,外围设备中的处理器被配置为使用远程直接存储器访问(RDMA)来直接访问第二地址空间。在公开的实施例中,外围设备中的处理器被配置为使用第二系统组件的网络关联来完成I/O事务。
[0012]在一些实施例中,外围设备包括网络适配器,并且第一和第二系统组件在由网络适配器服务的不同物理主机上运行。
[0013]在一些实施例中,外围设备是被配置为通过在外围总线上暴露图形处理单元(GPU)功能来仿真GPU的网络适配器。在实施例中,第二系统组件被配置成代表经仿真的GPU执行网络操作。
[0014]根据本专利技术的实施例,还提供了一种计算方法,该计算方法包括:通过至少一个外围总线,在外围设备与第一系统组件之间进行通信,其中所述第一系统组件(i)与至少一个存储器中的第一地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备;以及通过所述至少一个外围总线,在所述外围设备与第二系统组件之间进行通信,其中所述第二系统组件(i)与所述至少一个存储器中的第二地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备。使用第一系统组件,使得外围设备访问与第二系统组件相关联的第二地址空间。
附图说明
[0015]从下面结合附图对实施例的详细描述,将更充分地理解本专利技术,其中:
[0016]图1是示意性地示出了根据本专利技术的一个实施例的计算系统的框图;
[0017]图2是示意性地示出了根据本专利技术的一个实施例的虚拟化计算和通信系统的框图;
[0018]图3是示意性地示出了根据本专利技术的一个实施例的用于地址空间桥接的方法的流程图;以及
[0019]图4是示意性地示出了根据本专利技术的一个实施例的使用智能

NIC的计算和通信系统的框图。
具体实施方式
[0020]概述
[0021]各个类型的计算系统包括通过至少一个外围总线服务于多个系统组件的外围设备。这样的系统的例子包括将多个处理器连接到网络的网络适配器,或存储用于多个处理器的数据的存储设备。所述外围总线可包括例如快速外围总线互连(PCIe)总线。
[0022]任何系统组件和/或外围设备可以是物理的或虚拟的。在虚拟化系统中,例如,物理计算机托管一个或更多个虚拟机(VM)。物理计算机通常运行向VM分配物理资源的虚拟化软件(“管理程序”)。具体地,管理程序将外围设备的资源分配给VM(“虚拟化外围设备”)。例如,每个VM可以被分配物理网络适配器中的虚拟网络接口控制器(VNIC)和/或物理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算系统,包括:至少一个外围总线;连接到所述至少一个外围总线的外围设备;至少一个存储器;第一系统组件,其(i)与所述至少一个存储器中的第一地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备;以及第二系统组件,其(i)与所述至少一个存储器中的第二地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备,其中,所述第一系统组件被布置成使所述外围设备访问与所述第二系统组件相关联的所述第二地址空间。2.根据权利要求1所述的系统,其中所述第一系统组件和所述第二系统组件中的一个或两个是物理处理器。3.根据权利要求1所述的系统,其中所述第一系统组件和所述第二系统组件中的一个或两个是虚拟处理器。4.根据权利要求1所述的系统,其中所述第一系统组件和所述第二系统组件在不同的服务器上运行。5.根据权利要求1所述的系统,其中所述第一系统组件和所述第二系统组件在同一服务器上运行。6.根据权利要求1所述的系统,其中所述第一系统组件是第一虚拟处理器,所述第一虚拟处理器被布置为使用第一地址转换访问所述第一地址空间;其中所述第二系统组件是第二虚拟处理器,所述第二虚拟处理器被布置为使用第二地址转换访问所述第二地址空间;并且包括虚拟化软件,所述虚拟化软件被配置为定义所述第一地址转换的至少一部分与所述第二地址转换的至少一部分之间的关联,并且使得所述外围设备能够使用所述关联来访问所述第二地址空间。7.根据权利要求6所述的系统,其中所述外围设备包括网络适配器,并且其中,所述虚拟化软件被配置为定义分别对应于所述第一地址转换和第二地址转换的第一远程直接存储器访问RDMA存储器键MKEY和第二远程直接存储器访问RDMA存储器键MKEY之间的关联。8.根据权利要求6所述的系统,其中所述第一系统组件被配置为使所述外围设备使用由所述第一系统组件控制的队列对QP,将数据通过远程直接存储器访问RDMA传送至所述第二地址空间。9.根据权利要求8所述的系统,其中所述QP以及通过RDMA进行的数据的传送与所述第二系统组件的网络关联相关联。10.根据权利要求6所述的系统,其中所述第一虚拟处理器被布置为使所述外围设备受制于管理对地址空间的访问的安全策略来访问所述第二地址空间。11.根据权利要求6所述的系统,其中所述外围设备包括网络适配器,所述网络适配器被配置为保存所述第一地址转换的所述至少一部分与所述第二地址转换的所述至少一部分之间的所述关联的本地副本,并使用所述关联的所述本地副本访问所述第二地址空间。
12.根据权利要求1所述的系统,其中所述第二系统组件是虚拟处理器,并且其中所述第一系统组件被配置为运行虚拟化软件,所述虚拟化软件(i)将物理资源分配给所述虚拟处理器并且(ii)访问所述虚拟处理器的所述第二地址空间。13.根据权利要求1所述的系统,其中所述第二系统组件被配置为向所述外围设备指定所述第一系统组件是否被许可访问所述第二地址空间,并且其中,所述外围设备被配置为仅在一验证出所述第一系统组件被许可访问所述第二地址空间就访问所述第二地址空间。14.根据权利要求1所述的系统,其中:所述至少一个外围总线包括连接至所述第一系统组件的第一外围总线,以及连接至所述第二系统组件的第二外围总线;以及所述至少一个存储器包括具有所述第一地址空间并且与所述第一系统组件相关联的第一存储器,以及具有所述第二地址空间并且与所述第二系统组件相关联的第二存储器。15.根据权利要求1所述的系统,其中所述第二系统组件在被集成于网络适配器中的服务器中运行。16.根据权利要求1所述的系统,其中所述外围设备包括网络适配器,所述网络适配器被布置为将数据包传输到网络,其中所述第一系统组件和所述第二系统组件具有相应的第一网络地址和第二网络地址,并且其中,所述第二系统组件被布置为(i)构造数据包,包括从所述第一系统组件的所述第一地址空间获得所述数据包的多个部分,以及(ii)使用所述第二网络关联经由所述网络适配器将所述数据包传输到所述网络。17.根据权利要求1所述的系统,其中所述外围设备包括存储设备。18.根据权利要求1所述的系统,其中所述外围设备包括处理器,所述处理器通过在所述外围总线上暴露非易失性存储器快速NVMe设备来仿真存储设备。19.根据权利要求18所述的系统,其中仿真所述存储设备的所述外围设备是网络适配器。20.根据权利要求18所述的系统,其中所述外围设备中的所述处理器被配置为通过访问所述第二地址空间来完成所述第一系统组件的输入/输出I/O事务。21.根据权利要求20所述的系统,其中所述外围设备中的所述处理器被配置为使用远程直接存储器访问RDMA来直接访问所述第二地址空间。22.根据权利要求20所述的系统,其中所述外围设备中的所述处理器被配置为使用所述第二系统组件的网络关联来完成所述I/O事务。23.根据权利要求1所述的系统,其中所述外围设备包括网络适配器,并且其中,所述第一系统组件和所述第二系统组件在由所述网络适配器服务的不同物理主机上运行。24.根据权利要求1所述的系统,其中所述外围设备是被配置为通过在所述外围总线上暴露图形处理单元GPU功能来仿真GPU的网络适配器。25.根据权利要求24所述的系统,其中所述第二系统组件被配置为代表经仿真的GPU来执行网络操作。26.一种计算方法,包括:通过至少一个外围总线,在外围设备与第一系统组件之间通信,其中所述第一系统组件(i)与至少一个存储器中的第一地址空间相关联,并且(ii)...

【专利技术属性】
技术研发人员:I
申请(专利权)人:迈络思科技有限公司
类型:发明
国别省市:

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

1