分布式存储架构发展及技术挑战
从云和互联网的业务场景来看,其存储域主要采用基于服务器部署分布式存储服务的融合方式,它面临如下挑战 :
1.数据保存周期与服务器更新周期不匹配。大数据、人工智能等新兴业务催生出海量数据,大量数据需按照其生命周期策略(例如 8~10 年)进行保存。
2.性能可靠与资源利用率难以兼得。支撑业务的分布式存储系统大致可以分为性能型存储和容量型存储,它们均无法同时实现高性能可靠与高资源利用率。
具体地,性能型存储主要运行数据库、虚拟化等关键业务,通常采用三副本或两副本并配合独立冗余磁盘阵列卡模式 ;这类方案虽兼顾了性能和可靠性,但其大约 30% 的空间利用率却是对存储资源的极大浪费。
容量型系统为了提升空间利用率,采用纠删码(Erasure Code,EC)方式,然而,EC计算过程中的读写、重构等会消耗大量网络资源,导致系统重构效率低下、重构时间长,给系统可靠性带来风险(如图 1 所示)。3.新型分布式应用的极简高效共享存储诉求。
以无服务器(serverless)应用为代表的新型分布式应用在近些年涌现,这类应用从无状态化向有状态化扩展,比如数据库、消息总线等组件纷纷容器化,数据共享访问的诉求不断增多。与此同时,人工智能和机器学习等应用需要大量异构算力协同,甚至产生共享内存访问的诉求,它们关注高带宽、低时延的访问能力,仅需要轻量、便捷的共享存储系统即可,不需要搭载具有复杂企业特性的传统存储。
4.数据中心税导致数据密集型应用效率低下。
面向数据密集型场景,在基于以 CPU 为中心的服务器架构下,应用为获取数据所缴纳的“数据中心税”(datacenter tax)日益加重。例如,服务器内的 CPU为处理网络及存储 IO 请求,需要消耗高达 30% 的算力 [3] ;
此外,由于通用 CPU 并不擅长数据处理运算,导致其能效比低下。传统存算分离架构将算力资源和存储资源(机械硬盘、固态硬盘等)分离至彼此独立的计算域和存储域,并通过以太网或专用存储网络(例如光纤通道)将二者互连,实现了存储资源的灵活扩展和高效共享(如图 2 左侧所示);
该架构主要为复杂的传统企业特性设计,难以应对上述挑战,为了让云和互联网存储域服务兼顾资源利用率、可靠性、性能、效率等众多诉求,亟须基于新型软硬件技术构建新型存算分离架构。
一、硬件技术趋势
面对数据中心在容量利用率、存力效率等方面的挑战,近年来,专用数据处理器、新型网络等技术快速发展,为数据中心基础设施的重构提供了技术基础。首先,为取代服务器本地盘,很多厂商推出以太网闪存簇(Ethernet Bunch of Flash,EBOF)高性能盘框(例如,近期陆续发布的西数 OpenFlex、Vast Data Ceres 高性能盘框等)。
这类盘框不再具有复杂企业特性,而是注重采用新型的数据访问标准,比如支持 NoF(NVM Express over Fabric)等接口,以提供高性能存储实现对本地盘的替换。
NoF 协议由 NVM Express (NVMe)标准组织在 2016 年发布,提供了 NVMe 命令到多种网络传输协议的映射,使一台计算机能够访问另一台计算机的块存储设备。同时,一些研究机构进一步探索远程内存池化技术,例如,韩国 KAIST 实验室实现了基于 FPGA的 CXL(Compute Express Link)互连协议 ;CXL为英特尔于 2019 年 3 月在 Interconnect Day 2019 上推出的一种开放性互联协议,能够让 CPU 与 GPU、FPGA 或其他加速器之间实现高速高效互联,从而满足高性能异构计算的要求。其次,业界涌现出越来越多的数据处理单元(Data Processing Unit,DPU)和基础设施处理单元(Infrastructure Processing Unit,IPU)专用芯片,在数据流处理路径上取代通用处理器,提升算力能效比。同时,基于可编程交换机的网存协同也是研究热点,例如在网数据缓存的 NetCache、KV-Direct,在网数据协调的 NetLock、SwitchTx,在网数据聚合的 SwitchML、NetEC,在网数据调度的 FLAIR、AlNiCo等。最后,数据访问网络标准也在持续增强,比如CXL 协议新版本加强了内存池化方向的技术特性,同时吸收了 Gen-Z(由 AMD、ARM、HPE 等公司发起定义的面向内存语义的技术)、OpenCAP(Open Coherent Accelerator Processor Interface,最早由IBM 提出的异构计算接口)等技术的成果,正逐步成为业界主流高速互联标准。
NVMe 2.0 也在向着语义统一、Fabric 统一和介质统一方向演进。这些新型存储、计算和网络硬件为构建面向云和互联网场景的新型存算分离架构带来了诸多机遇,譬如使用 DPU 等专用芯片能够打破传统以CPU 为中心的服务器架构,由此提升数据密集型应用的效率。
二、新型存算分离架构的特征
随着远程直接内存访问(Remote Direct Memory Access,RDMA)、CXL、可编程网络设备、高性能NVMe SSD、持久性内存等新型硬件技术的发展,需要构建新型存算分离架构,以确保云和互联网存储域服务能够兼顾资源利用率、可靠性、性能、效率等众多诉求。相较于传统架构,新型存算分离架构最为显著的区别在于 :(1)更为彻底的存算解耦,该架构不再局限于将 CPU 和外存解耦,而是彻底打破各类存算硬件资源的边界,将其组建为彼此独立的硬件资源池(例如处理器池、内存池、机械硬盘(HDD)/ 固态硬盘(SSD)池等),从真正意义上实现各类硬件的独立扩展及灵活共享 ;(2)更为细粒度的处理分工,即打破了传统以通用 CPU 为中心的处理逻辑,使数据处理、聚合等原本 CPU 不擅长的任务被专用加速器、DPU 等替代,从全局角度实现硬件资源的最优组合,进而提供极致的能效比。
总结来说,新型存算分离架构具有如下特征 :
1.无盘化的服务器。新型存算分离架构将服务器本地盘拉远构成无盘化(diskless)服务器和远端存储池,同时还通过远程内存池扩展本地内存,实现了真正意义上的存算解耦,可极大提升存储资源利用率。业务使用时,可根据应用需求选择配置不同性能、容量的虚拟盘及池化内存空间,这样一方面可以避免由于不同服务器本地存储空间利用率过低导致超配造成的浪费 ;另一方面,当服务器出现故障或者更新换代时,也不影响数据的保存,不需要额外的数据迁移。
2.多样化的网络协议。连接计算和存储间的网络协议从当前的 IP 或光纤通道(Fibre Channel,FC)协议扩展到 CXL+NoF+IP 协议组合。CXL 协议使得网络时延降低到亚微秒级别,有助于内存型介质的池化 ;NoF 协议加速 SSD 池化 ;IP 协议可满足 HDD 等慢速介质访问诉求。通过这几类协议组合构建的高通量网络,满足了多种场景池化接入诉求。
3.专用化的数据处理器。数据存储、访问等操作不再由通用处理器负责,而是卸载到专用数据处理器。此外,特定的数据操作可由专用硬件加速器进行进一步加速,如纠删码、加密压缩、网络通信等。通过专用数据处理器,可以释放通用处理器算力,用于服务更适合的场景,显著提升系统整体能效比。
4. 高存储密度系统:分离式存储系统,作为新型架构的关键组件,为持久化数据提供坚实基础。通过集约化管理存储介质,结合芯片与介质的深度协同设计,整合系统与盘两级空间管理,利用大比例纠删码算法降低冗余资源开销。同时,基于芯片加速的场景化数据缩减技术,进一步拓展可用数据空间。
三、面向云和互联网场景的存算分离架构
新型存算分离架构旨在解决当前架构所面临的挑战,通过彻底解耦、池化和重组整合原有架构的多级分层资源,构建了存储模组、总线网络和算力模组三大简化分层。这一创新实现了服务器本地存储的拉远池化、新型网络的灵活组装、以数据为中心的多元处理以及高容量极简盘框等新兴能力。
1、存储模组
面向云和互联网数据中心,需要以更专业的存储能力重新定义云和互联网的存储架构。新型存算分离架构中,存储型模组主要以 EBOF、以太网内存簇(Ethernet Bunch of Memory,EBOM)、以太网磁盘簇(Ethernet Bunch of Disk,EBOD)等新型盘框形态存在,RAID/EC/ 压缩等传统存储能力下沉到新型盘框中,构成“盘即存储”的大盘技术,对外通过NoF 等高速共享网络提供块、文件等标准存储服务。这一类新型盘框将传统磁盘阵列的冗余池化技术和数据缩减技术进行了高度集约化和小型化。
云和互联网的多样业务主要分为三种典型的应用场景(如图 3 所示)。第一种场景是针对虚拟化业务,直接将数据中心存储域服务器的本地盘拉远,对分布式开源存储集群的物理硬盘层形成替代。第二种场景是为数据库、大数据服务等需要极热数据处理的业务提供大内存、键 - 值(Key-Value,KV)接口,加速数据处理效率 ;第三种场景是针对容器等新业务场景,为 Ceph、Lustre 等分布式应用直接提供文件语义,卸载本地数据布局,并支持将温热数据分级到更冷的 EBOD 等机械硬盘或磁带型存储模组中,提升整系统资源使用效率。
2、算力模组
在摩尔定律逐渐减缓的当下,专用处理器成为打破瓶颈、释放异构算力的关键。只有引入专用处理器,我们才能实现算力的池化管理,避免为每台服务器独立配置异构算力卡带来的巨大功耗和低下的资源利用率。
DPU,一款专业的数据处理器,凭借其低成本、低功耗、即插即用和即换即用的特性,独领风骚。更值得一提的是,它在运行状态下不会与业务应用争夺资源,既确保了用户业务的稳定运行,又保障了基础设施的高质量服务。
3、高通量数据总线
存算分离架构中,网络技术非常重要,它决定了系统的响应速度以及吞吐能力,也决定了系统资源池化的能力范围。过去 10 年,万兆 IP 网络促使 HDD 池化,基于 IP 网络发展了支持块、文件、对象共享的访问协议。当前,面向热数据处理,NVMe/RoCE(RDMA over Converged Ethernet,RDMA 融合以太网 ) 促 使 SSD 池 化 ;并 且,NVMe 协议快速发展使其开始收编烟囱式协议规范。下一步,面向极热数据处理,内存型网络(例如 CXL Fabric)将促使内存资源池化,为业务提供更大的共享内存空间(如图 4 所示)。
-对此,您有什么看法见解?-
-欢迎在评论区留言探讨和分享。-