当前位置: 首页 > 专利查询>英特尔公司专利>正文

对于系统协处理器的直接I/O访问技术方案

技术编号:10514708 阅读:167 留言:0更新日期:2014-10-08 14:43
本发明专利技术的实施例描述了能够在主机和具有CPU及存储器复合体(可选地在本文被称为处理器外接卡)的外围设备之间共享远程直接存储器访问(RDMA)设备硬件的系统、装置和方法。本发明专利技术的实施例使用诸如外围部件互连快速(PCIe)硬件的互连硬件在处理器外接卡和RDMA设备之间进行对等数据传输。主机系统可以包括用于向和/或从RDMA设备映射存储器或寄存器的模块或逻辑,从而能够直接地向或从所述处理器外接卡上的用户模式应用执行I/O,同时具有主机系统I/O操作。

【技术实现步骤摘要】
【国外来华专利技术】用于对于系统协处理器的直接I/O访问的方法和装置
本专利技术的实施例通常涉及计算设备,并且更加具体地涉及对于外围设备的存储器访问管理。
技术介绍
计算设备包括经由诸如网络或总线结构的互连性组织彼此连接的各种设备。这些设备典型地包含本地存储器,并且多个设备并行操作以便在该计算环境下提供处理速度和灵活性。远程直接存储器访问(RDMA)是使计算设备能够访问另一计算设备的存储器内的信息的一种网络接口卡(NIC)特征。具体地说,经由RDMA技术,所述计算设备可以从另一计算设备的存储器读取信息,也可以向该另一计算设备的存储器写入信息,而不涉及主机操作系统(OS)。图1说明了一种现有技术系统,该系统包括具有CPU和存储器复合体的外围设备。系统100包括系统CPU110、系统存储器120、外围设备控制器130、外围设备140和RDMA设备150。外围设备140包括处理器141和存储器142。外围设备140和RDMA设备150可以被称为“对等”设备。外围设备140可能需要访问存储在RDMA设备150内的数据,并且反之亦然。目前,诸如无限带宽规范或RDMA联盟规范等等的许多互连性组织标准的实现不能够使对等设备能够直接访问存储在另一对等设备的地址空间中的数据。当前的解决方案要求对等设备将所请求的数据写入到由连接到互连性组织的任意外围设备可用的公共可用存储器,在这一说明中是系统存储器120;然而,使用公共系统存储器用于这样的数据传输是耗时的,并且增加了开销处理。而且,使用公共系统存储器减慢了外围设备的处理操作。附图说明下面的描述包括图示的讨论,所述图示具有通过本专利技术实施例的实现示例的方式给出的说明。图示应该被理解为示例而非限制。如本文使用的,对一个或多个“实施例”的提及应该被理解为描述包括在本专利技术的至少一个实现中的特定特征、结构或特性。因而,本文出现的诸如“在一个实施例中”或“在可选实施例中”的短语描述本专利技术的各种实施例和实现,并且不必全部指代相同的实施例。然而,它们也不必互相排斥。图1说明了包括具有CPU和存储器复合体的外围设备的现有技术系统。图2是根据本专利技术实施例的系统的框图。图3是根据本专利技术实施例的系统部件的框图。图4是根据本专利技术实施例的处理的流程图。图5是根据本专利技术实施例的处理的流程图。图6是根据本专利技术实施例的主机和处理器外接卡模块的框图。图7是可以利用本专利技术实施例的系统的框图。下面是某些细节和实现的描述,包括可以阐释下文描述的实施例中的一些或全部的图示的描述,并且讨论本文提出的创造性概念的其它潜在实施例或实现。下面提供本专利技术实施例的概况,之后是参照图示更详细的描述。具体实施方式本专利技术的实施例描述能够在主机和具有CPU及处理器复合体(可选地在本文被称为处理器外接卡)的外围设备之间共享远程直接存储器访问(RDMA)设备硬件的系统、装置和方法。本专利技术的实施例利用诸如外围部件互连快速(PCIe)硬件的互连硬件用于处理器外接卡和RDMA设备之间的对等数据传输。主机系统可以包括用于向和/或从RDMA设备映射存储器和寄存器的模块或逻辑,从而能够向和从处理器外接卡上的用户模式应用直接执行I/O,与主机系统I/O操作同时进行。可以利用本专利技术实施例的处理器外接卡的示例包括具有图形处理器单元(GPU)的图形处理器子系统以及具有多个小型、低功率处理器核心或多核心处理器以便改善高度并行应用的性能的处理器外接卡。然而,在加速的异构计算环境中,提供一种通用的基于标准的编程和通信模型已经证明是困难的。这在集群中尤其如此,在群集中,期望具有来自所有处理器的高效通信机制,无论它们是主系统CPU还是外接卡中的协处理器核心。一种通用的基于标准的编程模型不仅简化应用的开发和维护,而且允许使用系统的较高灵活性以便充分利用其性能。集群通常指代已经被链接或互连为共同邻近以便进行操作的一组计算机系统,以使得在许多方面它们形成单个计算机。与单个计算机相比较,集群通常提供极大改善的性能和/或可用性。与具有相当的速度或者可用性的单个计算机相比较,集群也典型地更加成本有效。构建大集群系统的一个重要方面是互连。互连可以包括将所有系统连接在一起的“组织”,以及使系统通过接口连接到所述组织的主机适配器。集群可以利用符合无限带宽规范或RDMA联盟规范的互连。无限带宽是一种主要用于高性能计算的交换组织通信链路,并且提供服务质量和失效备援特征以及可扩展性。无限带宽互连通常提供较低的延迟时间、较高的带宽以及改善的可靠性。诸如无限带宽的RDMA体系结构在通过降低延迟时间和增加消息传送操作的带宽来改善高性能计算(HPC)集群应用的性能方面已经非常成功。RDMA体系结构通过下列操作来改善性能:经过内核旁路、直接数据放置来将网络接口移动得更加接近应用,并且允许I/O操作的更大控制以便匹配应用要求。RDMA体系结构允许硬件中的处理隔离、保护和地址转换。这一体系结构很好地适用于多个协处理核心环境,其中主机和协处理器应用在分离的地址域中执行;然而,在现有技术中,RDMA的好处对于附接的处理器(即,处理器外接卡)不可用。本专利技术的实施例将RDMA体系结构的好处直接带给附接的处理器,并且去除了对于如图1中说明的解决方案的需要,在该说明的解决方案中,进入和出自附接的处理器的通信必须引发到主机存储器的附加数据拷贝,这实质地影响了消息延迟时间和可实现的带宽。图2是根据本专利技术实施例的系统的框图。系统200包括系统CPU210、系统存储器220、平台控制器中心(PCH)230、外围设备240和RDMA设备250。在这一实施例中,外围设备240是处理器外接卡并且包括处理器241和存储器242。外围设备240和RDMA设备250可以被称为“对等”设备。外围设备240可以请求访问存储在RDMA设备250中的数据。尽管将所述设备表示为经由PCIe链路可通信地耦合到PCH230,并且将RDMA设备表示为经由PCIe根端口231可操作地耦合到PCH230,但是在这一实施例中,外围设备240不包含PCH,并且因而不具有向RDMA设备250专用主机信道适配器/网络接口控制器(HCA/NIC)卡的能力(然而,可以理解,具有板上RDMA设备的包含PCH或内部PCIe总线的外围设备也可以利用下文描述的本专利技术的实施例)。仅PCIe互连不能够使对等设备访问存储在另一对等设备的地址空间中的数据。本专利技术的实施例描述包括在系统200、PCH230和外围设备240中以便允许外围设备具有对包括在RDMA设备250中的数据的直接访问的逻辑和/或模块,即,不要求系统存储器220像它在诸如图1的系统100的现有技术解决方案中那样。通过消除对于主机存储器接收所请求的数据到该主机存储器中的附加拷贝的需要,本专利技术实施例显著地降低了消息延迟时间并且增加了可实现的带宽。图3是根据本专利技术实施例的系统部件的框图。在这一实施例中,PCH310、外围设备320和RDMA设备330经由系统总线(可选地在本文被称为节点内总线)390可通信地耦合到彼此。外围设备320与图2的设备240类似,因为它不具有使RDMA设备330专用于它的能力。在这一实施例中,外围设备320的存储器321包括存储有指向RDMA设备330的存储器331的请求的请求队列322。外围设备的CPU本文档来自技高网...
对于系统协处理器的直接I/O访问

【技术保护点】
一种系统,包括:远程直接存储器访问(RDMA)设备;包括中央处理单元(CPU)和存储器的外围设备;以及可通信地耦合到所述RDMA设备和所述外围设备的平台控制器中心(PCH),所述PCH用于:在包括在所述PCH中并且映射到所述外围设备的所述存储器或者所述RDMA设备的存储器中的一个的虚拟地址处接收访问请求消息的通知;对在映射到所述RDMA设备的所述存储器的虚拟地址处接收到所述访问请求消息做出响应,基于来自所述外围设备的针对所述RDMA设备的所述存储器的所述访问请求消息,向所述RDMA设备传输RDMA访问请求,RDMA访问请求消息包括虚拟地址RDMA参数;并且对在映射到所述外围设备的所述存储器的虚拟地址处接收到所述访问请求消息做出响应,向所述外围设备的所述存储器传输访问请求消息。

【技术特征摘要】
【国外来华专利技术】1.一种用于提供对于系统处理器的直接输入/输出(I/O)访问的系统,包括:远程直接存储器访问(RDMA)设备;包括中央处理单元(CPU)和存储器的外围设备;以及可通信地耦合到所述RDMA设备和所述外围设备的主机控制器,所述主机控制器用于:在包括在所述主机控制器中并且映射到所述外围设备的所述存储器或者所述RDMA设备的存储器中的一个的虚拟地址处接收访问请求消息的通知;对在映射到所述RDMA设备的所述存储器的虚拟地址处接收到所述访问请求消息做出响应,基于来自所述外围设备的针对所述RDMA设备的所述存储器的所述访问请求消息,向所述RDMA设备传输RDMA访问请求,RDMA访问请求消息包括虚拟地址RDMA参数;并且对在映射到所述外围设备的所述存储器的虚拟地址处接收到所述访问请求消息做出响应,向所述外围设备的所述存储器传输访问请求消息。2.如权利要求1所述的系统,其中,所述RDMA访问请求包括RDMA读取请求,并且所述主机控制器进一步用于:接收由所述外围设备请求的来自所述RDMA设备的数据;并且向所述外围设备的所述存储器传输包括所述数据的数据消息。3.如权利要求1所述的系统,其中,所述RDMA访问请求包括RDMA写入请求,并且所述主机控制器进一步用于:接收由所述RDMA设备请求的来自所述外围设备的所述存储器的数据;并且向所述RDMA设备传输包括所述数据的数据消息。4.如权利要求1所述的系统,其中,所述外围设备的所述CPU包括多个处理核心之一或者包括在所述外围设备中的多核心处理器。5.如权利要求1所述的系统,其中,所述外围设备和所述RDMA设备分别经由外围部件互连快速(PCIe)链路可通信地耦合到所述主机控制器。6.如权利要求5所述的系统,其中,所述RDMA设备和所述主机控制器经由PCIe根端口可通信地耦合。7.如权利要求1所述的系统,其中,所述外围设备包括图形子系统,并且所述CPU包括图形处理单元(GPU)。8.如权利要求1所述的系统,其中,所述访问请求消息符合无限带宽规范。9.如权利要求1所述的系统,其中,所述访问请求消息符合RDMA联盟规范。10.一种用于提供对于系统处理器的直接输入/输出(I/O)访问的方法,包括:在映射到远程直接访问(RDMA)设备的存储器和进一步包括中央处理单元(CPU)的外围设备的存储器中的一个的虚拟地址处接收访问请求消息的通知;对在映射到所述RDMA设备的所述存储器的虚拟地址处接收到所述访问请求消息做出响应:利用映射到所述RDMA设备的所述存储器的所述虚拟地址作为RDMA参数;并且基于来自所述外围设备的针对所述RDMA设备的所述存储器并且包括虚拟地址RDMA参数的所述访问请求消息,向所述RDMA设备传输RDMA访问请求;并且对在映射到所述外围设备的所述存储器的虚拟地...

【专利技术属性】
技术研发人员:W·R·马戈R·J·伍德拉夫D·M·李A·R·戴维斯M·S·赫夫蒂J·L·科夫曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1