基于Linux的混合存储系统Bcache的研究与改进

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:duoduo19851125
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着我们步入大数据时代,数据量、服务器量不断增长,对存储系统的增长趋向大容量、低成本和高性能。然而,若是单独介质的存储系统,机械硬盘、固态硬盘或是非易失随机存储器都有不同的限制,不能满足我们需要的存储系统。机械硬盘容量大,价格低,然而读写性能差,固态硬盘则刚好与机械硬盘相反,读写速度快,尤其是随机性能非常优秀,非易失性随机存储器的劣势在于价格过高。在尚未发现满足容量、价格和性能的存储介质前,混合存储能充分利用机械硬盘和固态硬盘的的特性组成高效的存储系统,既有超大的容量,又能在保持合理的成本的前提下,显著提高存储系统性能。开源框架Bcache就是一种混合存储技术的实现,利用高速固态硬盘给慢速的机械硬盘加速,平衡了系统的成本和需求。本文首先介绍了混合存储技术的研究现状及其发展历程,然后分析了混合存储中的关键技术,接下来深入研究了两种基于Linux的混合存储系统的算法Flashcache和Bcache。Flashcache算法是利用Linux设备映射机制实现的,Bcache算法将SSD和HDD虚拟成一个虚拟设备,提供给上层使用。从缓存映射策略、缓存替换策略、读写处理流程和清理缓存的垃圾回收机制这四个方面详细分析了两种算法。最后,对两种算法进行仿真实验,并且通过实验验证Bcache算法优于Flashcache算法。在分析了Bcache具体实现的基础上,针对Bcache算法中存在的一些缺陷,并行中的竞争与调度、回写速率调整、回写延迟过长、随机读性能的瓶颈等问题,本章提出了一种改进的Bcache算法来解决上述缺陷。针对系统的并行性问题,对B+树的锁机制做了优化,增加了基于线程池的优化队列,提高了线程并行程度并且减小了线程之间切换浪费的系统资源。对于回写中存在的问题,对回写速率的控制算法进行了优化,提出结合了指数加权平均算法和PID控制算法的改进的速率控制算法,同时提出一种新的方法解决了回写过程中IO延迟过大的问题。对于Bcache随机读性能的瓶颈,设计了一种高效且安全的页高速缓存机制并给出了实现,可以大幅提高随机读性能。最后用不同的文件块大小和不同的IO深度对系统性能进行全面的测试。从顺序性能,随机性能,函数延迟,命中率等方面分析改进算法的效果,并且验证我们对Bcache做的优化。
其他文献
超宽带无线传感器网络具有传统无线传感器网络无法比拟的优势,将成为下一代无线传感器网络的发展方向,具有广阔的应用前景。论文给出了基于TOA定位技术的优势,分析了基于TOA
卫星通信中的载波复用技术是在采用透明转发器的卫星信道中,将多个用户的信号共享频带传输。目前,应用载波复用技术的卫星通信系统主要有三种类型,即CDMA(CodeDivision Multiple
广义可靠性涵盖了可修复产品的可靠性与维修性,是企业产品质量水平的综合反映,提高产品广义可靠性对提高产品质量、降低成本及提升产品在国内外市场上的竞争力均具有重要的意义
无线移动通信发展越来越快,无线网络也逐渐在家家户户使用,用手机进行语音业务也已经变成生活中不可缺少的沟通方式。随着打电话的人不断增多,通信网络压力越来越大,移动通信
正交频分复用(OFDM)具有诸多优点,因而在通信领域得到了广泛地关注,成为下一代移动通信系统中的关键技术之一。但实际通信中信道的时变特性非常明显,当信道为快衰落时,由多普
相机标定是计算机视觉应用中最重要的环节之一。随着工业的迅速发展,大尺寸形体的整体三维测量需求日益增加。本文针对大尺寸形体的三维测量提出了一种基于同心圆与子板拼接