当前位置: 首页 > news >正文

基于CXL内存的热数据检测技术解读

引言:随着数据量的爆炸式增长和计算任务的日益复杂,计算机系统对内存的性能和容量提出了更高要求。Compute Express Link(CXL)技术应运而生,它通过构建分层内存架构,将不同性能的内存整合在一起,为提升系统整体性能提供了新的解决方案。在CXL内存的应用场景中,热数据检测成为优化内存性能的关键环节。

图片

扩展解读:

  • 下一代分层存储方案:CXL SSD

  • 2025年CXL强势启航:开启内存扩展新时代

  • CXL与近内存计算结合,会发生什么?

  • 当CXL遇到NVMe,计算存储会发生什么?

  • CXL:拯救NVMe SSD缓存不足设计难题

  • 如何利用CXL技术突破内存墙?

  • 学术前沿|专为CXL SSD设计的文件系统

  • CXL分离式内存系统方案实践


1. CXL分层内存架构概述

CXL分层内存架构包含多个性能不同的内存层级,通常上层是高性能的主内存(如DRAM),下层是容量更大但性能稍逊的CXL内存。这种架构下,一个内存地址空间涵盖多个层级,数据在不同层级的合理放置对系统性能至关重要。数据的“热度”(即访问频率)决定了其在分层内存中的最佳位置,热数据应放置在高性能层级以减少访问延迟,冷数据则可迁移至低性能层级以释放高性能内存资源。

图片

在识别应用程序工作集时,需要追踪应用程序的内存访问情况来判断数据热度。操作系统层面有多种方法辅助数据布局优化,例如NUMA(非统一内存访问)平衡技术,它通过将数据放置在与线程调度节点相近的位置,或者根据数据位置调度线程,减少数据访问延迟。还有基于页错误(Fault-based detection of access)和最近最少使用(LRU-based demotion of pages)算法的页面管理策略,用于检测页面访问并将冷页面迁移至较慢层级,同时将热页面迁移至更快层级。

2. 当前操作系统层面数据放置策略剖析

Linux内核当前的实现包含多种数据放置技术。NUMA平衡旨在使数据靠近线程调度节点,或者让线程在数据所在节点运行,减少数据传输开销。基于页错误的检测方式通过统计页错误频率估计页面热度,页错误频率高的页面可能是热页面,系统会尝试将其迁移至更快层级;而LRU算法则用于识别冷页面,将其迁移至较慢层级。

图片

以YCSB工作负载实验为例,在同一节点上运行RedisServer和客户端,使用128GB本地DRAM(延迟115ns)和128GB本地CXL内存(延迟245ns)。通过调整内核内存预留来控制CXL内存使用,实验发现每减少5GB本地DRAM,系统性能会下降4%-6%,且没有性能曲线变平的迹象,这表明更精确的热度监测对性能提升有巨大潜力。此外,基于热度的页面提升策略相较于常规NUMA策略,能使事务处理速率提高约2%(在预留235GB内存的情况下)。

图片

3. 现有热数据检测方法的局限性

现有的热数据检测方法存在一些缺陷。在处理器端进行采样并不完美,基于页错误的追踪方式开销较大,因为频繁的页错误处理会占用大量系统资源。基于性能计数器(如PEBS/IBS)的追踪无法涵盖所有内存访问,缓存流量(如预读/回写操作)未被计入,这可能导致对数据热度的误判,影响内存层级间的数据迁移决策,降低系统整体性能。

4. CMS/OCP热数据检测方案解析

为解决上述问题,Open Compute Project(OCP)的Composable Memory System(CMS)子组提出为CXL内存添加热度追踪扩展。该方案在CXL内存设备中集成热度追踪组件,由主机配置内存监测参数,内存设备监测到的热页面信息会反馈给主机。

图片

其操作流程分为四个步骤:

  • 首先,进行粗粒度监测,快速定位内存中访问频繁的区域;

  • 接着,在这些区域内进行细粒度监测,精确识别热页面池;

  • 然后,主机根据这些信息将一个或多个热页面迁移至合适层级;

  • 最后,已迁移的页面从热页面池中移除。

通过这种方式,系统能更及时、准确地将热数据迁移至高性能内存层级,提升系统性能。

图片

在确定合适的活跃区域数量时,通过对cachebench工作负载使用QEMU进行基于追踪的分析发现:若要检测访问次数最多的页面,使用最少的页面提升操作达到特定访问覆盖率时,由于访问可能分布在半连续的页面范围,减少监测槽数量虽能达到相同访问覆盖率,但会增加页面迁移次数。例如,要覆盖75%的访问,平均需要3.06个监测槽(在特定条件下),这表明需要多个独立的监测范围才能识别大部分热页面。可以考虑构建一个范围树,对整个内存进行持续粗粒度监测,以便选择热区域并深入分析。

图片

图片

5. 其他热数据检测技术探讨

除了CMS/OCP方案,还有其他有前景的热数据检测技术。Intel® Flat Memory Mode提供基于缓存行粒度的硬件管理分层支持,在虚拟化环境中能更精细地管理内存层级,提升内存性能。还有基于哈希的技术,通过在设备端使用哈希算法识别热页面,与基于区域的追踪方式不同,这种方法从另一个角度为热数据检测提供了解决思路,在特定场景下可能具有更高的效率和准确性。

在CXL内存作为较慢层级的系统中,准确识别热页面对于提升系统性能至关重要。基于区域的热页面追踪在CXL内存设备上能以有限资源实现较好的覆盖效果,但其他技术如Intel的硬件管理分层和基于哈希的技术也展现出各自的优势。

未来,随着技术的不断发展,多种热数据检测技术可能会相互融合,形成更高效、智能的内存管理方案。同时,硬件和软件层面的协同优化也将是提升CXL内存性能的关键方向,有望在大数据、人工智能等对内存性能要求极高的领域取得更好的应用效果。

参考文献:FMS 2024-《Hot Data Detection for CXL Memory》

如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • 学术前沿|专为CXL SSD设计的文件系统

  • 2025伊始,PCIe 7.0的脚步更近了

  • 存储随笔2024年度技术分享总结

  • 浅析下一代NAND接口新特性SCA

  • 2025年CXL强势启航:开启内存扩展新时代

  • PCIe SSD在温变环境的稳健性技术剖析

  • DWPD指标:为何不再适用于大容量SSD?

  • 突破内存墙:DRAM的过去、现在与未来

  • E1.S接口如何解决SSD过热问题?

  • ZNS SSD是不是持久缓存的理想选择?

  • 存储正式迈入超大容量SSD时代!

  • FMS 2024: 带来哪些存储技术亮点?

  • IEEE报告解读:存储技术发展趋势分析

  • PCIe P2P DMA全景解读

  • 深度解读NVMe计算存储协议

  • 浅析不同NAND架构的差异与影响

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

相关文章:

  • SpringCloud面试题----如何保证 Spring Cloud 微服务的安全性
  • 【MySQL】数据库基础知识
  • 数据库脚本MySQL8转MySQL5
  • 基于角色访问控制的UML 表示02
  • 【Python】函数
  • Java八股文详细文档.2(基于黑马、ChatGPT、DeepSeek)
  • springboot与springcloud对应版本
  • 【Java学习】类和对象
  • qt QRadioButton 总结
  • C++11新特性之别名模版
  • Python--网络编程
  • 【C++前缀和】1906. 查询差绝对值的最小值|2146
  • DeepSeek-R1-Distill-Qwen-1.5B模型的深度解析
  • Vue.js 组件 - 自定义事件
  • 当通用智能遇到深度推理:如何正确驾驭DeepSeek-V3与R1?
  • 解决Windows11复制文件到桌面会跑左上角第2个位置导致桌面图标位置错乱问题
  • 算法11-分治算法
  • C++字符串处理指南:从基础操作到性能优化——基于std::string的全面解析
  • 数据结构与算法之排序算法-归并排序
  • 节目选择器安卓软件编写(针对老年人)
  • 明查| 新一代AI诊疗系统可3秒筛查13种癌症?没有证据
  • 日月谭天丨这轮中美关税会谈让台湾社会看清了什么?
  • 中东睿评|特朗普中东三国行:喧嚣的形式与空洞的实质
  • 美国务卿鲁比奥将前往土耳其参加俄乌会谈
  • 巴西总统卢拉昨晚抵达北京
  • 非洲雕刻艺术有着怎样的“变形之美”