腾讯2021sigmod论文Spitfire分析
Spitfire:易失和非易失性内存的三层buffer管理
Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory
机制
1、cache line page
将page分割成cache line大小,一个cache line为64字节。由于PM可以字节寻址,所以可以以cache line的粒度进行读写page。页头结构中有标记哪个cache line为脏的位图表,1表示脏。并且有resident字段位图标记哪个cache line加载到了内存,若无加载,这部分在内存中不占空间,节省内存。
2、HYMEM
《managing nvm in database system》分三层架构DRAM-NVM-SSD。
1)SSD上数据页大小16kb,当事务请求时加载到DRAM
2)使用时钟算法替换DRAM中的数据页,PM中使用同样算法
3)判断什么条件下降DRAM中数据页持久化到PM?
4)采用一个准入PM的队列来协助是否将数据页持久化到PM。
5)默认的读路径:SSD->NVM->DRAM->CPU
6)默认的写路径:CPU->DRAM->NVM->SSD
7)读时首先看是否在DRAM,不在时看是否在NVM,都不在则需要将SSD上全页直接加载到DRAM
8)DRAM替换数据页时,首先看他在没在准入队列,若在则将其从队列删除,并持久化到PM;否则将其标记到准入队列,将该页直接持久化到SSD
9)优点:减少了PM写,以及不同层级之间数据的移动
缺点:非并发操作,没有在真实的PM环境上测试。
3、spitfire
使用概率的方法控制不同层级之间数据的迁移,实现冷热数据分离。确保DRAM中是热数据,NVM中是温数据,SSD中是冷数据。
1)Dr:读时,将NVM移动到DRAM中的概率。比如0.01表示每读取100次,才将NVM中数据页迁移到DRAM
2)Dw:写时需要辅助DRAM的概率
3)Nr:读操作时,将SSD迁移到NVM的概率
4)Nw:写的过程中,buffer管理器将DRAM迁移到NVM的概率
5)数据迁移这些概率依赖于工作负载,自适应调整。
6)通过对每层加一个latch,迁移时用到哪层,就对哪层加锁,实现并发

最新活动更多
-
3月27日立即报名>> 【工程师系列】汽车电子技术在线大会
-
4月1日立即下载>> 【村田汽车】汽车E/E架构革新中,新智能座舱挑战的解决方案
-
即日-4.22立即报名>> 【在线会议】汽车腐蚀及防护的多物理场仿真
-
4月23日立即报名>> 【在线会议】研华嵌入式核心优势,以Edge AI驱动机器视觉升级
-
4月25日立即报名>> 【线下论坛】新唐科技2025新品发布会
-
即日-5.15立即报名>>> 【在线会议】安森美Hyperlux™ ID系列引领iToF技术革新
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论