带磨损均衡的小粒度非易失性内存管理系统的设计与实现
发布时间:2020-04-19 23:21
【摘要】:近年来,随着信息技术的普及,大量的数据在源源不断的产生、处理和存储,因此,庞大的需求对存储技术的要求也越来越高。非易失性内存作为新兴的存储技术,以其高访问速度、高存储密度、可字节寻址和非易失性等优点被视为潜力巨大的存储技术。从嵌入式系统到普通计算机到大型的数据中心,非易失性内存正在被越来越多的部署成单一型或者混合型的存储系统。在这些系统中,不同的应用场景会产生大量的小粒度数据,而这些数据的频繁更新和分散分布对存储系统的读写寿命和访问性能带来巨大的考验。非易失性内存(Non-Volatile Memory,NVM)作为新兴的存储技术,在进行应用时需要面对以下两个问题:(1)NVM的存储单元存在写耐受度低的缺点,使其难以承受频繁的小粒度数据更新操作。(2)传统的内存管理技术没有考虑到数据更新操作带来的读写寿命问题。(3)传统的存储管理技术并没有考虑到混合型存储系统的特点,不能很好地结合传统内存技术的优势充分发挥NVM的性能。因此,本文的研究目的是设计一个基于NVM,特别是具备混合型存储介质如混合DRAM和NVM,一个带磨损均衡的小粒度内存管理机制,提供高效的内存访问效率,同时能针对小粒度数据的内存分配进行磨损均衡的优化,延长NVM的使用寿命。本文的主要研究内容如下:(1)小粒度数据的高效内存管理。小粒度数据在内存中分布分散而访问频率高,因此以缓存行(大小为64Byte)为最小的基本内存单元,同时将页内的存储空间按照基本单元划分,采用页内元数据的方式来进行管理。(2)小粒度内存空间的磨损均衡策略。小粒度数据的更新频繁,加入复杂的统计机制来进行磨损均衡的优化势必会影响系统效率。本文提出顺序写策略从分配机制上解决内存基础单元的磨损均衡问题。同时引入DRAM组合混合内存系统,不仅能降低使用成本,并且能利用DRAM来分担部分数据的写磨损问题。本文通过在DRAM中生成页内元数据和页级管理数据临时数据,并采用条件持久化的机制更新到NVM中,进一步解决了元数据区的磨损问题。(3)页内空闲单元元数据计算算法。由于页内元数据占用的空间需要尽量小,因此采用结构最简单的位图来进行空间的管理。但是由于位图的遍历是很消耗系统资源的操作,因此本文设计了分片计算算法来进行高效的位图数据处理。(4)持久化机制。由于配置NVM,故系统的断电可恢复性是一项重要指标,而DRAM的数据在刷回到NVM的过程中,如果发生断电,就会产生数据的不一致性的问题。因此,采用写日志的方法进行处理,来维护一致性。(5)多线程优化。单线程的内存分配机制在面临多线程的时候会产生资源的抢占,造成系统性能的浪费。因此采用线程局部资源的方式,让每个线程拥有一个局部资源缓冲区,就能减少资源竞争的问题,提高多线程的性能。本文根据提出的问题,设计了一个全新的带磨损均衡的小粒度内存分配器(Wear-leveling Aware Fine-grained Allocator,WAFA)。实验结果表明,与基于NVM的分配管理机制NVMalloc和nvm_malloc相比,WAFA中页面的总写入次数仅仅只达到两者的81.1%和40.1%。对于每个基本存储器单元的写入次数,WAFA的变化系数分别比NVMalloc和malloc小69.4%和97.3%。同时,WAFA可以比glibc malloc提高9.6%的系统性能。
【图文】:
图 1.1 内存页磨损次数对比Figure 1.1 Comparison of the times of memory page wear的研究一个适应于小粒度内存分配的内存管理机制度分配的效率,减少内存浪费,可以提升整个系统度分配的磨损均衡效果,使得 NVM 的寿命更长,,化机制,并解决断电带来的一致性的问题。研究内容 的性能特点、各类内存管理系统的技术架构、NV及对本课题的研究意义的分析,下面对本论文中的分析可知,本文致力于改进基于 NVM 的小粒度内存
(a) 基准测试数据集 (b) Memcache 数据集 (c)YCSB 数据集图 5.1 不同测试数据集下的总写次数对比Figure 5.1 Comparison of the total write counts of pages using different workloads.① 内存页的磨损计数从计算机系统软件的角度来看,因为页是操作系统的基本单位,页面的写次数是页面内存储单元的最大写入次数。由于页面内的存储单元在按照顺序进行分配时,并未回头重复对某一内存单元进行重复写,因此这一顺序中写可以合并为一次写。无论分配器有没有对顺序进行专门的优化,但实际中都会有一定的顺序性,而 WAFA 则进行了强化的顺序。在实验中,本文合并页内的顺序性操作作为一次写,添加入总写入次数。较少的页面的总写入次数意味着更好的磨损平衡。图 5.1(a)显示了使用基本测试数据集进行测试时不同分配器的页面总磨损计数。横坐标“Free ratio”是指不同数据集拥有的内存释放比率。从图中可以看出,WAFA 相对于 NVMalloc 和 nvm_malloc 分别减少了 18.1%和 3.8%。对于所有内存分配器,随着空闲比率的增加,页面的总写入次数会减少。这
【学位授予单位】:重庆大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP333
本文编号:2633852
【图文】:
图 1.1 内存页磨损次数对比Figure 1.1 Comparison of the times of memory page wear的研究一个适应于小粒度内存分配的内存管理机制度分配的效率,减少内存浪费,可以提升整个系统度分配的磨损均衡效果,使得 NVM 的寿命更长,,化机制,并解决断电带来的一致性的问题。研究内容 的性能特点、各类内存管理系统的技术架构、NV及对本课题的研究意义的分析,下面对本论文中的分析可知,本文致力于改进基于 NVM 的小粒度内存
(a) 基准测试数据集 (b) Memcache 数据集 (c)YCSB 数据集图 5.1 不同测试数据集下的总写次数对比Figure 5.1 Comparison of the total write counts of pages using different workloads.① 内存页的磨损计数从计算机系统软件的角度来看,因为页是操作系统的基本单位,页面的写次数是页面内存储单元的最大写入次数。由于页面内的存储单元在按照顺序进行分配时,并未回头重复对某一内存单元进行重复写,因此这一顺序中写可以合并为一次写。无论分配器有没有对顺序进行专门的优化,但实际中都会有一定的顺序性,而 WAFA 则进行了强化的顺序。在实验中,本文合并页内的顺序性操作作为一次写,添加入总写入次数。较少的页面的总写入次数意味着更好的磨损平衡。图 5.1(a)显示了使用基本测试数据集进行测试时不同分配器的页面总磨损计数。横坐标“Free ratio”是指不同数据集拥有的内存释放比率。从图中可以看出,WAFA 相对于 NVMalloc 和 nvm_malloc 分别减少了 18.1%和 3.8%。对于所有内存分配器,随着空闲比率的增加,页面的总写入次数会减少。这
【学位授予单位】:重庆大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP333
【参考文献】
相关期刊论文 前1条
1 洪津津,石教英;LINUX中的Slab分配器[J];计算机应用研究;2000年11期
本文编号:2633852
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2633852.html