[发明专利]非统一内存访问架构下的持久性内存索引构建方法在审
申请号: | 202110722046.4 | 申请日: | 2021-06-28 |
公开(公告)号: | CN113656396A | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 舒继武;汪庆;陆游游;程卓 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/245;G06F16/23;G06F12/02;G06F11/14 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张梦瑶 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 统一 内存 访问 架构 持久性 索引 构建 方法 | ||
本申请提出了一种非统一内存访问架构下的持久性内存索引构建方法,该方法包括:在持久性内存中维护多份局部持久视图,在DRAM中维护一份全局易失视图;当线程访问冷数据时,线程中的请求被底层持久性内存索引处理;当线程访问热数据时,判断线程中的请求的类型,若为查询操作,线程读取全局易失视图中对应数据,若为插入、更新、删除操作,线程更新对应的本地局部持久视图和全局易失视图;当发生热点迁移时,进行后台操作,生成新的局部持久视图和全局易失视图,并回收旧的局部持久视图和全局易失视图。采用上述方案的本申请可以有效减少非统一内存访问架构下持久性内存的远程访问,提高持久性内存索引的性能,并且可以通过软件实现,适应性强。
技术领域
本申请涉及非易失性主存存储技术领域,尤其涉及一种非统一内存访问架构下的持久性内存索引构建方法。
背景技术
持久性内存(PersistentMemory)同时具有存储介质和内存介质的优点。一方面,持久性内存可以像磁盘一样持久性存储数据,并且容量很大。另一方面,持久性内存被安装在内存总线之上,CPU可以直接通过store和load指令访问它,因此,它具有低延迟和高带宽的特点。英特尔公司于2019年发布了可商用的持久性内存产品傲腾持久性内存;它需要专门的CPU支持,单条容量最高可达512GB。傲腾持久性内存单条的写带宽约为2GB/s,读带宽约为6GB/s。傲腾持久性内存具有一些特殊的性能属性,比如多核扩展性差、重复刷写一个缓冲行延迟高、内部芯片写粒度为256字节。
由于单个CPU的核心数目和内存槽数目有限,为了支持更大规模的系统,现有服务器多是非统一内存访问(non-uniform memory access,NUMA)架构。一个NUMA架构的服务器中包含多个NUMA节点,每个NUMA节点具有本地的CPU、持久性内存和DRAM,NUMA节点之间通过专门的总线相连。对于一个CPU而言,相对于访问其它NUMA节点上的持久性内存和DRAM,本地访问的延迟更低、带宽更高。
持久性内存索引(persistentmemoryindex)是构建在持久性内存中的索引,它维护着键到值的映射,并保证插入、更新和删除操作具有崩溃一致性,即系统崩溃重启后能恢复到一个一致的状态,且能够看到成功提交的操作。
现有的非同一内存访问架构下的索引构建方法主要针对于易失性索引(即存储在DRAM中的索引),未考虑持久性内存索引。现有这些方法在每个NUMA节点内维护一份索引的副本,并通过操作日志在NUMA节点之间同步索引副本的状态。将这些方法运用到持久性内存索引上会导致三个问题。第一,这些方法不保证崩溃一致性;第二,由于每个NUMA节点上有一份副本,这些方法会成倍地消耗持久性内存的空间;第三,因为每个操作需要在每份副本上执行,这些方法会成倍的消耗持久性内存的写带宽,然而持久性内存的写带宽十分有限,仅有DRAM的六分之一。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种非统一内存访问架构下的持久性内存索引构建方法,解决了现有的索引构建方法运用到持久性内存索引上导致成倍地消耗持久性内存的空间和写带宽的技术问题,同时解决了现有的索引构建方法运用到持久性内存索引上不保证崩溃一致性的问题,有效减少了非统一内存访问架构下持久性内存的远程访问,提高了持久性内存索引的性能,通过只处理热数据,只需要少量额外的持久性内存和DRAM的使用,并且最小化服务器崩溃重启后的额外恢复时间。
为达上述目的,本申请第一方面实施例提出了一种非统一内存访问架构下的持久性内存索引构建方法,包括:在持久性内存中维护多份局部持久视图,在DRAM中维护一份全局易失视图;当线程访问冷数据时,线程中的请求被底层持久性内存索引处理;当线程访问热数据时,判断线程中的请求的类型,若为查询操作,线程读取全局易失视图中对应数据,若为插入、更新、删除操作,线程更新对应的本地局部持久视图和全局易失视图;当发生热点迁移时,进行后台操作,生成新的局部持久视图和全局易失视图,并回收旧的局部持久视图和全局易失视图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110722046.4/2.html,转载请声明来源钻瓜专利网。