一种计算机存储加速系统及其优化方法

文档序号:9687207阅读:815来源:国知局
一种计算机存储加速系统及其优化方法
【技术领域】
[0001] 本发明设及一种存储加速系统,特别设及国产计算机针对海量数据且热口数据较 多的应用环境下,提高读性能的存储加速系统及其优化方法。
【背景技术】
[0002] 随着国家科技信息安全意识的不断提高,计算机的自主可控逐渐被提上日程,但 其国产计算机仍处起步阶段,与主流水平存在一定差距。然而,近几年来随着计算机和信息 技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆 炸性增长。面对如此海量的数据,如果将其全部放在大容量的SATA、SAS盘上时,会发现性能 (响应时间)不够;如果全放在固态硬盘(SSD)上时,又会发现成本很高。而现在的大数据具 有一个普遍特点,即大部分数据都会束之高阁封尘千年,只有少部分数据才会频繁访问使 用。如何提高国产计算机的存储读写能力成为研究的重点之一。
[0003] 多年来硬件技术不断向前发展,但各类硬件的发展速度却不尽相同。尤WCPU和磁 盘最为明显,两者之间速度落差的不断增大导致磁盘单位容量的I/O性能越来越低。但随着 闪存技术的进步,SSD的性价比逐渐提高,而且其高性能,低功耗,无噪音的特性对于大型存 储系统有着极大的吸引力。即使如此,SSD的高价格与低容量仍然是制约其大规模应用的主 要原因,例如一个32GBImd嚴X25-ESSD大约花费12美元每GB,运比典型的传统商用硬盘贵 了接近100倍。建立一个只有1TB的服务器,需要32个SSD,仅硬盘就要花费12000美元。所W 目前SSD并不能完全代替传统硬盘,但是我们可W用它来增强传统硬盘的性能,将SSD作为 存储系统中的二级缓存,储存常用数据来加速访问,降低用户的I/O请求直接与机械式磁盘 的交互,并通过与基于SSD的缓存交互提高I/O效率,W此达到性能与价格的兼顾。在计算机 系统中,缓存kache)的魔爪无处不在。CPU中有一级缓存化Icache)、二级缓存化2cache)甚 至Ξ级缓存(;L3cache),Linux有页高速缓冲存储器(pagecache),MySQL有高速缓冲存储器 (buffercache/querycache), 10系统中Raid卡/磁盘也有缓存(cache),在大型互联网系 统中,数据库前面一般也都有一层高速缓存系统memcache。缓存kache)是容量与性能之前 取平衡的结果,W更低的成本,获得更高的收益,是系统设计时应该遵循的原则。所W,毫无 疑问基于SSD的缓存技术成为一种更好的加速方案。
[0004] Flashcache是化cebook技术团队的又一力作,最初是为加速MySQL设计的。由于 Flashcache是在Linux层面的,所W任何受磁盘10困绕的软件或应用都可W方便的使用之。 Flashcache-个非常不错的软件(准确的说是一个Linux的模块),可W动态加载。 Flashcache通过在文件系统(VFS)和设备驱动之间新增了一次缓存层,来实现对热口数据 的缓存。由此可见Flashcache满足上述加速方案要求,即用SSD作为介质的缓存,通过将传 统硬盘上的热口数据缓存到SSD上,然后利用SSD优秀的读性能,来加速系统。运个方法较之 内存缓存,没有内存快,但是空间可W比内存大很多。

【发明内容】

[0005] 本发明所解决的技术问题是,针对现有技术的不足,提供一种计算机存储加速系 统及其优化方法,能有效提高国产计算机存储系统的性能,尤其应对海量数据且热口数据 较多的应用环境。
[0006] 本发明所提供的技术方案为:
[0007] -种计算机存储加速系统,包括国产计算机主板,国产计算机主板通过SATA、SAS 或PCI-E接口连接有如SSD、PBlaze3闪存加速卡等高速存储设备,作为文件系统(VFS)和底 层存储设备之间的高速缓存设备;所述高速存储设备是指数据读写速度高于传统机械硬盘 的存储设备,如SSD、PBlaze3闪存加速卡等。与W往的存储方式相比,本发明利用高速存储 介质提高了I/O效率,并降低用户I/O请求与机械磁盘直接交互的频次,从而在降低了机械 磁盘的故障发生率。
[0008] 所述国产计算机是基于国产自主可控CPU搭建的计算机。
[0009] 通过SATA、SAS或PCI-E等总线增加读写性能明显高于原存储介质(如机械硬盘)的 高速存储介质(如SSD、高速缓冲卡),作为存储系统中的高速缓存层。通过扩展国产计算机 的存储介质,增加高速缓存层,并通过改良高速缓存模块Flashcache的缓存方法,为读缓存 未命中时增加预读机制,W提升后续读写操作的命中率,来进一步增加读写性能。
[0010] 优选地,国产计算机主板通过PCI-E插槽连接有PBlaze3闪存加速卡,作为文件系 统(VFS)和底层存储设备之间的缓存设备。
[0011] -种计算机存储加速系统的优化方法,所述计算机存储加速系统为上述的计算机 存储加速系统,其优化方法为:采用基于Linux内核开发的国产操作系统,通过内核加载高 速缓存模块Flashcache,实现将底层存储设备(低速存储介质)上的数据缓存到高速存储设 备(高速存储介质)上,从而通过高速存储介质优秀的读写能力来提升存储系统的性能。
[0012] 所述高速缓存模块Flashcache通过通用设备映射机制Devicemapper将高速缓存 设备和底层存储设备映射为同一逻辑存储设备(层)(MappedDevice),从而通过高速存储 介质优秀的读写能力来提升存储系统的性能。所述MappedDevice是作为虚拟的块设备驱 动在内核中被注册的,它不是一个真实的设备驱动,不能完成块I/O请求(bio)处理,因此, 它主要是基于映射表对bio进行分解、克隆和重映射,然后通过调用某一目标设备驱动 targeLdriver的映射方法,来映射从上层分发下来的bio,找到正确的目标设备(Target_ Device),并将bio转发到目标设备的请求队列,启动数据传输,完成操作。当文件系统下发 I/O请求时,不再直接访问底层真实存储设备,而是下发到高速缓存设备上,查找数据,如果 存在则直接返回给上层,进而提高读写性能,如果不存在则需要将I/O请求再次下发到真实 存储设备上查找,如果找到则将数据返回给上一层并把数据写入到高速缓存中。
[0013] 进一步地,当文件系统下发I/O请求(读命令)时,下发到高速缓存设备上,查找目 标数据,如果在高速缓存设备上找到目标数据,则直接将目标数据返回给上层文件系统;如 果未在高速缓存设备上找到目标数据(即在高速缓存层未命中),则再次下发到底层存储设 备上查找,如果找到目标数据(命中),则在将目标数据返回给上层文件系统时,增加预读机 审IJ,即根据局部性原理,将目标数据及与目标数据相邻的多个数据块一起缓存到高速缓存 设备上,来提升后续操作在高速缓存中的命中率,从而提高整个存储系统的性能。
[0014] 有益效果:
[0015] 1、本发明的存储加速系统,在国产计算机的主板上通过PCI-E插槽扩展PBlaze3闪 存加速卡,作为文件系统(VFS)和设备驱动之间的高速缓存层,降低用户的I/O请求直接与 机械式磁盘的交互,从而在时间上推迟了机械式磁盘故障的发生时间,并通过与基于高速 换设备交互提高I/O效率,进而从总体上提高国产计算机存储系统的效率;
[0016] 2、本发明的优化存储方法,通过改良高速缓存模块的缓存方法,为读缓存未命中 时增加预读机制,所述预读机制在文件系统向设备驱动直接下发读命令后,将与目标数据 相邻的多个数据块一起缓存到高速缓存层,进一步提升国产计算机存储系统读写性能。
【附图说明】
[0017] 图1为本发明加入高速缓存后的分级缓存存储方式;
[001引图2为现有存储方式;
[0019] 图3为MappedDevice内核中各对象之间的层次关系;
[0020] 图4为flashcahce数据读取流程;
[0021] 图5为Linux存储层次架构。
【具体实施方式】
[0022] W下结合附图和【具体实施方式】对本发明进行进一步具体说明。
[0023] 1、计算机存储加速系统
[0024] 本发明的计算机存储加速系统一种计算机存储加速系统,包括国产计算机主板, 国产计算机主板通过SATA、SAS或PCI-E接口连接有如SSD、PBlaze3闪存加速卡等高速存储 设备,作为文件系统(VFS)和底层存储设备之间的缓存设备。如图1所示,与W往的存储方式 (见图2)相比,利
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1