基于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版正式发布!