前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Xconn:CXL 2.0 交换机实现内存共享

Xconn:CXL 2.0 交换机实现内存共享

作者头像
数据存储前沿技术
发布2025-02-11 19:40:51
发布2025-02-11 19:40:51
6850
举报

全文概览

本文介绍了Xconn Technologies公司开发的基于Compute Express Link (CXL) 2.0标准的交换机,旨在实现数据中心内可组合内存系统的高效管理与资源共享。

该CXL 2.0 Switch支持内存池化和共享功能,通过其标准化的Fabric Manager架构,实现了低延迟、高带宽(总带宽达2,048 GB/s)和低功耗的设计目标。详细讨论了CXL 2.0技术相较于CXL 1.1的主要改进,包括跨多个节点的支持、内存资源的动态分配以及对热插拔功能的增强。此外,还探讨了CXL 2.0 Switch在Linux生态系统中的应用,强调了其对于促进数据中心中高性能计算和存储解决方案的重要性。通过展示实际案例和性能测试结果,验证了CXL 2.0技术在提升数据中心运营效率方面的潜力,并对未来的技术发展和行业合作方向提出了展望。

图片高度凝练 移动数据-广域网-数据中心-服务器机架-节点/服务器-SoC 的架构层次,是现代信息系统的基础组成,CXL 技术主要服务于节点/服务器之间的数据(DRAM 内存)互联。

图右说明了 基于CXL 交换机可实现的两种内存共享模式:1. 单设备直通挂载给主机;2. 多设备池化共享给多主机。


CXL 交换机互联价值

  1. 使用CXL交换机的优势(图左):
    • 提供标准化的Fabric管理,使多个主机能够高效共享和管理内存池。
    • 更适合复杂的多主机、多设备场景,具有更好的可扩展性和管理性。
  2. 直接连接的优势和局限(图右):
    • 主机直接通过CXL通道连接多个逻辑设备,减少中间设备延迟。
    • 但随着设备数量增加,管理复杂度和连接资源需求会急剧上升。

这张图展示了两种不同的CXL 2.0内存池化方法的设计和应用场景,交换机的使用在可扩展性和集中管理方面具有明显优势。


Xconn CXL 2.0 交换机

XConn的CXL 2.0交换芯片(XC50256)是全球首款兼容CXL 2.0和PCIe 5.0的解决方案,具备以下优势:

  1. 性能卓越提供高达2,048 GB/s的带宽和低延迟,适用于高性能计算场景。
  2. 节能设计每端口功耗极低,并优化了PCB面积,从而降低系统成本(TCO)。
  3. 多功能性支持内存扩展、池化和共享,同时兼容CXL和PCIe的混合模式,为数据中心和企业计算提供灵活性。
  4. 上市时间客户样品现已推出,计划于2024年9月正式量产。

这款产品定位为高效的CXL解决方案,适合未来数据中心和内存计算场景的需求。


数据中心Fabric 管理器

  • DCMFM(数据中心Fabric管理器) 是CXL交换机和设备的核心管理组件,通过REST API和FM Agent实现与编排器和底层设备的通信,支持高效的资源管理和故障转移能力。
  • CXL 2.0和3.0拓扑 提供了从单级到多级切换的灵活性,满足复杂的数据中心内存共享和扩展需求。
  • 技术特点 包括支持Redfish管理协议、时间敏感的操作,以及对Fabric架构的参考实现,助力实现高性能、可扩展的内存管理解决方案。

CXL 2.0 交换机 热插拔特性

  • CXL 2.0 的新特性支持热添加(hot-add)和受控热移除(managed hot-remove),允许在不关闭系统的情况下动态添加或移除内存设备。
  • 受控移除的关键点需要软件配合,通过清空缓存和下线相关页面确保安全移除。
  • 限制不支持意外移除(surprise removal),否则可能导致系统异常。
  • 兼容性基于PCIe规范定义的热插拔模型,确保了跨设备的标准化操作。
  • 应用场景该功能提高了数据中心的灵活性和可扩展性,特别是在动态内存池化和共享的使用中。

类型3设备的热添加

当设备被热添加到交换机的未绑定端口时:

  1. CXL 2.0 Switch通知Fabric Manager(FM)
    • 通过生成物理交换事件记录(Physical Switch Event Records)来通知FM。
    • 交换机通过激活“Presence Detect”边带信号并建立端口连接。
  2. Fabric Manager(FM)发送“获取物理端口状态”命令
    • FM获取已经连接的物理端口状态,以识别连接的设备类型。
  3. Fabric Manager(FM)绑定PPB到vPPB
    • 管理控制器完成PPB(Primary Platform Bus)和vPPB(Virtual Primary Platform Bus)的绑定。
  4. 绑定完成后
    • Fabric Manager需要通过“Managed Hot Add”流程通知主机,支持SLD(Single Logical Device)或PCIe设备。
  5. 在主机的Linux系统中
    • 创建CXL区域。
    • 将内存块添加到Linux内核。
    • 将内存块上线。
小结
  1. 热添加流程: CXL 2.0类型3设备的热添加涉及交换机和Fabric Manager的协作,确保设备通过“Presence Detect”被正确检测和绑定到主机。
  2. Fabric Manager的角色
    • 负责协调设备连接和绑定流程。
    • 确保通过“Managed Hot Add”流程将设备集成到系统中。
  3. Linux主机支持
    • 提供CXL区域创建、内存块添加以及内存块上线的完整支持。

该流程为数据中心提供了高效的动态内存管理能力,适用于需要灵活扩展内存和设备的场景。


类型3设备的受控移除

当设备从交换机的绑定端口受控移除时:

  1. 触发条件当“Attention Button”边带信号被激活时。
  2. 交换机通知交换机通过MSI/MSI-X中断通知Fabric Manager(FM)和主机,告知受影响的vPPB(Virtual Primary Platform Bus)并生成虚拟CXL交换事件记录。
  3. 主机移除内存块/区域主机从Linux内核中移除设备上的内存块或内存区域。
  4. 准备移除当主机准备好移除CXL设备时,将在关联的vPPB的CSR(Control and Status Register)中设置“Attention LED”位,指示CXL设备可以被物理移除。
  5. 物理移除设备移除CXL设备。
  6. 交换机通知FMCXL 2.0交换机通过生成物理交换事件记录通知Fabric Manager,同时“Presence Detect”边带信号失效,相关端口断开连接。
  7. 完成解绑过程解绑过程完成后,Fabric Manager通过受控热移除(Managed Hot Removal)流程通知主机。
小结:
  1. 受控移除流程
    • 类型3设备的受控移除包括信号触发、事件通知、内存解绑、主机准备、设备移除、交换机解绑和最终确认的完整流程。
  2. 关键组件交互
    • 交换机、Fabric Manager和主机共同参与确保设备安全移除,避免意外断连导致的不稳定行为。
  3. Linux主机支持
    • 支持从Linux内核中移除设备内存块,确保系统资源的动态管理。
  4. 高效与安全
    • 通过“Attention Button”信号和事件通知机制,实现了CXL设备移除的高效管理和系统安全性。

内存数据库的实践

  • CXL内存分配:通过动态CXL内存扩展,能够灵活分配内存资源,从而支持多主机(Host)环境下的高性能数据库应用。
    • Host 1分配了256 GB。
    • Host 2分配了更大容量(1.75 TB),以支持更高的性能需求。
  • 性能提升:Host 2在TPC-DS测试中显示出显著的性能优势,SQL处理能力(SQL/min)相比Host 1提高了32%。
  • 硬件支持:Samsung CXL Memory Module Box和XConnTech提供了基础硬件和CXL协议支持,确保系统的灵活性和扩展性。
  • 应用场景:该场景展示了CXL内存池化和按需分配在内存数据库(如SAP HANA)中的实际应用,显著提升了数据库查询性能,为高需求的企业级计算场景提供了解决方案。

Cite

CXL 共享内存落地中核心关切是时延,在另一篇 Xconn 技术报道中,提供了详细的多级扩展时延数据,参考:


CXL 内存共享应用生态

  1. 共享内存访问:CXL 2.0交换机允许多个节点直接访问共享内存,支持内存级别的直接字节寻址访问,极大提高了数据访问效率。
  2. 数据管理(Memverge GISMO):
    • 消除数据重复和数据偏差,确保多个节点共享一致性数据。
    • 支持就地数据操作,减少额外的内存拷贝需求。
  3. 高效传输:通过零拷贝和引用传递技术,显著提升了多节点系统中对象传输的性能。
  4. 应用场景:该架构适用于需要高效内存共享和一致性管理的大规模计算环境,如分布式数据库、高性能计算(HPC)和实时分析等场景。

CXL共享内存生态系统展示了通过共享内存池提高计算节点协作效率的潜力,为数据密集型应用提供了高效解决方案。

Cite

更多关于 MemVerge 内存数据管理的信息,可参考:


Linux 内核对CXL 的支持情况

  • CXL版本支持逐步升级
    • 从CXL 1.1到CXL 2.0,Linux内核功能逐步丰富,涵盖热插拔、动态内存分配、错误处理、追踪事件等关键功能。
    • CXL 3.0功能目前正在开发,新增性能监控、设备安全处理等高级功能。
  • 开发进程
    • 自Linux内核5.17版本以来,内核逐步整合了CXL相关功能,为内存池化、高性能计算和设备管理提供支持。
  • 实际应用
    • CXL 2.0的支持已经覆盖了大部分数据中心关键需求,包括动态内存管理和错误处理。
    • CXL 3.0功能的引入将进一步提升性能监控和数据安全能力。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全文概览
    • CXL 交换机互联价值
    • Xconn CXL 2.0 交换机
    • 数据中心Fabric 管理器
    • CXL 2.0 交换机 热插拔特性
    • 类型3设备的热添加
    • 类型3设备的受控移除
    • 内存数据库的实践
    • CXL 内存共享应用生态
    • Linux 内核对CXL 的支持情况
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档