用于具有提交ack的rdma的装置和方法

文档序号:9923689阅读:663来源:国知局
用于具有提交ack的rdma的装置和方法
【技术领域】
[0001] 本公开内容总体上涉及计算技术领域,具体而言,涉及用于具有提交确认(ACK)的 远程直接存储器存取(RDMA)的装置和方法。
【背景技术】
[0002] 本文提供的背景说明是用于大致呈现本公开内容的环境。除非本文另有指出,本 部分中所述的材料对于本申请权利要求书不是现有技术,并非由于包含在本部分中而承认 是现有技术或者现有技术的暗示。
[0003] -些应用(例如数据库或分布式文件系统)提供高可用性和容错性。这些应用常常 需要在网络的故障域外部放置数据,例如将数据传送到目标系统的目标存储器域,其可由 非易失性存储器构成。因而,这些应用需要获知是否及何时通过网络的数据传送操作完成。
[0004] 传统上,应用软件可以运行在目标系统上以返回数据传送操作的完成的确认指 示。基于软件的解决方案常常需要从网络缓冲器到应用缓冲器的数据传送。此外,基于软件 的解决方案在实现方式上会引入严格的限制,并且可以在网络等待时间和功耗两方面对总 体操作增加相当大的开销。
【附图说明】
[0005] 结合附图借助以下的详细说明会更易于理解实施例。为了便于本说明,相似的参 考标记标明相似的结构要素。在附图的图中示例性地而非限制性地示出实施例。
[0006] 图1是示出根据多个实施例的包含本公开内容的方面的用于具有提交ACK的RDMA 的示例性系统结构的示意图。
[0007] 图2是示出根据多个实施例的包含本公开内容的方面的为具有提交ACK的RDMA配 置的示例性源设备和目标设备的示意图。
[0008] 图3是示出根据多个实施例的包含本公开内容的方面的可以由示例性源设备实践 的用于提供具有提交ACK的RDMA的示例性过程的流程图。
[0009] 图4是示出根据多个实施例的包含本公开内容的方面的可以由示例性目标设备实 践的用于提供具有提交ACK的RDMA的另一个示例性过程的流程图。
[0010] 图5是示出根据多个实施例的适合于实践公开的实施例的示例性计算设备。
[0011] 图6是示出根据多个实施例的包含本公开内容的方面的具有编程指令的制品。
【具体实施方式】
[0012]说明了用于具有ACK的RDMA的装置和方法的实施例。可以修改具有RDMA功能的硬 件和底层协议以便直接更新目标存储器区,但延迟了网络确认直到提交了目标写。在一些 实施例中,源设备可以包括请求队列,用以存储远程直接存储器存取(RDMA)请求以更新在 故障域外的目标存储器。源设备可以进一步包括控制模块,耦合到请求队列,用以将RDMA请 求传送到目标设备,其借助在由目标设备完成RDMA请求后从目标设备请求提交ACK的指示。
[0013]在一些实施例中,目标设备可以包括处理队列,用以存储来自发起方的远程直接 存储器存取(RDMA)请求以更新目标存储器。目标设备可以进一步包括控制模块,耦合到处 理队列,用以基于RDMA请求向目标存储器发出提交操作,并在完成提交操作后产生要发送 到发起方的确认ACK。以下会更充分地说明本公开内容的这些及其他方面。
[0014]在以下的详细说明中参考了附图,其构成详细说明的一部分,其中,相似的参考标 记在通篇中标明相似的部分,其中借助可以实践的示例性实施例加以显示。会理解,可以利 用其他实施例,可以在不脱离本公开内容的范围的情况下做出结构或逻辑变化。因此,以下 详细说明不应视为限制性意义,实施例的范围由所附权利要求书及其等效替代来限定。
[0015] 按照最有助于理解所要求的主题的方式,将多个操作依次描述为多个分立动作或 操作。但描述的顺序不应解释为暗示这些操作必须是与顺序相关的。具体而言,这些操作可 以不按照呈现的顺序执行。所述的操作可以以不同于所述实施例的顺序执行。在另外的实 施例中,可以执行多个额外的操作和/或可以省略所述的操作。
[0016] 出于本公开内容的目的,短语"A和/或B"表示(A)、(B)或(A和B)。出于本公开内容 的目的,短语"A、B和/或C"表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。在本公开 内容表述"一个"或"第一"要素或其等效替代的情况下,这种公开包括一个或多个这种要 素,既不要求也不排除两个或多个这种要素。此外,用于确定的要素的序数指示符(例如第 一、第二或第三)用于在要素之间加以区分,并非指示或暗示这种要素必需的或受限的数 量,它们也不指示这种要素的特定位置或顺序,除非明确地另有表述。
[0017] 说明中对一个实施例或一实施例的提及表示结合实施例说明的特定特征、结构或 特性包括在本发明的至少一个实施例中。说明可以使用短语"在一个实施例中"、"在另一个 实施例中"、"在一些实施例中"、"在实施例中"、"在多个实施例中"等,其每一个都可以指代 一个或多个相同或不同实施例。而且,如相对于本公开内容的实施例所使用的术语"包括"、 "包含"、"具有"等是同义词。
[0018] 在实施例中,术语"模块"可以指代、部分为或包括专用集成电路(ASIC)、电子电 路、执行一个或多个软件或固件程序的处理器(共用的、专用的或分组的)和/或存储器(共 用的、专用的或分组的)、组合逻辑电路和/或提供所述功能的其他适合的组件。在实施例 中,模块可以以固件、硬件、软件或固件、硬件和软件的任意组合实施。
[0019] 现在参考图1,示出了根据多个实施例的用于具有提交ACK的RDMA的示例性系统结 构。系统100可以包括多个源设备和多个目标设备,其中,部分或全部这些设备可以经由彼 此联网而直接或间接访问,例如经由云140。如图1所示的,多个目标设备可以包括例如目标 设备120或142。源设备可以包括例如可穿戴设备114、可穿戴设备116、移动设备118或计算 机 112。
[0020] 在一些实施例中,源设备可以无线地连接到目标设备,例如经由蜂窝网络。在一些 实施例中,源设备可以经由有线网络,例如以太网,连接到目标设备。在一些实施例中,图1 中所示的源设备还可以充当目标设备,反之亦然。如下更详细说明的,目标设备和源设备可 以分别结合本公开内容的相应教导以实现具有提交ACK的RDMA。
[0021] 在多个实施例中,引入了改进的具有RDMA功能的硬件和底层协议以直接更新目标 存储器区,但延迟了网络确认直到提交了目标写。当直接更新目标数据缓冲器时,不必有中 间数据复本。仅在向目标数据缓冲器提交了更新后才会产生单一ACK。在多个实施例中,无 需在目标系统运行远程处理。目标系统无需执行任何软件。在一些实施例中,目标设备可以 简单地实施为由非易失性存储器后备的网络接口控制器(NIC),甚至无需普通处理能力。
[0022] 在实施例中,如前所述的,系统100中的源设备可以包括异构计算设备,例如但不 限于,结合本公开内容的相应教导的可穿戴设备116或114、移动设备118或计算机112。可穿 戴设备116或114可以是可穿戴小型计算机,也称为体载计算机。在实施例中,可穿戴设备 116或114可以具有设备体或形状因子,具有为用户穿戴的设备而配置的形状、尺寸和材料。 示例性地,可穿戴设备116可以具有形状因子,被配置为戴在头上,例如眼镜的设置。作为另 一个示例,可穿戴设备114可以具有被配置为戴在手腕上的形状因子,例如手表的设置。在 实施例中,可穿戴设备116或114还可以由穿戴者穿戴在人体其他部分(例如手臂、腿、脖子、 脚等)附近的衣服下、在一起或上。
[0023] 在实施例中,计算机112可以是膝上型电脑或笔记本电脑,具有蛤壳式形状因子或 不同的形状因子。在实施例中,移动设备118可以是便携式通信设备,例如智能电话或平板 电脑。尽管未示出,但系统100中的源设备还可以包括借助本公开内容的教导而增强的手持 计算机、膝上型电脑、蜂窝电话、寻呼机、音频和/或视频播放器(例如,MP3播放器、数字多用 途盘(DVD)播放器等)、游戏设备、摄像机、数码相机、导航设备(例如全球定位系统(GPS)设 备)、无线外围设备(例如耳机等)和/或其他适合的用户电子设备。
[0024] 在实施例中,可穿戴设备116和114、移动设备118、计算机112、目标设备120或142 或其他适合的设备可以配备适合的模块,例如结合图2所示的,以实现具有提交ACK的RDMA。 在一些实施例中,这些请求或目标设备可以被配置为使用网际协议(I
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1