前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯2021sigmod论文Spitfire分析

腾讯2021sigmod论文Spitfire分析

作者头像
yzsDBA
发布2021-03-04 14:35:18
7770
发布2021-03-04 14:35:18
举报

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,迁移时用到哪层,就对哪层加锁,实现并发

原文

https://zxjcarrot.github.io/publication/spitfire/spitfire.pdf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yanzongshuaiDBA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 机制
    • 1、cache line page
      • 2、HYMEM
        • 3、spitfire
        • 原文
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档