Nomad:基于事务性页迁移的非排他性内存分层
操作系统
2024-06-19 v2
摘要
随着字节可寻址内存设备(如 CXL 内存、持久内存和存储级内存)的出现,分层内存系统已成为现实。页迁移是操作系统中管理分层内存的事实标准方法。其目标是在可能的情况下将热数据移入快速内存以优化数据访问性能,同时使用慢速内存来容纳从快速内存溢出的数据。尽管现有研究已经展示了各种页迁移优化的有效性,但未能解决一个根本性问题:排他性内存分层(即一个页要么存在于快速内存中,要么存在于慢速内存中,但不能同时存在于两者中)是否是分层内存管理的最佳策略?我们证明,当快速内存面临压力时,基于页迁移的排他性内存分层会导致显著的性能下降。在本文中,我们提出了非排他性内存分层,这是一种页管理策略,它保留最近从慢速内存提升到快速内存的页的副本,以缓解内存抖动。为实现非排他性内存分层,我们开发了 Nomad,一种新的 Linux 页管理机制,具有事务性页迁移和页阴影特性。Nomad 有助于将页迁移从程序执行的关键路径中移除,并使迁移完全异步。使用精心设计的微基准测试和真实世界应用的评估表明,在内存压力下,Nomad 的性能比 Linux 中最先进的透明页放置 (TPP) 方法高出 6 倍。我们还将 Nomad 与最近提出的一种基于硬件辅助和访问采样的页迁移方法进行了比较,并展示了 Nomad 在各种场景下的优势和潜在弱点。
引用
@article{arxiv.2401.13154,
title = {Nomad: Non-Exclusive Memory Tiering via Transactional Page Migration},
author = {Lingfeng Xiang and Zhen Lin and Weishu Deng and Hui Lu and Jia Rao and Yifan Yuan and Ren Wang},
journal= {arXiv preprint arXiv:2401.13154},
year = {2024}
}