问题意识
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. 性能局限性:
- • 向量数据库倾向于使用内存中的数据结构以获得快速响应时间,但通常扩展性较差。
- 2. 计算瓶颈:
- • X86 架构 CPU 在处理高维向量操作时,难以提供足够的计算能力。
- 3. 存储限制:
- • 在 GPU 上存储向量数据是不切实际的,原因在于显存(VRAM)有限且昂贵。
例子2:Scale-out Data Analytics(扩展型数据分析):
- 1. 内存不足问题:
- • 内存不足(OOM)和磁盘溢出(disk spill)是困扰数据分析师的主要问题。
- 2. 计算资源过剩:
- • 超算中用于科学计算的 CPU 常被用于简单整数或字符串处理,这种用途显得过于强大(浪费资源)。
- 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. 硬件亮点:
- • 具备强大的计算能力(RISC-V 核心和矢量引擎),支持 1TB DDR5 内存扩展和 SSD 支持的 CXL 存储。
- • 支持最新的 CXL 3.0 协议,具有高性能和缓存一致性管理。
- 2. 软件框架:
- • 为开发者提供了从底层到高级应用的完整支持。
- • 分层 API 设计满足不同抽象层次的开发需求,包括数据加速、并行计算和设备管理。
- 3. 应用场景:
- • 适用于大规模数据处理、SQL 加速、图计算和矢量计算等场景。
- • 提供软硬结合的解决方案,用于优化大数据和 AI 工作负载。
- 4. 时间节点:
- • 计划于 2025 年第 2 季度 推出,标志着 CXL 技术在计算和数据处理领域的重要进步。
Take Away(总结)
1. MetisX的产品之前整理过一篇文章,创始人非常年轻,参考推荐阅读。材料的问题意识和场景靶向都非常清晰,整理的过程思路是完全顺下来的。
2. 从计算架构与当前热点场景之间的GAP谈起,定位到内存扩展和专用计算的需求,实现内存扩展并非只有Switch通道,还可以考虑近存计算。