将来数据中心核心技术:RDMA在京东的应用

近日,由京东IT资源服务部组织的将来数据中心核心技术研讨会活动,在京东成功举办。活动邀请了京东人工智能,大数据,云计算团队的多位研发总监,技术骨干人员一同参与。编程

在研讨会上,你们针对目前很火的RDMA,高性能网络相关话题,展开深刻讨论。特别是随着深度学习,云计算的兴起,网络对应用性能的影响引发了你们的关注。服务器

图片描述

一、RDMA 技术对高性能数据中心的影响

RDMA(Remote Direct Memory Access)技术是一种直接在内存和内存之间进行资料互传的技术,在数据传输的过程当中,不须要和操做系统Kernel作沟通,彻底实现了Kernel Bypass。网络

图片描述

对比RDMA传输和传统的TCP传输,TCP传输在多处须要CPU的参与。socket

图片描述

好比从应用层生成TCP的packet,对packet添加crc,由CPU来运行TCP协议传输数据到接收端,若是是可靠链接网络,须要由CPU来进行流量的控制,在接收端须要由CPU来查询内存地址,检验crc,还原TCP packet到应用。
这会消耗大量的CPU资源,并且容易受到CPU的noise的影响,从而影响网络传输的性能。分布式

若是使用RDMA传输,全部上述操做均可以由网卡硬件来作,CPU没必要作任何操做,这就是为何RDMA能带来低延时、高带宽和低CPU利用率的缘由。性能

二、京东在数据中心应用RDMA技术

在数据中心中使用RDMA技术能够有几种方式。学习

◾直接使用RDMA接口(verbs API)。测试

RDMA和TCP相似,有自定义的API可直接提供给应用层。用户能够直接使用RDMA API对应用进行编程,这种模式能够最好的利用RDMA的性能。大数据

如今流行的deep learning 的framework TensofFlow,也能够支持直接经过RDMA 来作数据传输; 面向大数据的Spark framework,也可使用Spark over RDMA。云计算

京东人工智能研发团队在分布式的模型训练场景中,也使用了RDMA技术,针对模型文件的高性能传输,知足了分布式训练的需求。

目前业界主流的database系统也均可以直接使用RDMA 接口,享用RDMA 带来的高性能。

包括在并行存储文件系统的应用中,RDMA 也被普遍使用。好比IBM 的GPFS 文件系统,open source 的Lustre 文件系统和GLustre 系统,它们都有直接的RDMA 的支持。

◾使用一些中间件将RDMA 封装起来,这种应用主要在一些计算和存储中常见。

在面向高性能计算的MPI 应用中,全部的MPI 均可以支持RDMA传输,诸如OpenMPI, Intel MPI, OSU MVAPICH 等。在全世界前500 台最快的超级计算机中,MPI over RDMA 被普遍使用。

图片描述

在主流的存储应用中,面向block 存储的iscsi 协议有iscsi over RDMA(iser)的支持,面向object 存储的CePH 有CePH over RDMA 的支持,新的NVMe over Fabric 协议定义了在数据传输的时候必须使用RDMA。

还有在一些特别的应用中也用到了这种方式,好比在一些金融、证券和多媒体等须要低延迟的应用中,VMA 能够在不改变应用接口(socket 接口)的状况下来享受到RDMA 的低延迟。

京东IT资源服务部负责人吕科在技术研讨活动中谈到:“目前京东、微软、Facebook的数据中心都在增强RDMA的使用。但愿下降数据中心成本,提高应用性能,解决TCP协议带来的扩展性等问题。”

京东IT资源服务部的硬件系统部在测试RDMA时也看到,在VM的服务中,在一样物理服务器的状况下,利用RDMA 来作数据传输,能够将几乎100%的CPU 资源都提供给计算。下降了CPU 在通信中的占用率,用户就能够利用这些CPU 资源来作更多计算或提供其余的服务,这也至关于增长了VM的数量。

相关文章
相关标签/搜索