LC3视角:高性能网络技术下的阿里云盘古分布式存储技术变革
近些年,随着NVME闪存等存储技术的发展,单存储设备IO带宽已达到GB/S,延迟降低至微秒数量级,而下一代内存级非易事存储介质如Intel 3D XPoint将进一步提升存储介质性能。从整体上看,数据中心已经由传统的机械硬盘毫秒时代过渡到存储新介质的微秒时代。在性能大幅提升的同时,节点存储容量也急剧增加,达到几十TB量级。节点存储性能和容量的飞速发展,对分布式存储系统节点间的网络通信性能提出了更高的要求,因此,高性能网络技术如RDMA(Remote Direct Memory Access)技术开始应用于数据中心,RDMA技术起源于高性能计算领域(如太湖之光超级计算机),其可通过相对定制的流控机制实现高效的节点间通信。
存储和网络新技术的应用导致数据中心基层物理架构的变革,“世异时移,变法宜矣”,《吕氏春秋》的经典词句说明拥抱变化的重要性。盘古分布式存储起源于阿里云飞天系统,已历时10余年,作为自主研发的分布式存储系统,其是阿里云核心组件之一,支撑阿里云对象存储、大数据计算、块存储、文件存储等多种关键存储业务。随着发展,它越来越成为整个阿里巴巴的存储平台,支持天猫、淘宝、支付宝等更多的业务。新一代盘古存储系统充分利用NVME和RDMA等新技术,实现了高性能的存储服务,其端到端三副本写的延迟低于30微秒,逼近底层硬件的理论物理延迟,而基于盘古存储系统的ESSD云盘可以达到100us、1M IOPS的性能。
在今年的阿里618大促中,盘古作为基础存储,为天猫、淘宝电商数据库以及阿里云块存储等阿里巴巴核心业务提供了服务,而在此之前,国内外还从未有公司将RDMA&NVME等新技术应用于线上大规模数据库和云计算块存储等核心业务,盘古首次实现了这些技术在线上核心业务的大规模应用。
盘古分布式存储系统
盘古存储系统超高性能的获得离不开对存储和网络性能的极致挖掘,特别是RDMA技术的研发。盘古选择RDMA的动机包含性能和语义两个方面。在性能方面,RDMA相对于传统TCP通信,由于RDMA网卡硬件负责处理通信协议,其在延迟和CPU利用率上占有优势。点到点RDMA延迟接近1us,而同等条件下的TCP要达到20us以上;RDMA可利用一个CPU处理器核可以打满网络带宽,而TCP需要至少4个处理器核心,RDMA的CPU利用率明显高于TCP。另一方面,从语义上来说,RDMA提供了一种节点A的数据可靠发送至节点B的通信机制,并实现了远端内存访问语义。由于可靠传输,并且实现了内存语义,这使得远端处理部件(CPU、FPGA、GPU等)可以直接对一段内存编址范围内的数据进行处理。与之对应,由于TCP是字节流语义,接收方很难断定处理数据的边界,从而很难直接对数据进行加工,并且需要借助处理单元进行解析。随着大规模高性能设备的发展如AEP新存储介质和硬件协处理等专用处理芯片的发展,远端直接对数据进行处理成为盘古存储的迫切需求,因此RDMA这方面的优势更为突出。盘古分布式系统通过全用户态系统软件栈,充分利用RDMA特性,全链路盘古软件库开消低于3us,从而获得了高效的IO性能。
盘古全用户态软件栈
RDMA网络性能突出,在实际中,出于成本等因素的考虑,区别于高性能计算领域的Infiniband RDMA技术,目前数据中心广泛采用RDMA ROCE技术。ROCE RDMA技术是在可丢包的以太网上,通过“打补丁”的方式,实现无损不丢包的通信传输。在可丢包的网络实现不丢包,这本身引入了较大的风险,相对于以前的可丢包实现,其更容易引发网络系统性的风险,这也是ROCE RDMA在国内外数据中心应用的难题。简单类比一下,如果把RDMA比做高速公路,那么TCP类似于省道。高速公路采取独立的隔离机制(专用隔离的封闭道路)和专用的通行规则以到达高效通行的目的;省道更多是满足出发地和目的地之间的可达性,实现不同地点的连通,虽然其也追求高效性,但出于成本等因素的妥协,其通行性并没有严格的保证。由于独立隔离且高速运行,高速公路对于风雪、雾气等情况下的风险明显大于省道,RDMA与之类似,在高性能的同时存在较大的风险。此外,针对ROCE RDMA,不同厂商网卡和交换机的RDMA技术经验还处于积累阶段,流控策略和参数配置也存在较多的问题,因此从ROCE RDMA的网络承载者网卡和交换机来说,ROCE RDMA风险也较大。虽然ROCE RDMA存在较大的风险,盘古系统所支持的业务如电商和阿里云存储等,需要提供365*24的稳定运行,盘古面临这些风险,需要如其名做到稳如磐石,杜绝丝毫风险。在实际实现中,盘古和阿里网络团队采用软硬件协同的方法,在保证性能的同时很大程度上降低了ROCE RDMA的风险。
通过对RDMA极致性能的追求和针对可靠性的软硬件协同设计,盘古实现了基于RDMA的高效且稳定实现,并首次应用于618阿里巴巴大促数据库和阿里云块存储等核心关键业务。此外,针对云计算下的RDMA QOS服务质量、网络存储融合、基于RDMA的近存储计算等方面,盘古也展开了一系列技术研发,后续盘古将支持更多的阿里巴巴业务,并在双十一大促中进一步检验和推广,从而为用户提供高效稳定的存储服务。