面向新型非易失性存储器的内存管理系统设计与实现

NVM论文 页框管理论文
论文详情
随着云计算技术的不断发展和规模的壮大,人们对存储的要求越来越高,希望有高密度、高读写速度、低能耗的存储介质。而传统的DRAM、flash和磁盘等产品都有各自的缺陷,DRAM和flash存在着密度和容量的瓶颈,磁盘的读写速度远远达不到要求。随着存储技术的不断发展,PCM、MRAM等新型非易失性存储器(统称为NVM)逐渐出现在人们的视野范围中,它们拥有密度高、容量大、速度快和能耗低等特点,吸引了技术人员的广泛关注。由于NVM自身的诸多特性,许多原来的设计方案不再适合于它,需要重新设计。主要的研究方向包括用NVM代替DRAM,在NVM搭建文件系统等。而本文的研究方向则是用NVM替代DRAM。关于其替代方案,主要有两种观点,一是NVM完全替代DRAM;二是NVM和DRAM结合起来使用,即混合内存。而现有的技术基础上,NVM仍存在一些缺陷(相对于DRAM,其读写速度较慢,且存在写磨损),这限制了NVM完全替代DRAM。因此,更多的研究着手于混合内存上。本文就是在混合内存场景下展开研究的。目前,有两种方式使用NVM,一是按照传统页框管理方式,二是使用文件系统管理NVM。前者未充分考虑NVM持久化特性和存在着空间利用率不高的缺陷;后者未充分利用NVM随机读写的特性和存在着元数据空间开销较大的缺陷。针对上述问题,本文设计并实现了一种针对NVM的低元数据空间开销的持久化页框管理系统。另外,由于NVM的写速度较DRAM慢,写能耗较大,且存在写磨损,本文还设计并实现了一种提供持久化保证的页面置换机制,以减少NVM写操作。上述持久化页框管理系统和页面置换机制,主要有以下特点:1.在操作系统内核层建立NVM的页框管理机制,并为该系统上的操作提供简单事务性接口,保证在宕机或断电的情况下,页框管理系统数据的正确性。2.针对高空间利用率和分配效率,设计并实现多级空闲页框管理机制,并设计适合的页框分配原则。3.考虑到NVM和DRAM读写能耗和读写速度的差距,提供有数据安全保证的页面置换机制,以实现NVM和DRAM间页面的移动,达到加快热点页面读写速度和节约能耗的目的。4.用内核模块的方式开发实现持久化页框管理系统和页面置换功能,并以Linux驱动的形式方便用户使用。最后测试并通过了持久化页框管理系统和页面置换机制的功能测试,顺利完成了持久化页框管理系统的元数据空间开销对比测试,测试结果表明持久化页框系统的元数据开销很小,达到了提高空间利用率的目的。
摘要第5-7页
ABSTRACT第7-8页
第一章 绪论第13-17页
    1.1 背景及意义第13-14页
    1.2 国内外研究现状和发展态势第14-15页
    1.3 研究内容及主要工作第15-16页
    1.4 章节安排第16-17页
第二章 相关技术和基础理论介绍第17-23页
    2.1 Linux buddy内存系统技术第17页
    2.2 tcmalloc内存系统第17-19页
    2.3 事务内存技术第19-22页
        2.3.1 问题提出第19页
        2.3.2 基本原理第19-20页
        2.3.3 相关特性第20-22页
    2.4 本章小结第22-23页
第三章 总体设计第23-53页
    3.1 系统总体说明第23页
    3.2 需求分析第23-26页
        3.2.1 功能性需求第23-25页
        3.2.2 非功能性需求第25-26页
    3.3 NVM管理器总体设计第26-41页
        3.3.1 总体说明第26-28页
        3.3.2 内存布局及初始化第28-30页
            3.3.2.1 内存布局第28-29页
            3.3.2.2 NVM总描述符第29页
            3.3.2.3 NVM格式化流程第29-30页
            3.3.2.4 系统初始化流程第30页
        3.3.3 内存池管理第30-31页
        3.3.4 日志以及事务管理第31-33页
            3.3.4.1 日志元数据第31-32页
            3.3.4.2 日志管理器第32页
            3.3.4.3 日志结构第32页
            3.3.4.4 日志写入和读取操作第32-33页
        3.3.5 页框管理第33-37页
            3.3.5.1 分配单元描述符第33页
            3.3.5.2 空闲页框组织管理第33-34页
            3.3.5.3 页框分配和释放原则第34-35页
            3.3.5.4 页框分配和释放流程第35-37页
        3.3.6 对象管理第37-40页
            3.3.6.1 对象描述符第37-38页
            3.3.6.2 对象组织管理第38页
            3.3.6.3 对象分配流程第38-39页
            3.3.6.4 对象映射流程第39-40页
            3.3.6.5 对象增长流程第40页
        3.3.7 故障恢复第40-41页
    3.4 页面置换总体设计第41-52页
        3.4.1 总体说明第41-42页
        3.4.2 解决方案设计第42-44页
        3.4.3 数学模型建立第44-46页
            3.4.3.1 置换度模型第44-45页
            3.4.3.2 页组置换模型第45-46页
        3.4.4 模块结构第46-49页
        3.4.5 典型流程分析第49-52页
            3.4.5.1 页面访问信息统计第49页
            3.4.5.2 页面置换第49-51页
            3.4.5.3 缺页中断处理第51-52页
    3.5 本章小结第52-53页
第四章 NVM管理器详细设计与实现第53-91页
    4.1 模块层次介绍第53-54页
    4.2 内存池管理模块第54-64页
        4.2.1 内存池子池实现讲解第56-57页
        4.2.2 内存池子池元素结构第57-58页
        4.2.3 内存池子池的组织设计及实现第58-60页
            4.2.3.1 初始化状态第58-59页
            4.2.3.2 内存池状态v1第59-60页
            4.2.3.3 内存池子池状态v2第60页
            4.2.3.4 内存池状态v3第60页
        4.2.4 内存池子池分配释放流程第60-63页
            4.2.4.1 内存池子池分配元素流程第61-62页
            4.2.4.2 内存池子池释放元素流程第62-63页
        4.2.5 内存池模块组织及主要流程第63-64页
            4.2.5.1 内存池模块组织图第63-64页
            4.2.5.2 内存池元素分配流程第64页
            4.2.5.3 内存池元素释放流程第64页
    4.3 页框管理模块第64-80页
        4.3.1 分配单元描述符第64-65页
        4.3.2 页框分配算法第65页
        4.3.3 空闲页框管理模块第65-66页
        4.3.4 空闲页框链表管理模块第66-68页
        4.3.5 空闲页框树管理模块第68-71页
        4.3.6 空闲页框树管理模块主要流程描述第71-73页
            4.3.6.1 精确查找流程第71-73页
            4.3.6.2 非精确查找流程第73页
        4.3.7 页框分配模块第73-77页
        4.3.8 页框释放模块第77-78页
        4.3.9 页框操作模块第78-79页
        4.3.10 空闲页框组织方式第79-80页
    4.4 对象管理模块第80-84页
        4.4.1 对象描述符第80页
        4.4.2 对象哈希表模块第80-82页
        4.4.3 对象分配释放模块第82页
        4.4.4 对象映射模块第82-83页
        4.4.5 对象增长缩减模块第83-84页
    4.5 事务管理模块第84-90页
        4.5.1 已修改数据表管理模块第85-86页
        4.5.2 日志模块第86-89页
        4.5.3 故障恢复模块第89页
        4.5.4 事务写流程第89-90页
    4.6 本章小结第90-91页
第五章 页面置换详细设计与实现第91-103页
    5.1 数据区页面统计信息器第91-92页
    5.2 页面统计信息收集器第92页
    5.3 页面统计信息发送器第92-93页
    5.4 页面访问信息管理器第93-94页
    5.5 页组划分器第94页
    5.6 页组筛选器第94-95页
    5.7 页映射关系管理器第95-96页
    5.8 页组移动器第96页
    5.9 页面访问重定向器第96-97页
    5.10 已提交事务日志管理器第97-100页
        5.10.1 已提交日志组织方式第99页
        5.10.2 已提交事务日志管理器结构第99-100页
    5.11 页面置换管理器第100-102页
    5.12 本章小结第102-103页
第六章 测试第103-108页
    6.1 测试方案第103-104页
        6.1.1 测试说明第103页
        6.1.2 测试环境第103-104页
    6.2 NVM管理器功能测试第104-105页
        6.2.1 对象创建测试第104页
        6.2.2 对象删除测试第104页
        6.2.3 对象空间增加测试第104-105页
        6.2.4 对象空间减少测试第105页
        6.2.5 综合测试第105页
    6.3 页面置换功能测试第105-106页
    6.4 性能测试第106-107页
    6.5 本章小结第107-108页
第七章 总结与展望第108-110页
致谢第110-111页
参考文献第111-114页
攻硕期间取得的研究成果第114-115页
论文购买
论文编号ABS3752048,这篇论文共115页
会员购买按0.30元/页下载,共需支付34.5
不是会员,注册会员
会员更优惠充值送钱
直接购买按0.5元/页下载,共需要支付57.5
只需这篇论文,无需注册!
直接网上支付,方便快捷!
相关论文

点击收藏 | 在线购卡 | 站内搜索 | 网站地图
版权所有 艾博士论文 Copyright(C) All Rights Reserved
版权申明:本文摘要目录由会员***投稿,艾博士论文编辑,如作者需要删除论文目录请通过QQ告知我们,承诺24小时内删除。
联系方式: QQ:277865656