[编号ODCC-2024-0500A] PCIeGen5 SSD应用报告 版权声明 ODCC(开放数据中心委员会)发布的各项成果,受《著作权法》保护,编制单位共同享有著作权。 转载、摘编或利用其它方式使用ODCC成果中的文字或者观点的,应注明来源:“开放数据中心委员会ODCC”。 对于未经著作权人书面同意而实施的剽窃、复制、修改、销售、改编、汇编和翻译出版等侵权行为,ODCC及有关单位将追究其法律责任,感谢各单位的配合与支持。 编写组 项目经理: 李佩维三星电子 工作组长: 郭亮中国信息通信研究院 贡献专家: 崔增美三星电子豆坤三星电子李婧三星电子石健三星电子杨昌麟三星电子贺雪三星电子温小振中国信息通信研究院 目录 (一)IntelDAOS特性介绍............................................................4(二)Aerospike特性介绍..............................................................6(三)人工智能场景分析.................................................................7 五、PCIeGen5SSD搭配高性能应用的验证.......................................8 六、总结与展望.....................................................................................14 前言 随着大数据分析、云业务、人工智能等技术的普及,各行各业所面对的数据量呈指数级增长,高速存取和高并发读写的需求如果无法得到满足,将会引起数据处理和应用场景中的性能瓶颈。这些挑战促使各行各业对算力和高性能存储的需求日益增强。 企业和数据中心为加速应用程序的执行速度、提高系统的响应能力和吞吐量,对底层存储设备的数据传输速度和带宽的要求也不断提升,因此SSD需要提供更高的IOPS和带宽才能满足企业和数据中心的需求。 新一代的SSD传输接口总线标准PCIeGen5应运而生,PCIe总线的传输速率达到32GT/s,各领域均已陆续推出PCIeGen5相关产品,这些产品能更加契合当前企业和数据中心的需求,其中支持PCIeGen5接口的SSD能够更加符合当今不断升级的大数据处理、高性能计算、人工智能应用等对存储设备的需求,也能够为云业务提供更安全、高效、稳定的服务。 尽管使用高性能SSD能带来显著的性能提升,但目前的大部分传统应用在设计时未考虑高性能SSD的特性,在存储架构、文件系统、存储管理等方面存在性能瓶颈,无法充分发挥高性能SSD的潜力。而新型高性能应用能充分利用高性能SSD的性能特点,更好地发挥SSD的性能优势,实现更高的性能表现和更好的用户体验。 本白皮书从传统应用性能瓶颈的分析出发,对新型高性能应用的特性和适用场景进行剖析,最后对PCIeGen5SSD结合新型高性能应用的验证结果进行介绍,以说明新型高性能应用的优势。 由于时间仓促,水平所限,错误和不足之处在所难免,欢迎各位读者批评指正。如有意见或建议请联系编写组。 PCleGen5 SSD应用报告 一、目的和范围 本白皮书旨在为新兴的PCIeGen5SSD寻找合适的应用场景,以使其能够充分发挥性能优势,为企业和数据中心带来收益。第五代数据传输接口标准PCIeGen5的接口带宽达到了32GT/s,与带宽上限为16GT/s的PCIeGen4相比,PCIeGen5实现了带宽的翻倍,极高的带宽使得PCIeGen5能更好地满足高吞吐量、高稳定性的需求。尽管PCIeGen5SSD能带来显著的性能提升,但是目前的大部分传统应用都是为慢速的存储设备而设计的,在存储系统架构、存储系统优化以及应用本身的限制方面存在各种各样的瓶颈,无法充分发挥PCIeGen5SSD的性能优势。为此,业界目前也在逐渐推出一些新型应用,这些应用克服了传统应用的性能瓶颈,能够使得高性能SSD充分发挥其性能优势。 本白皮书的范围涵盖了传统慢速应用的性能瓶颈的分析,IntelDAOS、Aerospike、AI大模型等新型高性能应用的特性和适用场景的分析,以及PCIeGen5SSD搭配这些新型高性能应用的验证结果介绍。以此来帮助行业在使用PCIeGen5SSD时,能够综合考虑应用的特点、克服应用的性能瓶颈,充分发挥PCIeGen5SSD的性能优势,使得PCIeGen5SSD成为企业和数据中心的优先选择,为企业和数据中心用户带来最大程度的性能收益。 本白皮书不涉及PCIe协议的设计和开发,也不涉及PCIe协议的 具体实现方法。它仅涉及对基于PCIe协议的SSD的应用性能的分析、介绍和验证,为业界提供参考。 二、缩写和术语 三、传统应用的性能瓶颈分析 传统应用通常基于慢速的存储系统设计,在设计时未考虑高性能SSD的特性,对存储的性能和延迟要求较低,在架构、存储管理等方面无法充分发挥高性能SSD的潜力,导致在数据访问和处理时,无法充分利用高性能SSD带来的优势。 因此,即使使用高性能SSD,传统应用在存储系统架构、存储系统优化以及应用本身的限制方面依然面临瓶颈,包括并发量、IO页面大小和中断开销等,具体分析结果整理如下: I/O并发度低:SSD是高度并行的设备,具有多个连接到独立闪存芯片的通道。高性能SSD通常能处理大量的并发读写请求以获得良好的性能。但传统应用的架构无法支持大规模并发操作,这限制了SSD在传统应用中的性能表现。 I/Opagesize不合适:与字节寻址持久内存相比,闪存的访问以页面粒度进行。实验表明闪存的页面最佳大小是4KB,因为它可以实现最高的随机读取性能和最低的延迟。传统应用使用的默认页面大小不一,太大的页面会带来严重的I/O放大,而太小的页面,会导致SSD的IOPS和延迟更差。 中断开销大:传统应用中一般使用中断的方式进行I/O处理,但是频繁的中断带来的上下文切换对CPU资源和系统的开销较大。与高性能SSD处理I/O的速度相比,中断的处理时间占比显然更大,因此限制了SSD的性能表现。 在使用高性能SSD时,需要综合考虑应用的特点,针对这些性能瓶颈,根据高性能SSD的特性进行传统应用的优化,以此提高应用程序的响应速度和性能,使其能高效利用高性能SSD带来的收益。 四、新型高性能应用的特性分析 (一)Intel DAOS特性介绍 IntelDAOS(DistributeAsynchronousObjectStorage)是一 种专为大规模分布式NVM而设计的完全实现在用户态的开源全闪分布式存储系统,支持横向扩展。IntelDAOS使用PMDK和SPDK等用户态库绕过操作系统,直接访问以SCM和NVMeSSD为介质的存储设备,为高性能计算应用提供高带宽、低延迟和高IOPS,并且支持结合数据分析和机器学习的以数据为中心的工作流程,主要用于HPC和AI等高性能场景。 IntelDAOS针对高性能存储的主要设计特点如下: BypassOSkernel:直接使用PMDK,SPDK等用户态库绕过操作系统直接访问SCM和NVMESSD等高性能设备。 PMDK的全称是PersistentMemoryDevelopmentKit,旨在提供 一系列简化持久内存设备管理和访问的库和工具的集合,帮助开发者充分利用新一代持久化内存,为高性能、低延迟的数据持久化提供了新的解决方案。 SPDK的全称是StoragePerformanceDevelopmentKit,提供了一套用于编写高性能、可扩展、用户模式存储应用程序的工具和库。它通过将所有必要的驱动程序移入用户空间并以轮询模式运行(而不是依赖中断)来实现高性能,这避免了内核上下文切换并消除了中断处理开销。 DAOS使用PMDK来存储所有内部元数据、应用程序/中间件键索引和延迟敏感的小I/O,使用SPDK来存储大I/O以及更高延迟的小I/O。两者相互配合实现了在用户空间端到端运行,并且不会执行任何系统调用的高性能I/O。 RDMA:RDMA(RemoteDirectMemoryAccess)使两台联网的计算机能够在主内存中交换数据,而无需依赖任何一台计算机的处理器、缓存或操作系统。DAOS的Client节点和Storage节点之间的I/O数据通过RDMA实现用户空间数据端到端的数据拷贝。RDMA提高了吞吐量和性能,因为它可以释放资源(如CPU),从而加快数据传输速率并降低网络延迟。 ULT:ULT(UserLevelThread)是DAOS服务端为每个传入的I/O请求创建的一个用户级线程,该线程的创建和上下文切换都非常轻量级,非常适合DAOS服务器端I/O处理。 通过上述技术,DAOS成为了一个完全实现在用户态的高性能分 布式存储系统。 (二)Aerospike特性介绍 Aerospike是一个高性能、可扩展、可靠性强的K-V类型的NoSQL数据库,读写速度极快。它与众所周知的高性能K-V类型数据库的Redis最大不同就是,Redis的数据完全存储于内存中,虽然保证了性能,但是成本太高。而Aerospike最大的特点就是同时支持RAM和SSD作为存储介质,从而可以提供一种混合存储架构,既保证了性能又节省了成本。 Aerospike针对高性能存储的主要设计特点如下: DirectI/O:Aerospike绕过操作系统的文件系统,使用DirectI/O直接将SSD作为块设备读写,避免额外的I/O损耗,降低了延迟。 Largedatablockwrite:Aerospike采用大块写入的写时复制机制。需要更新记录时,它从SSD中读取记录并将更新后的数据写入缓冲区,当缓冲区被写满时将数据以大数据块方式写入SSD中,充分利用SSD大块数据顺序写入的性能优势,同时减少了闪存颗粒磨损。 高度并行化I/O:Aerospike利用多线程实现I/O的高度并行化访问,充分利用了SSD可以并行处理I/O的性能优势。 Aerospike从以上各个维度优化了SSD的数据读写,从而带来TB级数据毫秒延迟的优势。 (三)人工智能场景分析 随着AI大模型时代到来,模型训练面临内存和I/O瓶颈: GPU内存的限制:AI模型的快速增长对GPU内存的需求急速提升,而GPU内存的增长速度远落后于模型参数的增长速度,GPU内存已经成为大型模型训练的瓶颈。虽然可以通过分布式训练方法来突破单个GPU内存的限制,然而,GPU的价格昂贵并且分布式训练带来的多个GPU之间的通信开销巨大。 I/O速度的限制:模型训练时缓慢的I/O会浪费GPU算力,大模型训练需要海量数据作为训练数据集,在数据加载阶段,数据加载效率低下会导致GPU算力浪费,优化GPU的数据传输可以减少AI模型训练总时间;在模型训练的各个阶段,训练后的网络权重都会存储到 磁 盘 中 , 并 且 使 用checkpoint机 制 恢 复 训 练 时 需 要 重 新 读取checkpoint到GPU中,减少相关开销可以缩短训练时间、加快模型恢复速度。 随着SSD容量和速度的增加,当前存储器解决方案正在分担CPU和GPU数据处理工作负载,为缓解GPU内存瓶颈,可以将GPU内存中的部分数据offload到SSD上,以支持参数量更大的模型的训练。此外,为了充分利用GPU算力,加快模型训练,使用PCIeGen5SSD作为存储设备可以在模型训练过程中加速数据读取和写入速度,从而加速模型训练。 五、PCIe Gen5 SSD搭配高性能应用的验证 (一)Intel DAOS+PCIe Gen5SSD 1.测试需求 在本白皮书中,我们验证了在IntelDAOS文件系统下分别使用PCIeGen4SSD和PCIeGen5SSD时系统的读写性能以观测PCIeGen5SSD在此应