基于非易失性存储器(NVM)的内存分配器的设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:jackzeng6699
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
互联网时代产生了大量数据,随之催生了数据密集型应用。数据密集型应用占用大量的内存空间,且往往有数据持久化的需求。传统的计算机存储架构为易失性内存与磁盘的组合,即DRAM+DISK。数据密集型应用普遍在DRAM中进行计算以及存储热数据,并在DISK中存储结果。由于两者的读写特性存在天壤之别,应用程序反复在两者之间交换数据,既提高了软件复杂度,又降低了性能。NVM(Non-volatile memory)是一种可以随机访问的且断电后数据不丢失的存储器。一般而言,NVM相比于DRAM有数倍的空间、更低的价格,而相比于DISK则有高出若干数量级的访问性能。将各种数据密集型应用移植到NVM上将是发展趋势。本人在Intel实习期间,负责将Redis移植到一种新型NVM——3D XPoint上。然而,由于NVM与DRAM巨大的特性差异,当前主流的内存分配器都无法胜任NVM内存空间的分配。NVM内存分配器必须支持malloc_at(addr,size)分配操作,即既能指定分配的大小,又能指定分配的地址,以使得用户能够根据之前写入数据的地址重新访问到持久化在NVM上的数据,并将该数据由NVM内存分配器保护起来,不再被分配出去。本文的主要工作即设计与实现一个基于NVM的内存分配器——libnvmalloc。Libnvmalloc采用了 AVL树实现的伙伴分配器作为粗粒度分配器,使用支持二分查找的4096位bitmap作为细粒度分配器。这样的设计使得malloc()、malloc_at()和free()操作都有良好的性能。本文最后以Redis作为应用与测试案例。结果显示,当Redis利用libnvmalloc提供的功能运行在NVM上时,响应延迟和吞吐量有明显改善,对DRAM的占用量大幅降低。本文提供的libnvmalloc是一个通用的函数库,可以直接复用,为将来更多的应用移植到NVM提供了便利。
其他文献
“人口、资源与环境经济学”是一门以经济过程和经济发展中的人口、资源、环境三大因素之间的内在联系以及它们各自所起的作用为研究对象的科学,还没有形成一套系统的理论和
目的对塞曼原子吸收汞分析仪测定尿汞的方法进行评价,为实验检测及临床诊断中选用简便、快捷的测汞方法提供参考。方法采用塞曼原子吸收光谱法(ZAAS)和氢化物发生-原子吸收光
目的探讨爆震后豚鼠耳蜗听阈明显升高时螺旋神经节细胞超微结构改变及其中睫状神经营养因子表达的变化。方法复制爆震致聋豚鼠模型,不同时段测ABR阈值,取耳蜗做病理,观察耳蜗
目的分析舌下腺及囊肿切除术治疗舌下腺囊肿的临床应用价值。方法选择在本院确诊为舌下腺囊肿的27例患者的临床资料作为研究对象,采用舌下腺及周边囊肿切除术进行治疗。结果
金融部门对外开放会给实体经济带来怎样的影响?文章以外资银行进入与本土企业创新的关系为例,回答这一金融体制改革过程中亟待厘清的问题。文章利用时间错列的多元外生冲击事
本文建立了一类两层决策问题的数学模型和决策机理,并提出了一种决策方法,该方法为这一类两层决策问题提供了一种求解途径。
数据保护是数据库系统管理的重要一环.在研究数据库系统连续数据保护技术基础上,提出一种基于块的数据库系统连续数据保护模型BCD,论述了它的基本原理与系统结构,并详细讨论
[目的]地西他滨(decitabine,DAC)作为一种去甲基化药物已经在骨髓增生异常综合征(myelodysplastic syndrome,MDS)和急性髓系白血病(acute myeloid leukemia,AML)的治疗中取得
目的:目前除了异基因造血干细胞移植,CML缺乏有效的治愈手段,而通过诱导PR1特异性CTL杀伤患者体内CML细胞的策略为CML的治疗提供了新的思路。本实验通过对CML患者淋巴细胞亚群
河套灌区是全国三大灌区之一,是国家七大重要的粮、油、糖生产基地,本文从1998年国家对河套灌区进行节水改造投资以来,该项目发挥的效益,进程中存在的问题及对策,阐述了今后如何更