Lightweight Frequency-Based Tiering for CXL Memory Systems——论文泛读

本文介绍了一种名为FreqTier的CXL存储分层系统,通过基于频率的分层策略,使用硬件计数器和计数布隆滤波器来提高数据放置准确性,同时减少内存及运行时间开销。实验结果显示,FreqTier在不同带宽的CXL设备上表现出色,优于现有系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

arXiv Paper CXL论文阅读笔记整理

问题

现代工作负载要求越来越大的内存容量。基于计算快速链路(CXL)的内存分层已成为一种很有前途的解决方案,通过在同一系统中使用传统DRAM和慢速层CXL内存设备来应对这一趋势。与本地DRAM相比,当前的CXL内存设备引入了50−100 ns的额外访问延迟[40],是本地DRAM延迟的2-5倍,同时实现了每通道20−70%的带宽[60]。

因此,常用思路是将热数据放在本地DRAM中,其余放在CXL内存中。目前的大型内存工作负载往往也表现偏斜的内存访问,例如Twitter和Meta的工作负载都遵循Zipfian分布,Meta的内容交付网络(CDN)中前20%的最热门项目占据了60%的访问[7]。

挑战

设计实用的CXL分层系统面临两个关键挑战:

  • 数据放置准确率:由于CXL内存的访问延迟更长、带宽更低,本地DRAM和CXL内存之间不准确的数据放置可能会显著降低应用程序性能。由于大多数现有的分层系统都是基于最近性的,无法准确识别热页面和冷页面,因为最近访问的页面不一定是热页面。例如,当本地DRAM容量从64GB减少到16GB时,基于最近性的系统可能会遭受高达20%的本地DRAM命中率下降。

  • 内存和运行时间开销:基于频率的系统由于跟踪大量的内存而遭受高的内存和运行时间开销。例如,以4KB页面粒度进行分层时,可能会占用4%的内存开销

本文方法

本文提出了FreqTier,用于CXL存储器的快速、准确、应用透明的基于频率的分层系统。

  • 为了准确识别热页,并在低本地DRAM容量下最大限度地提高分层性能(挑战1),采用了基于频率的分层,使用高性能硬件计数器以页粒度跟踪内存访问。

  • 为了减少内存开销(挑战2),观察到访问频率跟踪可以容忍少量的不准确,而不会降低整体应用程序性能。因此使用计数布隆滤波器(CBF)[18](一种概率数据结构)跟踪页面访问频率。CBF的主要优点是,它引入可控级别的跟踪不准确度,以实现更好的存储效率。

  • 为了减少由于页面迁移和访问采样(挑战2)导致的运行时和内存开销,采用动态方法,根据应用程序内存访问行为调整分层操作的强度。

在两个具有不同带宽的模拟CXL内存设备上评估FreqTier。在高带宽CXL设备上,FreqTier优于最先进的分层系统,同时使用4倍以下的本地DRAM内存进行内存内缓存工作负载。在GAP图分析和XGBoost工作负载(本地DRAM与CXL的内存比为1:32)上,FreqTier的性能比以前的工作负载高1.04−2.04倍(平均1.39倍)。在低带宽CXL设备上,FreqTier的平均性能也比AutoNUMA高1.14倍。

实验

实验环境:在两个插槽系统上使用远程NUMA节点来模拟CXL的性能[33,40]。每个插槽都有一个16核Intel Xeon 4314处理器和512GB DDR4内存,应用程序在本地NUMA节点的CPU上运行,用远程NUMA节点的内存模拟CXL内存。为了调整本地和CXL内存比率,使用memmap内核参数来禁用本地NUMA节点上的部分DRAM。

工作负载:

实验对比:延迟、吞吐量、本地内存命中率、执行时间

实验参数:本地和CXL内存比率、工作负载

总结

针对利用本地内存和CXL内存的分层系统,如何同时提升数据放置准确率;减少内存和运行时间开销。本文提出FreqTier,用于CXL内存的基于频率的分层系统。提出三个创新点:(1)采用了基于频率的分层,使用高性能硬件计数器以页粒度跟踪内存访问。(2)使用计数布隆滤波器(CBF)(一种概率数据结构)跟踪页面访问频率。(3)采用动态方法,根据应用程序内存访问行为调整分层操作的强度,调整页面迁移和访问采样频率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妙BOOK言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值