前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >MetisX:从CXL内存扩展到近存计算

MetisX:从CXL内存扩展到近存计算

作者头像
数据存储前沿技术
发布2025-02-11 19:10:41
发布2025-02-11 19:10:41
660
举报

问题意识

1. 需要一种新的计算机架构来解决数据处理和计算效率的问题。

2. 当前的向量数据库和CPU/GPU等硬件无法满足大规模数据的需求。

3. CXL内存扩展和解构技术可以提供更好的性能和可扩展性。

4. CXL内存可以用于近内存处理和加速数据处理。

MetisX:从CXL内存扩展到近存计算-Fig-1

未来十年将迎来计算机体系结构的“寒武纪大爆发”,这对学术界和工业界的计算机架构师来说是令人兴奋的时代。 --John L. Hennessy and David A. Patterson

关于 Hennessy 和 Patterson

Hennessy 和 Patterson 是计算机科学领域的奠基者和领军人物,他们的理论和实践直接推动了现代计算技术的飞速发展。

  • • RISC 的奠基人: 他们共同开创了精简指令集计算的研究,这种设计原则显著提高了计算机的性能和能效,被广泛应用于现代处理器中。
  • • 教育和出版: 两人合著的经典教材,如《Computer Architecture: A Quantitative Approach》,奠定了无数计算机科学家的知识基础。
  • • 图灵奖得主: 2017年获得图灵奖,以表彰其改变计算机设计的贡献。

图示不同领域专用计算设备。

为什么需要专用计算?

MetisX:从CXL内存扩展到近存计算-Fig-2

Scale-Out 扩展限制

Scale-Out 定律面临海量数据集扩展,因‘数据重力’造成效率下降,需要重新思考 Scale-Up 的可能性。

  • • 由于数据在卡、服务器、机架甚至数据中心之间移动,导致 GPU/CPU 利用率较低
  • • 通过复杂的网络和存储拓扑扩展硬件,以满足不断增长的计算和/或内存需求。
  • • 增加更多节点使得线性性能增长变得越来越困难,因为当数据分布在多个节点上时,最终需要再次汇总。

左下图示意GPU中的数据通信机制,包括 All-to-All、All-Gather 和 All-Reduce 的通信模式

右下图示意大数据计算框架Spark体系中 Shuffle 过程的数据通道,含大量数据归集操作。

All-to-All、All-Gather 和 All-Reduce 通信机制对比

除了计算架构上的限制,AI 训练、推理(查询)等新场景对数据实时处理的需求不断增加。

MetisX:从CXL内存扩展到近存计算-Fig-3

用于 RAG 的向量数据库

1. 向量数据库 (Vector Databases):
  • • 明确的外部存储,用于检索(Explicit External Memory for Retrieval)。
  • • 支持新数据和私有数据(New Data, Your Private Data)。
  • • 帮助在 LLM(大型语言模型)的生成中查找并增强相关文档(Find and Augment Relevant Documents on LLM Generation)。

2. 内存需求 (Memory Requirements):
  • • 向量大小:FP32 × 4K 维度 × 1000 万块数据片段 = 150GB (参考:Wikipedia:600 万页,800 万数据片段)。
  • • 需要额外存储元数据(Meta Data)、关键列(Key Columns)和文档(Documents)。

3. 计算需求 (Compute Requirements):
  • • Cosine Distance(余弦距离):只需数 TFLOPS 的计算能力(不需要达到 100 TFLOPS 的级别)。
  • • 在业务环境中不能牺牲精度:涉及医疗、法律、金融和军事等领域。
  • • 支持过滤功能,例如处理空值、元数据和复杂条件。
  • • 提供数据库级别的添加、删除、更新和数据治理(Data Governance)。

Note: 向量数据库作为数据大脑,其系统框架对计算的需求并不高,对存储的要求比较高。

对计算系统的要求:

  • • 更大的内存(Bigger Memory)。
  • • 透明的、缓存一致的内存(Transparent, Cache Coherent Memory)。
  • • 支持 FP 向量与常规数据库查询处理结合(FP Vector + General DB Query Processing)。

实现数据智能过程中,会遇到哪些产业挑战?

MetisX:从CXL内存扩展到近存计算-Fig-4

1. 数据处理中的挑战:
  • • 向 ML/AI 模型提供高质量数据是关键,但如果数据质量低(“garbage in, garbage out”),模型结果也会低质。
  • • 大规模集群中需要处理 TB 级数据,包括日志文件(LOG files)、评论(Comments)、点赞(Likes)等。
  • • 节点间数据移动涉及:
    • • 数据(解)压缩((De-)compression)。
    • • 数据(解)序列化((De-)serialization)。
    • • OOM(内存不足)或磁盘溢出(disk spill)。
    • • 快照和故障切换(snapshot/failover)。
2. 关键优化方向:
  • • 更大的透明一致内存(Bigger/Transparent/Coherent Memory)。
  • • 查询处理与整数操作结合(字符串处理、压缩、编码/解码) (Query Processing + Integer Operations (Strings, Compression, Encode/Decode))。

图示为AI/大数据数据流。

MetisX:从CXL内存扩展到近存计算-Fig-5

当数据量不断增加....

当数据量增加时,你需要更多的内存和计算能力

但增加更多节点不起作用,也不高效。

例子1:Vector Databases(向量数据库):
  1. 1. 性能局限性:
    • • 向量数据库倾向于使用内存中的数据结构以获得快速响应时间,但通常扩展性较差。
  2. 2. 计算瓶颈:
    • • X86 架构 CPU 在处理高维向量操作时,难以提供足够的计算能力。
  3. 3. 存储限制:
    • • 在 GPU 上存储向量数据是不切实际的,原因在于显存(VRAM)有限且昂贵。
例子2:Scale-out Data Analytics(扩展型数据分析):
  1. 1. 内存不足问题:
    • • 内存不足(OOM)和磁盘溢出(disk spill)是困扰数据分析师的主要问题。
  2. 2. 计算资源过剩:
    • • 超算中用于科学计算的 CPU 常被用于简单整数或字符串处理,这种用途显得过于强大(浪费资源)。
  3. 3. GPU 功能浪费:
    • • 在 SQL 处理期间,GPU 上的 Tensor Cores 基本处于闲置状态,成为未充分利用的昂贵硅资源。

当前单纯依赖增加节点并不能有效解决大数据处理的瓶颈,建议转向更高效、更具针对性的领域专用硬件和系统设计。

CXL 内存扩展与解耦

MetisX:从CXL内存扩展到近存计算-Fig-6

1. Memory Expansion(内存扩展):
  • • 直接附加到机箱中(Direct Attached in the Chassis)。
  • • 支持高达 10TB 的 DRAM。
2. Memory Disaggregation(内存解耦):
  • • 通过交换机扩展(Expand with Switch(es))。
  • • 机架级资源池化/共享(Rack-scale Pooling / Sharing)。
  • • 点对点访问(Peer-to-Peer Access),例如通过 UIO 或 .mem。
3. Compute(计算):
  • • 更多数据、更高延迟 -> 性能问题?
  • • 从远程内存进行加载/存储操作会消耗时间和功率。
  • • 随着数据增长,这种方式最终可能难以应对(业界目前CXL远程内存的时延和带宽都非常关注)。
4. CXL Memory Utilization(CXL 内存利用):
  • • A: 原始内存带宽(Raw memory bandwidth)。
  • • B: CXL 带宽(CXL bandwidth)。
  • • A >> B: 原始内存带宽远高于 CXL 带宽。

Note:MetisX 关注到基于Switch很难满足实时计算场景的带宽和时延需求,进而提出近存计算的设想。当然Switch扩展内存并非没有落地的可能,但要做好冷热内存数据的识别和分层,将Switch内存作为后端内存。

MetisX:从CXL内存扩展到近存计算-Fig-7

近存计算 ?

即将推出的 CXL 计算内存 的硬件与软件设计特点:

  1. 1. 硬件亮点:
    • • 具备强大的计算能力(RISC-V 核心和矢量引擎),支持 1TB DDR5 内存扩展和 SSD 支持的 CXL 存储。
    • • 支持最新的 CXL 3.0 协议,具有高性能和缓存一致性管理。
  2. 2. 软件框架:
    • • 为开发者提供了从底层到高级应用的完整支持。
    • • 分层 API 设计满足不同抽象层次的开发需求,包括数据加速、并行计算和设备管理。
  3. 3. 应用场景:
    • • 适用于大规模数据处理、SQL 加速、图计算和矢量计算等场景。
    • • 提供软硬结合的解决方案,用于优化大数据和 AI 工作负载。
  4. 4. 时间节点:
    • • 计划于 2025 年第 2 季度 推出,标志着 CXL 技术在计算和数据处理领域的重要进步。

Take Away(总结)

1. MetisX的产品之前整理过一篇文章,创始人非常年轻,参考推荐阅读。材料的问题意识和场景靶向都非常清晰,整理的过程思路是完全顺下来的。

2. 从计算架构与当前热点场景之间的GAP谈起,定位到内存扩展和专用计算的需求,实现内存扩展并非只有Switch通道,还可以考虑近存计算。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题意识
    • Scale-Out 扩展限制
      • 用于 RAG 的向量数据库
    • CXL 内存扩展与解耦
      • 近存计算 ?
    • Take Away(总结)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档