当前位置:主页 > 科技论文 > 计算机论文 >

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

发布时间:2017-09-25 20:09

  本文关键词:面向新型非易失性存储器的内存管理系统设计与实现


  更多相关文章: 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驱动的形式方便用户使用。最后测试并通过了持久化页框管理系统和页面置换机制的功能测试,顺利完成了持久化页框管理系统的元数据空间开销对比测试,测试结果表明持久化页框系统的元数据开销很小,达到了提高空间利用率的目的。
【关键词】:NVM 页框管理 页面置换
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP333
【目录】:
  • 摘要5-7
  • ABSTRACT7-13
  • 第一章 绪论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 内存池状态v159-60
  • 4.2.3.3 内存池子池状态v260
  • 4.2.3.4 内存池状态v360
  • 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

【参考文献】

中国期刊全文数据库 前1条

1 张婷;李文敬;;基于多核PC的事务内存重复探测Hash冲突检测算法[J];现代计算机;2013年11期



本文编号:919320

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/919320.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户7476c***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com