RDMA资源泄漏检测和报告制造技术

技术编号:11230926 阅读:109 留言:0更新日期:2015-03-29 18:26
本发明专利技术涉及一种RDMA资源泄漏检测和报告。提供用于远程直接存储器访问(RDMA)资源泄漏检测。生成包括用户空间RDMA资源分级数据结构的用户空间上下文。生成包括内核RDMA资源分级数据结构的内核上下文。内核RDMA资源分级数据结构包括用户空间RDMA资源分级数据结构的节点。接收对于关闭RDMA资源的请求,并且遍历用户空间RDMA资源分级数据结构以确定RDMA资源是否具有在用户空间RDMA资源分级数据结构中分配的子RDMA资源。响应于基于用户空间RDMA资源分级数据结构或者内核RDMA资源分级数据结构中的至少一个确定RDMA资源具有在用户空间RDMA资源分级数据结构中分配的子RDMA资源来检测资源泄漏。

【技术实现步骤摘要】
RDMA资源泄漏检测和报告
本申请总体涉及一种改进的数据处理装置和方法,并且更具体地涉及用于检测和报告远程直接存储器访问(RDMA)资源泄漏的机制。
技术介绍
远程直接存储器访问(RDMA)是允许从一个计算机的存储器向另一计算机的存储器中的直接存储器访问的功能而未涉及到任一计算机的操作系统。RDMA有助于高吞吐量、低延时联网,这在大规模并行计算机群集中尤其有用。RDMA通过使计算机的网络适配器能够向应用存储器或者从应用存储器直接传送数据、由此消除在操作系统中的数据缓冲器与在应用存储器之间复制数据的需求来支持零复制联网。这样的直接数据传送不要求处理器、高速缓冲存储器等完成任何工作、并且不要求上下文切换。这样的直接传送可以与计算机正在执行的其它系统操作并行执行。例如在应用执行RDMA读取或者写入请求时,经由支持RDMA功能的网络适配器向网络直接递送应用数据从而减少传送的延时。许多现代架构和规范是鉴于RDMA和具有RDMA功能的网络适配器而设计的。例如InfiniBandTM贸易协会(IBTA)维护和促进的InfiniBandTM规范以及纽约阿芒克的国际商业机器公司开发的InfiniBandTM架构提供支持经由InfiniBandTM结构执行RDMA操作。类似地,开放结构联盟(OFA)维护和促进的并且在InfiniBandTM规范上构建的开放结构企业分布(DFEDTM)规范和架构也提供支持RDMA操作。对于关于InfiniBandTM和OFEDTM的更多信息,可以从IBTA和OFA组织以及对应网站获得附加信息。
技术实现思路
在一个示例实施例中,提供一种在包括处理器和存储器的数据处理系统中的用于远程直接存储器访问(RDMA)资源泄漏检测的方法。该方法包括数据处理系统在数据处理系统的用户空间中生成包括用户空间RDMA资源分级数据结构的用户空间上下文。该方法还包括数据处理系统在数据处理系统的内核空间中生成包括内核RDMA资源分级数据结构的内核上下文。内核RDMA资源分级数据结构包括用户空间RDMA资源分级数据结构的节点。该方法也包括数据处理系统接收对于关闭RDMA资源的请求并且数据处理系统遍历用户空间RDMA资源分级数据结构以确定RDMA资源是否具有在用户空间RDMA资源分级数据结构中分配的子RDMA资源。另外,该方法包括数据处理系统响应于基于用户空间RDMA资源分级数据结构或者内核RDMA资源分级数据结构中的至少一个确定RDMA资源具有在用户空间RDMA资源分级数据结构中分配的子RDMA资源来检测资源泄漏。此外,该方法包括数据处理系统报告资源泄漏。在其它示例实施例中,提供一种包括计算机可用或者可读介质的计算机程序产品,该计算机可用或者可读介质具有计算机可读程序。计算机可读程序在计算设备上被执行时使计算设备执行以上关于方法示例实施例概述的操作中的各种操作和组合。在更多另一示例实施例中,提供一种系统/装置。该系统/装置可以包括一个或者多个处理器和耦合到一个或者多个处理器的存储器。存储器可以包括指令,这些指令在由一个或者多个处理器执行时使一个或者多个处理器执行以上关于方法示例实施例概述的操作中的各种操作和组合。本专利技术的这些和其它特征以及优点将在本专利技术的示例实施例的以下具体描述中被描述或者按照以下具体描述将变得为本领域普通技术人员所清楚。附图说明将通过参照在结合附图阅读时的示例实施例的以下具体描述来最好地理解本专利技术及其优选使用方式和更多目的以及优点,其中:图1是利用开放结构企业分布(OFEDTM)核的一个这样的RDMA模型的示例;图2是图示用于上下文管理的示例实施例的机制的示例框图;图3是根据一个示例实施例的示例用户空间树数据结构的示例框图;图4是根据一个示例实施例的示例内核空间树数据结构的示例框图;图5是概述根据一个示例实施例的用于分配资源的示例操作的流程图;图6是概述根据一个示例实施例的用于执行资源泄漏检测和报告的示例操作的流程图;并且图7是其中可以实施示例实施例的方面的计算设备的示例框图。具体实施方式示例实施例提供用于远程直接存储器访问(RDMA)资源泄漏检测和报告的机制。在RDMA与传统复用输入/输出(IO)模型、比如网络接口卡(NIC)和光纤信道(FC)之间的主要差异之一是资源管理。在复用IO模型之下,有限缓冲器/资源集合由低级、例如开放系统互连(OSI)模型第2层(数据链路层)设备驱动器分配。经由存储器复制通过OSI层2复用待发送/接收的数据。OSI模型的更高层协议(ULP)操作范围是分配虚拟存储器而设备驱动器操作范围是复制或者映射虚拟存储器用于设备驱动器的使用。在数据链路层接收的数据必须从数据链路层的缓冲器/资源向应用层(例如在OSI模型中第7层)的虚拟存储器复制。为了避免可能需要附加资源并且可能由于需要在更低级缓冲器与更高级虚拟存储器之间执行复制操作以及其它原因而引入附加延时的这样的复制操作,已经引入RDMA模型。图1是利用开放结构企业分布(OFEDTM)核的一个这样的RDMA模型的示例。如图1中所示,应用110存在于用户空间120中并且对库函数进行调用或者调动库函数,以用于经由OFEDTM库130和硬件特有库140执行RDMA操作。OFEDTM库130包括可以经由控制路径150用来与在操作系统的内核空间170中的OFEDTM核160通信的动词库(libibverb)和DMA连接管理器库(librdmacm)。在库130中的动词(verb)是OFEDTM封装部分并且向链接到库130的应用、例如应用110提供动词应用编程接口(API),该应用可以使用该API以利用RDMA功能。子库libibverb和librdmacm包含动词,其中libibverb与资源有关而librdmacm动词用来操纵协议以在本地与远程系统之间连接队列对(QP)。在实质上,OFEDTM库130包含对于OFEDTM事实标准的应用级支持并且提供用于实施RDMA的API。OFEDTM核160提供OFEDTMRDMA机制的其余部分,这些部分包括操作系统内核级动词API以及RDMA协议的硬件不可知实现方式的整体。OFEDTM核160可以经由硬件特有设备驱动器195与在物理硬件级185的网络适配器180通信。硬件特有设备驱动器195和硬件特有库140可以是在特定实现方式中使用的网络适配器190的类型特有的。如从图1可见,数据路径105经由使用OFEDTM库130和硬件特有库140而执行的RDMA操作从在用户平面120中的应用110直接流向在物理硬件级185中的网络适配器180并且反之亦然。仍然经由控制路径150向在内核空间170中的OFEDTM核160和硬件特有设备驱动器195路由与网络适配器190的控制路径通信。使用这一架构,更高层协议(ULP)在网络适配器190上执行资源创建。应当认识到,ULP是指在协议模型、例如OSI模型中的协议栈上向上相对更高的应用或者其它代码。例如直接使用OFEDTM动词的代码可以是在应用层的应用、但是也可以是用户直接访问编程库(uDAPL)、即应用空间用户,该uDAPL又可以由中间件层使用,该中间件层本身由应用、例如DB2使用。术语ULP在这一场景中是指代码的直接用户(即OFEDTM动词的直接用户),而本文档来自技高网...
RDMA资源泄漏检测和报告

【技术保护点】
一种在数据处理系统中的用于远程直接存储器访问(RDMA)资源泄漏检测的方法,所述数据处理系统包括处理器和存储器,所述方法包括:由所述数据处理系统在所述数据处理系统的用户空间中生成包括用户空间RDMA资源分级数据结构的用户空间上下文;由所述数据处理系统在所述数据处理系统的内核空间中生成包括内核RDMA资源分级数据结构的内核上下文,其中所述内核RDMA资源分级数据结构包括所述用户空间RDMA资源分级数据结构的节点;由所述数据处理系统接收对于关闭RDMA资源的请求;由所述数据处理系统遍历所述用户空间RDMA资源分级数据结构,以确定所述RDMA资源是否具有在所述用户空间RDMA资源分级数据结构中分配的子RDMA资源;由所述数据处理系统响应于基于所述用户空间RDMA资源分级数据结构或者所述内核RDMA资源分级数据结构中的至少一个确定所述RDMA资源具有在所述用户空间RDMA资源分级数据结构中分配的子RDMA资源来检测资源泄漏;以及由所述数据处理系统报告所述资源泄漏。

【技术特征摘要】
2013.09.24 US 14/034,7391.一种在数据处理系统中的用于远程直接存储器访问(RDMA)资源泄漏检测的方法,所述数据处理系统包括处理器和存储器,所述方法包括:由所述数据处理系统在所述数据处理系统的用户空间中生成包括用户空间RDMA资源分级数据结构的用户空间上下文;由所述数据处理系统在所述数据处理系统的内核空间中生成包括内核RDMA资源分级数据结构的内核上下文,其中所述内核RDMA资源分级数据结构包括所述用户空间RDMA资源分级数据结构的节点;由所述数据处理系统接收对于关闭RDMA资源的请求;由所述数据处理系统遍历所述用户空间RDMA资源分级数据结构,以确定所述RDMA资源是否具有在所述用户空间RDMA资源分级数据结构中分配的子RDMA资源;由所述数据处理系统响应于基于所述用户空间RDMA资源分级数据结构或者所述内核RDMA资源分级数据结构中的至少一个确定所述RDMA资源具有在所述用户空间RDMA资源分级数据结构中分配的子RDMA资源来检测资源泄漏;以及由所述数据处理系统报告所述资源泄漏。2.根据权利要求1所述的方法,其中所述用户空间RDMA资源分级数据结构或者所述内核RDMA资源分级数据结构中的至少一个包括红黑树数据结构。3.根据权利要求1所述的方法,还包括:实行有序取消分配策略,所述有序取消分配策略指定在所述用户空间RDMA资源分级数据结构或者内核RDMA资源分级数据结构中的父资源不能在所述父资源的子资源被取消分配之前被取消分配,其中检测资源泄漏包括检测对于违反所述有序取消分配策略的尝试。4.根据权利要求1所述的方法,其中所述内核RDMA资源分级数据结构是所述用户空间RDMA资源分级数据结构的超集,并且包括代表在所述用户空间RDMA资源分级数据结构中代表的RDMA资源并且代表内核空间RDMA资源的数据。5.根据权利要求4所述的方法,其中所述内核RDMA资源分级数据结构的与用户空间RDMA资源或者内核空间RDMA资源对应的节点还包括从所述用户空间RDMA资源或者内核空间RDMA资源收集的关联取证数据,其中与所述内核RDMA资源分级数据结构的节点关联的所述取证数据提供标识与所述节点关联的资源泄漏的来源的信息。6.根据权利要求5所述的方法,其中所述取证数据包括用于分配了与所述节点关联的RDMA资源的进程的进程标识符、与所述节点关联的所述RDMA资源何时被分配的指示符、或者分配了与所述节点关联的所述RDMA资源的进程的整个调用栈中的至少一项。7.根据权利要求5所述的方法,其中报告所述资源泄漏还包括:使所述子RDMA资源与在所述内核RDMA资源分级数据结构中的对应节点相关;从与所述子RDMA资...

【专利技术属性】
技术研发人员:O·卡多纳J·P·梅辛C·L·所托冈扎尔兹P·V·托里斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1