分享自:

使用CXL启用的SSD克服内存墙

期刊:2023 USENIX Annual Technical Conference

本文由Shao-Peng Yang(雪城大学)、Minjae Kim(DGIST)、Sanghyun Nam(首尔大学)、Juhyung Park(DGIST)、Jin-Yong Choi和Eyee Hyun Nam(FADU Inc.)、Eunji Lee(首尔大学)、Sungjin Lee(DGIST)以及Bryan S. Kim(雪城大学)共同撰写,发表于2023年7月10日至12日在美国波士顿举行的USENIX年度技术会议(USENIX Annual Technical Conference 2023)上。该研究探讨了如何利用新型互连技术(如CXL,Compute Express Link)和廉价的闪存(Flash Memory)来克服计算机系统中的“内存墙”(Memory Wall)问题。

研究背景与动机

随着计算能力的快速增长,内存容量的需求也在急剧增加,尤其是在自然语言处理(NLP)、数据库、数据分析和机器学习等数据密集型应用中。然而,内存容量的增长速度远远落后于计算能力的提升,导致了所谓的“内存墙”问题。内存墙限制了现代数据密集型应用的性能,迫使这些应用要么优化内存使用,要么通过用户级内存管理来避免昂贵的页面交换操作。

为了解决这一问题,研究者们提出了多种方法,包括创建以机器学习为中心的系统、构建内存解聚合框架以及设计新的内存架构。本文则提出了一种新的思路:利用闪存作为主内存,通过CXL等新型互连技术来扩展内存容量。闪存具有高密度和大容量的优势,但其性能(尤其是延迟)和寿命(写入次数限制)是主要挑战。本文通过探索CXL闪存设备的设计空间,提出了一系列优化技术,如缓存和预取,以缓解这些挑战。

研究方法与流程

本文的研究流程包括以下几个主要步骤:

  1. 物理内存访问跟踪工具的开发:为了理解CPU与CXL设备之间的物理内存访问行为,研究者开发了一个基于页面故障事件的物理内存跟踪工具。该工具结合了Valgrind的内存跟踪功能和内核的页面故障事件信息,能够生成物理内存访问轨迹。

  2. CXL闪存模拟器的构建:研究者基于MQSim和MQSim-E构建了一个CXL闪存模拟器,用于评估不同硬件设计和优化策略的效果。模拟器通过物理内存访问轨迹来模拟CXL闪存的行为。

  3. 设计空间探索:研究者通过合成工作负载和真实应用的工作负载,探索了CXL闪存的设计空间,包括缓存、预取、闪存技术和并行性等方面。具体来说,他们研究了以下问题:

    • 缓存对性能的提升效果;
    • 如何有效减少闪存流量;
    • 预取技术对隐藏闪存延迟的效果;
    • 不同闪存技术和并行性对CXL闪存性能的影响。
  4. 缓存替换策略和预取策略的评估:在真实应用的工作负载下,研究者评估了多种缓存替换策略(如FIFO、LRU、CFLRU等)和预取策略(如Next-N-Line、Feedback-Directed、Best-Offset等),并分析了它们对CXL闪存性能和寿命的影响。

主要研究结果

通过实验,研究者得出了以下主要结论:

  1. 缓存和预取的有效性:缓存可以显著减少闪存流量并提升性能,但仅靠缓存无法完全隐藏闪存的长延迟。预取技术可以进一步提升性能,但其效果依赖于工作负载的特性。对于具有高空间局部性的工作负载,预取技术能够显著提高缓存命中率。

  2. 闪存技术的选择:超低延迟(ULL)和单层单元(SLC)闪存的性能差异较小,而多层单元(MLC)和三层单元(TLC)闪存在性能和寿命方面表现较差。因此,ULL和SLC闪存更适合用于CXL闪存设备。

  3. CXL闪存的寿命:在真实应用的工作负载下,CXL闪存的寿命至少为3.1年,且在某些工作负载下可达数百年。这表明CXL闪存具有足够的耐久性来应对内存密集型应用的写入需求。

  4. 虚拟到物理地址转换的挑战:虚拟到物理地址的转换使得预取器难以有效预测内存访问模式。为了解决这一问题,研究者建议通过内核传递内存访问模式提示来进一步提升CXL闪存的性能。

研究的科学价值与应用价值

本文的研究具有重要的科学价值和应用价值。首先,它为克服内存墙问题提供了一种新的解决方案,即通过CXL闪存扩展内存容量。其次,本文提出的缓存和预取优化策略为未来CXL闪存设备的设计提供了重要的参考。此外,本文开发的物理内存跟踪工具和CXL闪存模拟器为后续研究提供了基础平台。

研究亮点

本文的研究亮点包括: 1. 首次开源了CXL闪存设备的详细设计研究,并评估了现有优化技术的有效性。 2. 提出了通过内核传递内存访问模式提示的方法,以进一步提升CXL闪存的性能。 3. 通过真实应用的工作负载验证了CXL闪存的可行性和耐久性,表明其在内存密集型应用中的潜力。

结论

本文通过探索CXL闪存设备的设计空间,提出了一系列优化技术,并验证了其在真实应用中的有效性。研究表明,CXL闪存能够在68-91%的内存请求中实现亚微秒级的延迟,并且具有至少3.1年的寿命。尽管虚拟到物理地址转换对预取器的有效性提出了挑战,但通过内核传递内存访问模式提示可以进一步提升性能。未来的研究可以在此基础上进一步优化CXL闪存的设计,以应对更复杂的内存密集型应用需求。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com