面向多核的NVM内存计算平台设计与实现
发布时间:2018-11-15 12:54
【摘要】:长期以来,存储一直都是整个计算机系统的性能瓶颈之一。人们总希望获得低延时,高可靠,低能耗,持久化的存储设备。而新型非易失型存储器(NVM,Non Volatile Memory)的出现,则使人们看到了希望。由于这些存储器具备可持久化,低读写延时,低能耗,支持字节寻址等多种优势,因而吸引了研究人员的广泛关注。由于NVM的读写延迟与DRAM相当,因此,NVM可以直接连入CPU内存子系统中,与DRAM共同编址。从软件使用的角度来看,目前主要有两种方式使用NVM。一种是将NVM作为外设,通过接口或文件系统的方式进行管理和使用。另一种是当作持久化内存使用,CPU利用load/store类指令进行访问。显然,第一种方式会频繁陷入内核,从而导致过大的时间开销。因此第二种使用方式更加高效。即将NVM当作持久化内存使用,并映射到用户进程地址空间形成持久化堆,以便应用程序存储与访问持久化数据。本课题就是在持久化内存应用场景下开展研究的。由于NVM的持久化特性,传统的内存管理方法与内存操作方法并不适用于持久化内存管理。这主要表现在以下几个方面:首先,所有在持久化内存上的修改都会长期生效,因此无论是内存管理还是NVM对象操作,在进行修改时都必须满足ACID,传统内存管理并无此需求。其次,与传统内存的管理与使用一样,NVM也亟待一种面向多核,高效率的内存管理和对象并发更新机制。然而,NVM对象更加持久,因此NVM资源更加珍贵,长期运行的NVM内存管理系统面临前所未有的降低碎片需求。并且,因为NVM内存的持久性,任何NVM错误都可能是永久的,而传统内存管理机制并无此方面的考虑。最后,NVM的写寿命较短,亟待一种方案能够最大限度延长NVM使用寿命。针对上述问题,本文设计并实现了一种面向多核的NVM内存计算平台。该内存计算平台建立了内存管理机制,并在其上建立了事务化的对象存储机制,对外提供面向对象的事务编程接口。具体而言,该计算平台的主要研究工作包括:1.针对映射到用户地址空间的NVM资源,设计并实现了一套提供事务保障、面向多核的内存管理模块。2.基于NVM内存管理模块,设计并实现了一种实时在线内存碎片整理的算法。该算法构建线段树跟踪持久化内存分配和释放操作,并通过增量移动持久化对象实现碎片整理。3.针对NVM对象的事务性与安全性需求,设计并实现了一套基于智能指针与名字服务的编程模型,隔离了NVM操作与业务代码,降低了开发难度。4.基于上述NVM编程模型与NVM内存管理机制,设计并实现了一种满足ACID要求的软件事务存储机制,并为上层提供了事务接口。5.下层驱动提供了页面置换算法以提高效率与延长NVM寿命,但是其需要精确的访问统计数据。本系统基于智能指针,实现了一套精确的内存访问统计机制,并且可以向内核反馈页面访问状况。最后,本文对面向多核的NVM内存计算平台进行了功能测试与性能测试。在功能测试中,NVM的事务性、动态碎片整理机制和NVM对象操作都通过了测试。在性能测试中,本文基于上述的NVM内存计算平台,实现了一种持久化K/V存储系统。该系统与redis进行了对比测试。测试结果表明,单线程下该持久化K/V存储系统的随机读写吞吐率较Redis高40%,多线程下该持久化K/V存储系统的随机读写吞吐率较Redis高近十倍。
[Abstract]:......
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP333
本文编号:2333362
[Abstract]:......
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP333
【参考文献】
相关硕士学位论文 前1条
1 张乎兴;基于M5的混合型内存系统仿真及其应用[D];上海交通大学;2012年
,本文编号:2333362
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2333362.html