Alluxio 联手 Solidigm 推出针对 AI 工作负载的高级缓存解决方案

作者:Wayne Gao, Yi Wang, Jie Chen, Sarika Mehta

Alluxio 作为全球领先的 AI 缓存解决方案供应商, 提供针对 GPU 驱动 AI 负载的高速缓存。其可扩展架构支持数万个节点,能显著降低存储带宽的消耗。Alluxio 在解决 AI 存储挑战方面的前沿技术在很大程度上推动了大语言模型( LLM )在全球范围内的成功。

“Solidigm 和 Alluxio 联合推出了高效的分布式 AI 缓存方案。通过将 Solidigm 的 D5-P5336 用作读缓存,D7-PS1010 用于 checkpoint 写入,并搭配 Alluxio 的低操作开销解决方案,我们帮助客户实现了大规模 AI 场景下成本和性能的最佳平衡。优化后的方案充分利用了Solidigm D7-PS1010 Gen5 TLC SSD 的写入带宽和 D5-P5336 Gen4 QLC SSD 的读取带宽,同时将 TLC 和 QLC SSD 的写放大系数保持在 1.02。我们希望与 Alluxio 一道持续为客户提供高效、低成本的AI 解决方案。” - Greg Matson,Solidigm 战略规划与营销高级副总裁。

Alluxio DORA 缓存架构的核心优势

在这里插入图片描述

DORA(Decentralized Object Repository Architecture 的缩写 )是 Alluxio 的新一代架构。

作为分布式缓存存储系统,DORA 具有低延迟、高吞吐量和节省成本的特点,同时旨在为 AI 工作负载提供高性能的数据访问层。

DORA 利用去中心化存储和元数据管理来提供更高的性能和可用性,以及可插拔的数据安全和治理,从而提高大规模数据访问的可扩展性和管理效率。

DORA 的架构目标:

  • 可扩展性:可扩展性是 DORA 的首要目标,旨在支持数百亿个文件,从而满足数据密集型应用(如 AI训练)的需求。
  • 高可用性:DORA的架构设计考虑了高可用性,具有99.99%的正常运行时间,并可以防止在 master 出现单点故障。
  • 性能:性能是 DORA的核心目标,它优先考虑模型训练、模型服务的速度,以及用于 AI 工作负载的GPU 利用率。

DORA 架构包含四个重要组件:服务注册( service registry )、调度器( scheduler )、客户端( client )和 worker。这些组件共同管理服务发现、分布式负载调度和数据存储等任务,同时维持整个系统的最佳性能。

NVMe 存储相关技术亮点

1. 页数据存储能够利用 SSD 的最大性能,并保持最佳的写放大系数(WAF)和耐用性

DORA 使用经严格测试的页存储模块进行缓存存储,从而可以更精细地缓存大文件上的小至中等规模的读取请求。这种可靠的页存储技术已在 Meta、Uber 和 TikTok 等应用中得到验证。DORA 的细粒度缓存使得读放大情况降低到原先的1/150,并使得文件随机读性能提高了 15 倍。

页数据存储通过日志文件系统,将数据分成两级目录,包含固定大小的大文件块。所有写操作都附加到这些文件块中,而当其中的对象文件被标记为删除时,只有在不需要这些文件时才会删除。这种设计确保了即使在使用 PCIe 5.0 TLC SSD 时也能实现最佳性能, 同时也保持 SSD 的写放大系数(WAF)为 1,从而最大限度提高 SSD 的耐用性。

例如, 当使用 QLC SSD 进行 Alluxio 读缓存时,存储引擎会充分利用 QLC 的耐用性,不会导致任何内部写放大或垃圾回收写放大,从而确保 QLC NVMe SSD 的高效运行。
在这里插入图片描述

2. 去中心化的元数据存储

DORA 将元数据传递给每个 worker,确保元数据始终可访问且可用。为了优化元数据访问,DORA 对元数据条目使用两级缓存系统。第一级缓存是内存缓存,它将元数据条目存储在内存中。此缓存具有可配置的最大容量和有效时间 ( TTL ) 设置,可设置过期时限。第二级缓存是持久化缓存,通过RocksDB 将元数据条目存储在磁盘上。持久化缓存具有无限容量,具体取决于可用磁盘空间,并且还使用基于 TTL 的缓存驱逐策略,防止主动同步或主动失效。存储的元数据类似页存储,也是基于完整的 UFS 路径的哈希值来确定分发到哪个 Dora Worker。

内存和持久化缓存的组合有助于确保元数据能够随时可用且可访问,同时还可以高效利用系统资源。元数据的去中心化避免了在元数据主要由 master 节点来管理的架构中可能出现的瓶颈。由于每个 DORA worker 节点可存储多达 3000 万至 5000 万个文件, 整个系统便可以支持拥有数百亿文件的大规模数据密集型应用。

经 Solidigm 验证, 内存元数据设计与 RocksDB 的组合提供了最佳的元数据存储解决方案。该设计充分利用了 PCIe 4.0 QLC SSD ( 读取 7GB/s,写入 3GB/s )和 PCIe 5.0 TLC SSD( 读写均为 14.5GB/s )的读写性能。此外,RocksDB 通过跳表( skiplist-based ) 写缓存将许多小的写入合并为较大的2MB 顺序写,这种方式极其高效,有助于将 SSD 写放大系数(WAF)最小化,进一步提升 SSD 的耐用性。

性能测试::Alluxio 搭配 Solidigm™ 的 D7-PS1010 和 D5-P5336

测试配置

在这里插入图片描述
在最近一项实验中( Solidigm D7-PS1010 和 D5-P5336 SSD,搭配 Intel Gen5 BNC 存储服务器 ),Alluxio 展现其在数据快速摄取以及读性能方面的优势,特别是在 GPU 扩容的情况下。部署 Alluxio 后取得的显著成效:

  • 缓存加载效率: Alluxio 缓存引擎在写入 PCIe 5.0 TLC SSD 时,能够有效跑满 UFS QLC 存储的最大读取带宽。
  • Fuse 读取测试: Alluxio 的 FUSE 框架几乎跑满单个 PCIe 5.0 SSD 的读取带宽,显示处理 NVMe SSD缓存命中时的开销极低。

为了能够快速部署,我们设置了一个单节点测试来展示 Alluxio 存储引擎的强大性能。Alluxio 的最大优势在于能够利用主机侧的分布式复制缓存,可随着 GPU 扩展并显著降低南北向存储带宽开销。即使在单节点配置下,Alluxio 也表现出超高的效率,尤其是在搭配高性能 NVMe SSD 时。在此次测试中,我们将缓存配置为使用 PCIe 5.0 TLC 或 PCIe 4.0 QLC,而底层文件存储( UFS )使用了 PCIe 4.0 QLC。
在这里插入图片描述

重要结论

  1. Alluxio 的缓存加载引擎十分高效,能够跑满 UFS QLC 的最大读取带宽,并将数据摄入到 PCIe 5.0 TLC 缓存 SSD中。即使 UFS 支持 10GB/s 的读取带宽,Alluxio 也能轻松地跑满 Solidigm D7-PS1010 9.3GB/s的写入带宽。
  2. Alluxio 的页缓存存储引擎基于 XFS 日志文件系统,并使用 Solidigm Alluxio FIO仿真器进行了严格的使用寿命测试。测试结果表明,无论使用 TLC 还是 QLC SSD,Alluxio 都能实现 1.02 的写放大(WAF )。这种接近理想的 WAF=1的效果能让 SSD 的性能和耐用性最大化,为终端用户提供最佳性能。
    在这里插入图片描述

重要结论

FUSE 的读开销极小。当执行 FUSE 读取,在 SSD 缓存上 100%缓存命中并且绕过 DRAM 页缓存时,FUSE 框架几乎可以跑满单个 PCIe 5.0 SSD 的读带宽,速度达到 14.8 GB/s。
在这里插入图片描述
对于寻求高效缓存方案的客户来说,Solidigm 的 61.44TB QLC 是理想选择。Alluxio 的存储引擎对于写放大十分友好,作为以读取为主的缓存,其写入量极少,使得 QLC 完美适配其读缓存路径。鉴于 Alluxio 的高效设计,我们可以根据 213 PB 的顺序写总量 (PBW)来估算 QLC 缓存设备的耐用性,这也意味着 Solidigm 支持写入高达 213PB 的数据。即使在 5 年周期内以 50% 的使用率(已是较高的阈值)计算,QLC 仍能支持 2900 MB/s 的写带宽,几乎达到其最大值。此外,QLC 每块 SSD 可提供高达 6GB/s 的随机读带宽,实现高性价比的 Alluxio AI 缓存系统。

Solidigm SSD 如何为 Alluxio 提供合适的存储

就读缓存而言,Solidigm D5-P5336 61.44TB QLC 提供了卓越的性能和可扩展性。对于 checkpoint 写入而言,PCIe 5.0 D7-PS1010 提供了一流的写性能。

“我们与 Solidigm 团队紧密合作,验证了将 Alluxio 分布式缓存技术与 Solidigm SSD 和 NVMe 驱动联合用于 AI 模型训练工作负载的性能优势。通过这次合作,我们进一步优化了 Alluxio,通过充分发挥 Solidigm 驱动的优势,将大规模 AI 工作负载的 I/O 吞吐量最大化。” Alluxio 工程副总裁杜璿表示,“我们期待与 Solidigm 继续开展这项重要合作,共同为我们的客户提供高性能、高成本效益的解决方案,帮助客户构建、训练和部署大规模 AI 模型。”

Alluxio 和 Solidigm 的合作成果表明,Solidigm TLC 和 QLC SSD 都能显著提升 Alluxio 的服务,同时降低运营成本。此外,Solidigm 还提高了质量和可靠性标准,并由专门的客户服务团队为 Alluxio 提供出色的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5447.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel 技巧15 - 在Excel中抠图头像,换背景色(★★)

本文讲了如何在Excel中抠图头像,换背景色。 1,如何在Excel中抠图头像,换背景色 大家都知道在PS中可以很容易抠图头像,换背景色,其实Excel中也可以抠简单的图,换背景色。 ※所用头像图片为百度搜索&#x…

JavaScript笔记基础篇03——函数

黑马程序员视频地址:黑马程序员前端JavaScript入门到精通全套视频教程https://www.bilibili.com/video/BV1Y84y1L7Nn?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes 目录 函数 函数的使用 1.函数的声明语法 2.函数的…

manim(manimgl)安装教学-win11(2024-08)

manim 目前的两种版本:★★ 稍微捋一捋【项目中的 readme.md 十分重要】 manimgl 是 Grant Sanderson(YouTube频道 3Blue1Brown的作者)等人开发。 现在为 manimgl,在维护中。 manimCE 是2020年后的 manim 分支 manim community e…

常见Arthas命令与实践

Arthas 官网:https://arthas.aliyun.com/doc/,官方文档对 Arthas 的每个命令都做出了介绍和解释,并且还有在线教程,方便学习和熟悉命令。 Arthas Idea 的 IDEA 插件。 这是一款能快速生成 Arthas命令的插件,可快速生成…

DS18B20温度传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.工作时序 3.工作原理:复位脉冲与应答脉冲 4.工作原理:写时序 5.工作原理:读时序 6.工作原理:DS18B20读取的数据格式 7.工作原理:DS18B20配置步骤 三、程序设计 ma…

Chrome远程桌面无法连接怎么解决?

Chrome远程桌面连接已停止工作 Chrome远程桌面是一款极为便捷的浏览器插件,能够帮助用户将自己的计算机连接到其他设备,无论是手机、平板电脑还是其他电脑。然而,在实际使用中,许多用户可能会面临各种各样的问题,比如…

靠右行驶数学建模分析(2014MCM美赛A题)

笔记 题目 要求分析: 比较规则的性能,分为light和heavy两种情况,性能指的是 a.流量与安全 b. 速度限制等分析左侧驾驶分析智能系统 论文 参考论文 两类规则分析 靠右行驶(第一条)2. 无限制(去掉了第一条…

如何实现亿级用户在线状态统计?

亿级用户在线场景分析与解决方案 目录 亿级用户在线场景分析解决方案 2.1 基于总数的统计方案2.2 基于具体用户详情的统计方案 具体实现 3.1 基于总数的统计方案3.2 基于用户标识的统计实现3.3 Spring Boot 中的实现 总结 1. 亿级用户在线场景分析 以 QQ 在线状态统计为例&am…

多线程杂谈:惊群现象、CAS、安全的单例

引言 本文是一篇杂谈,帮助大家了解多线程可能会出现的面试题。 目录 引言 惊群现象 结合条件变量 CAS原子操作(cmp & swap) 线程控制:两个线程交替打印奇偶数 智能指针线程安全 单例模式线程安全 最简单的单例&…

sql实战解析-sum()over(partition by xx order by xx)

该窗口函数功能 sum( c )over( partition by a order by b) 按照一定规则汇总c的值,具体规则为以a分组,每组内按照b进行排序,汇总第一行至当前行的c的加和值。 从简单开始一步一步讲, 1、sum( )over( ) 对所有行进行求和 2、sum(…

你还在用idea吗

从VIM、Emacs,到eclipse、Jetbrains, 再到VSCode,过去的三十年时间,出现了这三代IDE产品。现在属于AI的时代来了,最新一代的产品像Cursor、Windsurf,就在昨天,字节跳动发布了最新的IDE,就叫Trae…

Unity新版InputSystem短按与长按,改键的实现

目录 前言: 一、InputSystem简介 1.安装InputSystem包 2.创建配置文件 3.创建自定义的Actions 二、自定义输入类 三、改键 四、全代码 前言: 新版inputsystem是Unity推出的一种新的输入方式,它将设备与行为进行分离,通过…

Android AutoMotive --CarService

1、AAOS概述 Android AutoMotive OS是谷歌针对车机使用场景打造的操作系统,它是基于现有Android系统的基础上增加了新特性,最主要的就是增加了CarService(汽车服务)模块。我们很容易把Android AutoMotive和Android Auto搞混&…

AWTK-WEB 快速入门(3) - C 语言 Http 应用程序

AWTK-WEB 快速入门 - C 语言 Http 应用程序 XMLHttpRequest 改变了 Web 应用程序与服务器交换数据的方式,fetch 是 XMLHttpRequest 继任者,具有更简洁的语法和更好的 Promise 集成。本文介绍一下如何使用 C 语言开发 AWTK-WEB 应用程序,并用 …

WPF1-从最简单的xaml开始

1. 最简单的WPF应用 1.1. App.config1.2. App.xaml 和 App.xaml.cs1.3. MainWindow.xaml 和 MainWindow.xaml.cs 2. 正式开始分析 2.1. 声明即定义2.2. 命名空间 2.2.1. xaml的Property和Attribute2.2.2. xaml中命名空间2.2.3. partial关键字 学习WPF,肯定要先学…

C#与AI的共同发展

C#与人工智能(AI)的共同发展反映了编程语言随着技术进步而演变,以适应新的挑战和需要。自2000年微软推出C#以来,这门语言经历了多次迭代,不仅成为了.NET平台的主要编程语言之一,还逐渐成为构建各种类型应用程序的强大工具。随着时…

图解Git——分布式Git《Pro Git》

分布式工作流程 Centralized Workflow(集中式工作流) 所有开发者都与同一个中央仓库同步代码,每个人通过拉取、提交来合作。如果两个开发者同时修改了相同的文件,后一个开发者必须在推送之前合并其他人的更改。 Integration-Mana…

2025年最新汽车零部件企业销售项目管理解决方案

在汽车零部件企业,销售项目管理的不规范和销售预测的不准确性常导致生产计划无法及时调整,因此客户关系常常中断,导致企业业务机会的丧失。为解决该问题,企业需要投入更多资源以优化销售流程与销售预测。 1、360多维立体客户视图…

vscode导入模块不显示类型注解

目录结构: utils.py: import random def select_Jrandom(i:int, m:int) -> int:"""随机选择一个不等于 i 的整数"""j iwhile j i:j int(random.uniform(0, m))return jdef clip_alpha(alpha_j:float, H:float, L:f…

【Elasticsearch】 Ingest Pipeline `processors`属性详解

在Elasticsearch中,Ingest Pipeline 的 processors 属性是一个数组,包含一个或多个处理器(processors)。每个处理器定义了一个数据处理步骤,可以在数据索引之前对数据进行预处理或富化。以下是对 processors 属性中常见…