面向非易失性内存的系统软件若干问题的研究

来源 :上海交通大学 | 被引量 : 2次 | 上传用户:liaoquanya
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着大数据时代的来临和数据科学发展的不断深入,被采集,存储和处理的数据量急剧膨胀,传统计算机体系架构中以“计算为中心”的模式,难以应对数据规模与数据处理能力之间日益突出的矛盾,现存的计算机体系架构面临着严峻的挑战和生存瓶颈。近年来,随着新型非易失性内存介质技术的兴起,打破传统的体系架构,构建大容量,非易失,高可靠的内存系统,将数据大量或整体存放于内存中,形成以内存为主体的新型内存计算模式,从而完成计算模式从以“计算为中心”向以“数据为中心”的转变,成为学术界和工业界关注的热点。该技术减少了数据存储的软件层次,降低了数据访问的延迟,提升了数据处理的性能,具备相当的创新价值和市场价值,成为学术界和工业界关注的热点。其中,将非易失性内存引入计算机内存系统中,构建既有易失性内存又有非易失性内存的内存系统,又成为研究热点中的热点,吸引了大量的学术界研究者和行业翘楚的目光。本论文以非易失性内存为介质背景,基于异构混合内存体系架构,以存储类的系统软件为研究对象,主要探讨非易失性内存介质引入后对软件设计带来的影响与变化,提出在异构混合内存体系架构下,存储类软件设计面临的挑战和解决方法,选取了具有代表性的存储类系统软件,文件系统和键值对数据库系统,详细阐述基于非易失性内存环境下文件系统以及键值对系统的设计原理,实现方法,数据一致性保障机制,实验验证等方面的问题。在文件系统层面,针对文件系统的数据一致性问题,对文件系统的数据一致性给出了层次划分,并针对较高层级的版本数据一致性给出了一种新型的多版本一致性保障机制,论证了该多版本一致性机制的有效性和正确性。针对非易失性内存有限的访问寿命,文件系统采用了日志型的数据更新方式,尽量保证对底层非易失性内存介质的均匀访问,提升系统的耐久性和非易失性介质的使用寿命,并通过实验的方法验证了日志型文件系统设计方法对非易失性内存介质的访问均衡的改善效果。在键值对系统层面,针对现有键值对系统在整个系统中所占据的位置和作用,提出不依靠文件系统直接将键值对存储在非易失性内存的存储方法,减少了存储软件栈的层级,降低了系统数据持久化的代价。同时,基于散列表为主要存储数据结构,分别在传统内存DRAM和新型非易失性内存NVM中上使用静态散列表和动态散列表,该设计有效地取得了系统性能和内存使用效率的平衡,解决了数据量不固定的前提下,散列表容量难以固定初始化的问题,大大提升了系统的可移植性和普适性。本文以非易失性内存为主要介质背景,以存储类系统软件为主要研究对象,以文件系统和键值对存储系统为具体研究对象,提出了基于非易失性内存环境下,存储类系统软件的设计和实现方法,并讨论了数据一致性保障机制的实现方法,提出了一种新型的,有效的数据一致性保障机制。本论文的主要工作及创新如下:1.设计并实现了一个异构混合内存文件系统HMFS,该文件系统基于异构混合内存体系架构,以非易失性内存为主要存储介质,具备多版本控制和版本一致性保障机制,实现了文件系统中较高级别的一致性保障层级,文件系统中对文件系统元数据和数据采用不同的更新方式,对于文件系统数据采用原地更新方式,并缓存一部分在DRAM中,以提高数据查找的速度,对于文件系统数据采用日志型的更新方式,以实现对内存介质的尽量均匀访问,增长NVM介质的使用寿命。该文件系统提出了一种基于图的多版本控制数据结构,并给出一系列的的多版本操作相关算法设计,该设计打破了传统基于树结构的多版本实现方法,提升了版本生成,删除和获取的性能,降低了文件系统元数据的体量大小,设计并实施了全面的实验方案,从性能,多版本有效性以及介质耐久性等多个方面评测了文件系统性能,多版本有效性和对底层非易失性内存介质的访问均衡。2.设计并实现了一套文件系统多版本实现机制,该机制以一种新型的支持多版本功能的数据结构和一套完整的版本控制算法组成,实现了版本控制的基本功能,如创建、读取、删除等,并实现了完全的多版本功能,即可基于已存于系统中的任一版本进行版本演化,子版本与父版本之间无严格的生成时间先后顺序限制,并可以基于多个版本进行版本合并等,该多版本控制机制有效地提升了版本生成,读取和删除的性能,并实现了空间利用效率的提升。该多版本机制同时支持逆向查找功能,可以确定同一个文件属于哪些版本,并可以列出文件及所属版本的信息,该多版本控制机制有别于现存的多版本控制机制,全面支持多版本功能的所有操作,并降低了维护多版本所需的元数据量,在提升性能的同时取得了良好的空间利用效率。3.设计并实现了一个异构混合内存键值对系统LibreKV,该键值对系统基于异构混合内存体系架构,以非易失性内存为主要存储介质,使用静态散列表和动态散列表相结合的设计方法,实现系统性能和内存使用效率的平衡,提出一套动态扩展机制,实现散列表大小的动态扩展和内存的按需分配。利用传统内存的高性能特点,在DRAM中对键值对的读写请求进行快速响应,利用新型非易失性内存容量大,存储密度高的特点,完成对键值对的持久存储,并在DRAM和NVM中使用不同的散列表结构,DRAM中使用静态散列表结构,在静态散列表中使用布谷鸟散列算法,该方法可快速接收来自客户端的读写请求,并使静态散列表到达较高的使用效率。在NVM中,使用动态散列表和动态扩展算法,以实现散列表规模随实际数据量大小而动态改变的功能,提高了系统的自适应性和可扩展性。同时,针对键值对系统数据吞吐率高,对数据响应速度要求较高的特点,在数据一致性保障方面,摒弃了传统的使用高代价的硬件原语来保证内存写顺序的方法,采用了基于键值对校验和和合并检查点的一致性保障机制,该机制有效地结合了动态散列表和检查点机制的特性,有效降低了系统恢复时所需要检验的键值对个数,避免了因维护一致性而导致的过大的系统开销,提升了系统性能。4.提出一种基于校验和检查点技术的数据一致性保障机制,并将其应用于异构混合内存键值对系统LibreKV中,结合基于动态散列表的检查点机制,实现键值对系统数据一致性的保障,该一致性保障机制,避免了使用硬件原语保证写顺序来维护一致性的开销,降低了系统开销,提升了系统性能。该一致性保障机制可以充分利用键值对系统计算键值散列值的特性,利用简单的算法计算键值对散列值,并将散列值作为元数据一部分进行存储,作为发生系统异常和一致性检验时的依据。该方法非常适用于单个数据体量不太大的键值对存储系统,具有良好的应用系统场景,适应了系统的设计需求,完成了系统的基本要求,为在非易失性内存中设计有效的数据一致性保障机制维护数据的最终一致性并完成键值对在非易失性内存介质上的持久存储提供了一种参考方案。
其他文献
《C语言程序设计》是一门具有很强的逻辑性与实践性的课程,是机械电子工程专业的一门核心专业基础课.据此,简述了基于“OBE'”理念的课程教学改革研究的意义、当前课程存
近年来,表面等离子体激元因其独特的非线性光学性质引起了科学界极大的兴趣。表面等离子体激元在科学实践的很多领域有着广泛的应用,比如环境能源、生物科技和光学成像等领域
大气颗粒物成分复杂,其中水在颗粒物参与的大气非均相化学反应中起着重要作用,也影响大气颗粒物质量浓度,消光能力和大气能见度。在中国近年来频繁出现的霾污染过程中,颗粒物
英语文学作品有着属于自己独特的修辞手法,可以将作者的思想感情和所要描写的意境进行充分表达,达到融情于景的效果。在英语文学作品中,通过修辞手法的应用,可以使作品更具韵
1982年9月,深圳市通过有偿方式出让了一块面积为5千余平方千米土地的使用权,期限为50年,从而拉开了中国城镇国有土地使用制度改革的序幕。同年11月,国务院批准了原国家土地管
分数阶微积分理论的研究已有300多年的历史,但长久以来的研究者主要集中在数学领域里。直到1983年Mandelbort首次指出自然界以及许多科学技术领域中存在大量分维数的事实,且
初见胡浩,觉得腼腆的他像个稚气未脱的在校生。事实上,他已是一家创业公司的首席执行官。这家公司名叫镇江筝光动画有限公司,由胡浩和几个志同道合的研究生同学在2015年共同创立
报纸
稻纵卷叶螟是我国水稻上的重要害虫,近年来给我国水稻生产造成严重的损失。兴安地区位于广西东北部是每年稻纵卷叶螟在我国南北往返的必经之路,分析该地区稻纵卷叶螟的种群动
探讨了浮选药剂的种类、油比、浮选添加剂等对浮精过滤的影响及与絮凝剂助滤时的协同效应
黑社会性质组织犯罪危害极其严重,"保护伞"的非法保护为黑社会性质组织的产生发展和迅速膨胀提供了有利条件,依法查处"保护伞"职务犯罪是"打黑除恶"斗争的重要切入点。综合概