APP下载

略谈NVM用于内存计算缓冲器的几种设计

2019-10-07赵晓菲

新一代 2019年12期
关键词:设计

赵晓菲

摘 要:随着大规模的密集数据型的应用在社会生产生活方面的融入,密集型程序越来越突出的显示出主存储器容量越大,程序的效率越高的特点。传统意义上,动态随机存储器(DRAM)因其具备较低的访问延迟、读写速度的对称性以及更经济的单位比特成本而广泛应用于现代计算机系统之中。

關键词:计算缓冲器;DRAM技术;设计;

一、DRAM技术暴露出的自身技术缺点:

(一)较高的闲置率;作为计算机系统中的主存储器,DRAM的使用效率完全由计算机的计算负荷决定,且在未被使用时进行利用。

(二)较低的扩展性;通常基于电路电器和总线等原因,在一个计算机系统中部署大量的DRAM是极为困难的。计算机的DRAM大小要么受制于DRAM芯片大小,要么在高性能计算机系统(HA)中还可以通过内存载板(DRAMCELL)扩展。无论上述那种方式,对于已定的计算机系统扩展其系统DRAM都将是非常困难的。

(三)易失性;DRAM因其基本的对于电荷的依赖的物理特性,严重降低了作为主存储器的可靠性。

新兴的非易失性存储器(NVM)具备很好的特性以解决上述缺点,例如低闲置功率、高密度和无波动性。NVM技术包括相变存储器(PCM)、旋转传递扭矩磁性随机存取存储器(STT-MRAM),金属氧化物电阻RAM和记忆电阻器。当然,NVM也有非常明显的自身的缺点,如使用寿命限制、较长的延迟,读写的不对称性等,这些缺点也决定DRAM仍然是计算机系统的主内存。为了使NVM在设备上发挥上述积极的优点,现在国际上普遍使用混合型的体系结构(HMAS),其使用DRAM与NVM组成的单层或者多层的结构。

在这种HMAS结构中,通常都有内存缓冲管理器(Buffer manager)来协调DRAM与NVM之间的工作。本文将从构架角度来分析多种学术界提出的HMAS构架,并结合最新的NVM发展技术来总结其优缺点。

二、设计

国际上最近的研究重点从在HMAS系统中优化NVM技术本身以及存储层次结构缓存管理策略上开展的。

(一)基于NVM某个特定优势的内存计算设计

Alexander van Renen(德国慕尼黑工业大学)等人提出的方案是,缓冲管理器将需要缓冲的数据从磁盘(包含SSD)迁移加载到到内存使用之后[7],当缓存页面数据从内存中逐出时,该方案的缓冲管理器判断它是否最近被访问而写入位于NVM的缓冲区。当判断为最近未写入内存则丢弃;当判断为最近写入DRAM则保存在NVM之中,用于下次调用时CPU直接读取。

该方案的特点是依然以DRAM作为主要存储器,而NVM设备组成的存储池缓冲器用来存储DRAM存储历史中的比较热的数据,即缓冲器判断DRAM中的数据再被抛弃时判断该数据是否被多次读入DRAM。如果是,该数据被DRAM抛弃的同时,缓冲器会将该数据完整的写入NVM所组成的缓冲池之中,同时DRAM中会存储该段数据在NVM中的地址而不是传统的磁盘地址,因此当该段数据需要重新被读取的时候,缓冲器可以快速的将该数据从NVM掉入DRAM,而不是速度较慢的磁盘。这种方案利用了NVM设备的大容量及比起磁盘更快速的读写响应,因此某个特定的应用需要DRAM重复调入多段磁盘数据时,这种设计将极大改善系统的处理能力。

其缺点是,这种缓冲器设计策略虽然在实验室环境或某些应用环境中工作良好,但它们的工作对于存储的层次结构和工作负载具有一定的局限性。

(二)操作系统方面的内存计算设计

Youngjin Kwon(得克萨斯大学奥斯汀分校)等人在2017年的SOSP(操作系统原理大会)大会上提出了一种多层缓存系统,它不会在DRAM上缓存NVM驻留的数据,并在执行同步写操作时主动绕过内存。其具体过程是内核利用英特尔libpmem通道,通过mmap方式绕过DRAM直接访问NVM存储空间。

优点:绕过DRAM的缓冲器设计,避免了系统内核的开销,直接由应用程序实现实现磁盘数据读写,因此省去DRAM的写入延时已经验证Log的操作。该方案利用了新型NVM在接口方面的优势,直接将NVM的数据IO提升到与DRAM相同的层级。缺点,某种意义上,这种设计需要从操作系统至应用软件及系统内核的支持;同时,这对于NVM硬件也有较为苛刻的条件,一般地讲这种设计只适合部署在内部存储通道的NVM。

(三)多层NVM结构的内存计算设计

该方案引入数据迁移优化的思想,这些优化包含了以前系统中使用的特定技术,其根据设备和工作负载特征来定制内存计算管理策略。一般的这些内存计算管理策略中有响应的适配机制来实现自适应内存数据迁移,它基本可以为任意工作负载和存储层次结构实现了近乎最优的内存数据缓冲管理策略。总之,其特点是为NVM感知数据迁移优化引入了分类,对于不同的数据流配合不同的NVM硬件设计,并提出了管理多层存储层次结构的策略。同时,在缓冲区管理器中引入了一种无需任何手动调整适应机制。

三、趋势

NVM技术的发展主要在于两个与主存储器相关的两个方面,一是更低的访问延迟;二是更大的容量。上述两点也是NVM发展的两个主要的方向,在访问延迟方面NVM已经可以提供DIMM接口规范的硬件接口,从而提供与DRAM接近的访问延时。容量方面NVM随着芯片技术的发展,NVM所提供的容量也逐渐的开始接近传统磁盘。因此内存计算缓冲器将拥有更为广泛的设计基础。

四、总结

本文讨论了用于NVM的内存计算缓冲器设计思想及其趋势,其主要分为三种,一种是基于NVM某个特定优势而设计,如利用NVM的低写入延时而设计的热数据存储池的设计;第二种是在操作系统层面直接绕过系统内核直接写入NVM设备的设计;第三种是利用数据感知的方法控制内存数据流在DRAM、NVM与缓冲池之间的传输。

猜你喜欢

设计
二十四节气在平面广告设计中的应用
何为设计的守护之道?
《丰收的喜悦展示设计》
基于PWM的伺服控制系统设计
基于89C52的32只三色LED摇摇棒设计
基于ICL8038的波形发生器仿真设计
瞒天过海——仿生设计萌到家
设计秀
有种设计叫而专
从平面设计到“设计健康”