OSDI24-Nomad: Non-Exclusive Memory Tiering via Transactional Page Migration

OSDI24-Nomad: Non-Exclusive Memory Tiering via Transactional Page Migration

yyi
yyi
2024-09-14 / 0 评论 / 27 阅读 / 正在检测是否收录...

Words

advent n. 出现

accommodate v. 容纳、使适应;顾及;帮助;迎合;调解

demonstrate v. 证明

thrashing n. 击败, v. 抽打,这里应该是抖动的意思。

recency v. 新进,崭新。

facilitate v. 促进、推动

Background

分层内存系统效果比较好、现有方案通过页面迁移管理分层内存,把Hot数据放在快速内存、把溢出的Cold内存放在低速内存。

在Fast memory under pressure时,性能下降很厉害,页面是独占的,即要么在快速内存,要么在慢速内存,通过迁移来交换。

页面迁移总是会发生在程序的关键路径上。导致用户感知带宽降低。


作者首先测试了TPP及其Baseline(不分级,完全使用慢速内存)的性能,证明了TPP发生迁移的时候会严重影响内存性能,在WSS过大时更加显著的拖慢性能。

image.png

TPP认为慢速内存中的页面不可以访问,并在page fault时决定是否提升

Novelty

提出一种非独占的页面迁移机制,保留最近从慢内存迁移到快内存的副本,并使得迁移异步。换句话说,我认为这可能是用低速内存空间换页面迁移时间的方法。

Achievement

在抖动的前提下,达到SoTA的6倍性能,在不抖动时也相较于Memtis快130%.

更进一步的描述成果:

Hot数据 < 高速内存 : 预热时Nomad接近Memtis,优于TPP、稳定时Nomad与TPP相近(无论读写)

Hot数据 = 高速内存: 预热时Nomad接近Memtis,优于TPP、稳定时Nomad显著超过TPP,但是写时可能会不如Memtis

Hot数据 > 高速内存:预热时Nomad虽然劣于Memtis,但是仍然可以超过TPP,稳定时读性能显著超过Nomad,写时不如Memtis

Design

首先核心思想就是Novelty中所提到的那样,使得即使是在使用分层内存的前提下,也可以同时在高低速缓存中同时保存副本(也就是传统Cache“包含”的关系)

整体设计思路还是比较清晰,在不破坏现有的页面迁移决策的基础上,异步的在可能得情况下对应该进行迁移的页面进行迁移。并且极大的缩短迁移时用户被页面错误阻断的时间。

当页面downgrade时,由于低速内存保留了原来的副本,如果PTE显示页面未被dirty,则直接remap即可,不需要进行一次多余的Copy

当页面upgrade时,系统仍然保留原有低速内存的页表,所以用户进程就可以直接访问低速内存,同时Copy页面到高速内存,如果拷贝过程中页面被dirty,直接放弃拷贝,直到某次拷贝成功,重新remap到高速内存,并仍然保留低速内存。也因此(我理解是类似于数据库事务,copy在dirty的情况下会被rollback,直到成功再提交)这个方法被他们称为Transactional Page Migration事务性页面迁移。

0

评论 (0)

取消