【技术实现步骤摘要】
跨地址空间桥接
[0001]本专利技术总体上涉及计算系统,并且具体涉及计算系统组件和外围设备中的用于桥接存储器地址空间和地址转换的方法和系统。
技术介绍
[0002]各个类型的计算系统包括通过外围总线(例如,快速外围总线互连(PCIe)总线)服务各个系统组件的外围设备。这样的系统的例子包括将多个处理器连接到网络的网络适配器,或存储用于多个处理器的数据的存储设备。这种计算系统通常还包括其中系统组件存储数据的存储器。作为服务于系统组件的一部分,外围设备可以访问存储器以便读取或写入数据。
技术实现思路
[0003]本文描述的本专利技术的实施例提供了一种计算系统,该计算系统包括至少一个外围总线、连接到至少一个外围总线的外围设备、至少一个存储器以及第一系统组件和第二系统组件。所述第一系统组件(i)与所述至少一个存储器中的第一地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备。第二系统组件(i)与所述至少一个存储器中的第二地址空间相关联,并且(ii)经由所述至少一个外围总线连接到所述外围设备。该第一系统组件被布置成使该外围设备访问与所述第二系统组件相关联的所述第二地址空间。
[0004]在一个实施例中,第一和第二系统组件中的一个或两个是物理处理器。在另一个实施例中,第一和第二系统组件中的一个或两个是虚拟处理器。在一些实施例中,第一和第二系统组件在不同的服务器上运行。在其他实施例中,第一和第二系统组件在同一服务器上运行。
[0005]在一些实施例中,第一系统组件是被布置成使用第一 ...
【技术保护点】
【技术特征摘要】
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)...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。