您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[ODCC]:2024基于 DPU 的高性能存储网络技术报告 - 发现报告

2024基于 DPU 的高性能存储网络技术报告

信息技术2024-09-18-ODCC芥***
2024基于 DPU 的高性能存储网络技术报告

[编号ODCC-2024-03001] 基于DPU的高性能存储网络技术报告 版权声明 ODCC(开放数据中心委员会)发布的各项成果,受《著作权法》保护,编制单位共同享有著作权。 转载、摘编或利用其它方式使用ODCC成果中的文字或者观点的,应注明来源:“开放数据中心委员会ODCC”。 对于未经著作权人书面同意而实施的剽窃、复制、修改、销售、改编、汇编和翻译出版等侵权行为,ODCC及有关单位将追究其法律责任,感谢各单位的配合与支持。 编写组 项目经理: 许豪豪中国移动通信集团公司 工作组长: 何泽坤腾讯科技(深圳)有限公司 贡献专家: 程宇中国移动通信集团公司肖爱元中国移动通信集团公司房梽斅中国移动通信集团公司储琴琴中国移动通信集团公司董少杰中国移动通信集团公司覃小娜中国移动通信集团公司裴照华中国移动通信集团公司张耀华中国移动通信集团公司高坚中国移动通信集团公司许豪豪中国移动通信集团公司刘子轶中国移动通信集团公司曹辉中国移动通信集团公司王少鹏中国信息通信研究院孙聪中国信息通信研究院 目录 版权声明.................................................I编写组..................................................II (一)NVMe-oF网络存储协议............................2(二)存算分离数据中心面临的存储问题.................3 二、基于DPU的高性能存储架构及关键技术..................4 (一)RDMA网络.......................................61.RoCE技术.......................................72.RDMA技术.......................................8(二)NVMe overFabric..............................10(三)DPU核心技术...................................11(四)DPU实现NVMeoF虚拟存储卸载....................12 三、基于DPU的高性能存储架构应用场景...................14 (一)裸金属场景....................................15(二)虚拟化场景....................................16 四、挑战与展望.........................................18 一、存算分离数据中心架构 数据中心是提供算力的重要基础设施,提供数据存储、传输、计算等多种服务。以存算融合的整机作为数据中心的服务节点,一旦发生计算和存储不一致需求时,存在资源扩展不灵活、利用率低下等问题[1]。存算分离是一种新型数据中心架构,其架构如图1所示,通过将计算和存储资源拆分为独立的资源,协同整合以提高系统的可扩展性和灵活性。在这种架构下,计算集群和存储集群分别承担计算和存储的任务,彼此独立运作。存储集群通过存储系统对存储资源进行管理和分配,计算集群通过网络访问存储节点,进行数据读写和计算操作。数据中心的存算分离架构可以提高存储资源的利用率、可靠性和灵活性,降低存储成本和维护难度。 在数据中心存算分离架构中,计算和存储节点之间的网络连接和数据传输速度至关重要,需要使用高性能、低延迟的网络技术和协议。 存算分离式数据中心常用的网络协议为TCP(TransmissionControlProtocol,传输控制协议)和RDMA(RemoteDirectMemoryAccess,远程直接内存访问)协议。TCP协议作为计算节点和存储节点之间的通信通道,用于数据读写和控制命令传输,保证可靠性传输,提供灵活性和易用性;RDMA则连接存储服务器,包括块服务器和块存储服务器,支持大规模存储服务,允许数据直接从存储设备的内存中传输到计算机内存中,可旁路CPU控制。为支持更高性能的高速存储设备,网络存储协议NVMe-oF(NVMeoverFabrics,基于网络的非易失存储介质接口)被广泛采用,旨在解决传统网络存储协议在高速存储设备上的性能瓶颈。 (一)NVMe-oF网络存储协议 NVMe是面向基于PCIe的SSD设计存储接口协议,使用多队列机制来管理和优化数据传输和处理,可以极大地提高存储系统的性能和效率。NVMe-oF协议基于NVMe协议设计的高性能、低延迟的网络存储接口协议,支持数据中心和企业级存储系统进行高效数据访问。NVMe-oF架构包括包括NVMe网络存储、传输层绑定、NVMe传输层以及网络层。 NVMe网络存储定义NVMe设备的结构以及它与主机的交互方式,包括NVMe的层次结构,即命名空间、控制器、队列和数据结构等。传输层绑定标准将NVMe协议转换为特定的网络传输格式。NVMe传输层定义NVMe语义基于不同网络传输层的交互机制与数据格式,支持TCP、RDMA和FC纤网络。网络传输层,包括网络协议栈与物理实现,负责将数据从发送方传输到接收方,并提供可靠的传输保证。 (二)存算分离数据中心面临的存储问题 全场景闪存化推动了数据中心的网络改革,如图3所示。为充分释放SSD介质的能力,要求更高性能的存储网络支持。相比于传统的iSCSI(InternetSmallComputerSystemInterface,基于因特网的小型计算机系统接口)协议,NVMe-oF协议作为存储阵列与前端主机连接的通道,避免将存储协议封装成TCP/IP数据包的多次的序列化和反 序列化操作,且支持多队列和高并发操作,实现了更高的带宽和更低的时延。 基于NVMe-oF存储网络协议,存算分离数据中心仍然面临挑战“存储税”的挑战,大约10-20%的主机服务器CPU核心需要用于实现云存储需要的虚拟化等功能[3]。目前急需一种方案将存储相关的服务从主机侧解耦,从而释放主机到用户服务,并提升存储访问性能。 尤其是在智算中心的整体建设需求中,前期数据预处理以及模型开发训练的过程都极度依赖于存储系统的性能,一个设计良好,性能优异的存储对接方案能够极大的提升智算中心的整体性能。目前主流智算中心已经普遍使用NVMe-oF技术,进一步实现存储的硬件全卸载可以有效帮助智算中心进一步向前发展。 二、基于DPU的高性能存储架构及关键技术 随着网络带宽及存储性能的不断提升,以CPU为中心处理这部分网络和存储协议等占用了服务器主机约30%的资源,引入高昂的 “数据中心税”[4]。另一方面,随着CPU性能提升的放缓,通用CPU在处理网络和存储等数据中心基础设施服务的能效比降低。 DPU(DataProcessingUnit)是一种以数据为中心构造的专用处理器,采用软件定义技术路线支撑基础设施层资源虚拟化,已经成为数据中心一种重要的基础设施资源,通过卸载网络存储协议解决当前网络存储遇到的性能瓶颈。基于DPU的存算分离数据中心架构如图4所示,DPU将网络存储协议从主机侧CPU中分离,降低对主机侧CPU的占用率,并提高处理效率。其上集成的专用计算加速单元如加解密与压缩解压缩等,能够进一步加快对存储数据的处理。DPU通过硬件虚拟化方式支持存储虚拟化,在硬件层面上将单个设备虚拟化成多个设备,这样虚拟机可以直接与硬件存储设备交互,减少数据拷贝和搬运次数、降低访问延迟,从而提高虚拟化环境下存储访问的性能。 (一)RDMA网络 RDMA(RemoteDirectMemoryAccess,远程直接内存访问)是一种高性能、低延迟的网络传输技术,通过网络直接进行另一台服务器(设备)的内存区域数据读写,不需要消耗对端服务器的CPU资源。RDMA具有以下三个方面的技术特征: 1)内核旁路:应用程序通过操作系统用户态的通信库和RDMA网卡直接交互,实现数据包收发,数据传输过程中没有操作系统内核的参与,消除了系统调用开销。 2)零拷贝:数据在RDMA网卡和应用内存缓冲区之间直接传输。 3)CPU卸载:RDMA网卡将传输协议以及底层网络协议固化到硬件。 实现RDMA的协议主要包括以下三种: IB(InfiniBand)是由IBTA(InfiniBandTradeAssociation)提出原生RDMA技术,其规定了一整套完整的链路层到传输层规范。IB无法兼容现有以太网,企业搭建基于IB技术的RDMA网络需要购买和IB网卡配套的系列交换设备。 iWARP(InternetWideAreaRDMAProtocal)基于TCP/IP协议的RDMA技术,由IETF标准定义。iWARP支持在标准以太网基础设施上使用RDMA技术,但服务器需要使用支持iWARP的网卡。 RoCE(RDMAoverConvergedEthernet)基于以太网的RDMA技术,也是由IBTA提出。RoCE将IB报文封装在以太网报文内,从而支持在标准以太网基础设施上使用RDMA技术。RoCE包括v1和v2两个版本,v1版本网络层仍然使用了IB规范,而v2使用了UDP+IP作为网络层,使得数据包可以被路由。RoCE需要交换机支持无损以太网传输,因此企业需要采购支持RDMA流控的交换机配合RoCE网卡使用。 综 合 考 虑 性 能 和 价 格 , 目 前 业 界 比 较 常 用 的 网 络 方 案是InfiniBand方案和RoCEv2方案。 1.RoCE技术 RoCE技 术 支 持 在 以 太 网 上 承 载IB协 议 , 实 现RDMAoverEthernet。RoCE与InfiniBand技术有相同的软件应用层及传输控制层,仅网络层及以太网链路层存在差异,RoCE架构如图5所示。 RoCE协议分为两个版本: RoCEv1协议:基于以太网承载RDMA,只能部署于二层网络,它的报文结构是在原有的IB架构的报文上增加二层以太网的报文头,通过Ethertype0x8915标识RoCE报文。 RoCEv2协议:基于UDP/IP协议承载RDMA,可部署于三层网络,报文结构是在原有的IB架构的报文上增加UDP头、IP头和二层以太网报文头,通过UDP目的端口号4791标识RoCE报文。RoCEv2支持基于源端口号hash,采用ECMP实现负载分担,提高网络利用率。 2.RDMA技术 RDMA的服务类型,包含连接服务及数据报服务,按照可靠性又可分为可靠及非可靠。连接服务中,每个QP(QueuePair)都和另一个远端节点相关联。在这种情况下,QPContext中包含有远端节点 的QP信息。在建立通信的过程中,两个节点会交换包括稍后用于通信的QP在内的对端信息。 数据报服务与面向连接恰好相反,QP不会跟一个唯一的远端节点绑定,而是通过WQE(WorkQueueElement)来指定目的节点。可靠通信是客户端与服务端通信报文需要进行应答的通信方式;非可靠同学是客户端与服务端通信报文不需要进行应答的通信方式。 按照连接和可靠两个标准,RDMA可以支持四种不同的传输模式: RC(ReliableConnected):可靠连接,一个QP只和另一个QP相连,RDMA网卡保证一个QP发出的数据包都能够被另外一个QP正确接收。RC连接很类似于TCP连接。 UC(UnreliableConnected):不可靠连接,一个QP只和另一个QP相连,连接是不可靠的,所以数据包可能有丢失。传输层出错的消息不会进行重传,错误处理必须由高层的协议来进行。 RD(ReliableDatagram):可靠数据报,一个QP和多个QP相连,消息通过akc/nak机制可靠的发送到多个QP。 UD(UnreliableDatagram):不可靠数据报,一个QP可以和其它任意的UP/QP进行数据传输和单包数据的接收。不保证按