一种机群文件系统中缓存管理的方法及系统技术方案

技术编号:2918014 阅读:538 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种机群文件系统中缓存管理的方法及系统,方法包括客户端接收应用层的文件访问请求,将文件访问请求封装到读请求消息中,还包括:步骤1,客户端识别读请求对应的访问模式信息;步骤2,客户端将访问模式信息封装到所述读请求消息中,将该读请求消息发送给存储服务器;步骤3,存储服务器接收读请求消息,从所述存储服务器的磁盘读取读请求消息要从所述存储服务器访问的数据,通过应答消息将该数据发送给客户端;步骤4,存储服务器从读请求消息中解析出访问模式信息,根据访问模式信息管理读请求消息所访问的数据在服务器端内存中的缓存。从而,提高存储服务器端缓存命中率,并避免顺序预取数据在各级内存中重复缓存。

【技术实现步骤摘要】

本专利技术涉及计算机存储领域,尤其涉及一种机群文件系统中缓存管理的方法及系统
技术介绍
机群(cluster)系统由互相连接的多个独立计算机所组成,该计算机可以是单机或多处理器系统,例如PC(个人计算机)、工作站或SMP(对称多处理系统),每个计算机都有自己的存储器、I/O(输入/输出)设备和操作系统。机群系统对用户和应用来说是一个单一的系统,能够提供低价高效的高性能环境和快速可靠的服务。由于机群系统具有高性价比的优势,其已成为高性能计算机的主流结构。在机群系统中,通常存储服务器配备有大容量的存储设备,在机群系统运作时,需要对这些存储设备进行管理。同时,机群系统还需要为不同客户端的用户提供的文件共享服务。机群文件系统为机群系统提供了上述服务,它将机群系统中的所有存储设备整合起来,建立一个统一的名字空间(文件和目录的组织结构)。各个客户端看到目录结构一致的文件系统,不同节点(客户端)的用户可以采用透明的方式访问相同的文件。机群文件系统中的数据通常不存储在本客户端的磁盘中,而是存储在存储服务器上,因而通常都会设有专用的存储服务器。以写为例,应用进程通过机群文件系统的客户端写数据时,客户端首先将数据通过网络传送到存储服务器端,存储服务器再将接收到的数据写到存储服务器的存储设备中。缓存技术是一种有效提升计算机性能的优化技术。文件缓存指的是在计算机系统的内存中暂时保留一些磁盘文件数据的副本,利用存储访问的局部性原理,减少对磁盘设备的访问次数,从而达到提高性能的目的。伴随新的存储结构的诞生以及机群文件系统的发展,缓存结构也发生了新的变化。为了改善性能,机群文件系统存储服务器端和客户端都会使用大-->容量的主存来缓存文件数据。这些缓存构成了多级缓存体系结构,如图1所示。文件数据既可能缓存在客户端中又可能缓存在服务器中,但如果没有对多级缓存进行有效地管理,即使增大缓存的空间,缓存所带来的性能提升也不会成比例地增长。机群文件系统中,应用程序对文件发起顺序读访问时,文件系统的客户端和存储服务器的顺序预取机制都会被触发。预取数据首先被从服务器端的磁盘预取到服务器的内存,然后再通过网络传递到客户端的内存。由于文件缓存往往采用LRU(Least Recently Used,最近最少使用)替换策略。所以,预取数据既会被缓存在客户端的内存中,又会被缓存在存储服务器的内存中。假设在被真正访问之前,预取数据都会被缓存在内存中而不会被提前替换。那么,这两级缓存的内容是完全重复的,如图2所示客户端将预取的数据,图中AB对应数据,缓存在内存中,服务器也会将预取的数据,A’B’对应数据,缓存在内存中,AB和A’B’的内容完全重复。如果预取数据在客户端的内存中命中,那么将不会再向存储服务器发起新的请求。如果预取数据没有在客户端内存中命中,那么它也不会在存储服务器端的内存中命中。所以,在上面的假设条件成立的情况下,服务器端缓存的预取数据将永远不会命中。存储服务器的该部分内存实际上缓存了无效的数据。只有预取数据被提前从客户端内存中替换时,存储服务器端缓存的数据才可能命中。然而,该种情况通常不会出现。因为单个存储服务器通常为多个客户端服务。而且,机群文件系统中的存储服务器一般是由普通的PC(个人计算机)构成。所以存储服务器端的内存比客户端更加稀缺。机群文件系统中的缓存体系结构主要存在两个问题。问题一,存储服务器低级缓存与客户端高级缓存有着不同的访问特征。存储服务器内存访问的通常为客户端高级缓存不命中的数据,所以存储服务器内存访问的局部性较弱。传统的基于局部性原理的缓存替换策略如LRU不适用于存储服务器端的缓存。问题二,如果没有将不同级级缓存管理联系起来,则在各级缓存中会缓存大量重复的数据,低级缓存的命中率低和缓存空间利用率。为了优化缓存的效果,在“An Effective Buffer Cache ManagementScheme to Exploit Both Temporal and Spatial Locality.In:Proceedingsof the Second USENIX Conference on File and Storage Technologies(FAST-->2005),San Francisco,CA,December 2005.”中最早提出利用数据访问的空间局部性来改善缓存的性能,并利用这一原理提出了DULO算法。因为磁盘的顺序访问性能要远高于随机访问性能,所以,如果数据被访问的频率相同,在内存中优先缓存随机访问的数据,可以大大减少磁盘访问中磁头移动的次数。该算法主要基于单级缓存结构,主要解决单级缓存中的问题。在管理单级缓存的过程中的确比传统的LRU替换策略有明显优势。然而,这种管理策略不能把机群系统中的各级缓存管理联系起来,不适用于机群文件系统缓存体系结构。现有的机群文件系统缓存管理技术可以分为两大类:对客户端透明的缓存管理策略和需要客户端参与缓存管理策略。对客户端透明的缓存管理策略保持原有的I/O访问接口,管理过程对存储软件的客户端完全透明。只是在存储服务器端挖掘访问信息来实现统一的管理。管理过程中不需要客户端任何提示信息的帮助。这类管理策略的典型管理算法包括“Web Search for aPlanet:The Google Cluster Architecture,IEEE Micro,Vol.23,No.2,March 2003,pp.22-28.”中的MQ替换算法,“The Google File System.In:Larry P,eds.Proceedings of the 19th ACM Symposium onOperating Systems Principles.NewYork:ACM Press,2003.19-22.”中基于高级缓存替换信息(eviction-based)的管理算法以及“Themulti-queue replacement algorithm for second level buffer caches.InProceedings of the 2001 USENIX Annual Technical Conference,pages91-104,June 2001.”中X-RAY管理策略,需要客户端参与的缓存管理策略通过牺牲透明性来换取高的性能。该种管理策略需要对传统I/O访问接口进行拓展,需要修改存储系统的客户端软件来将多级缓存的管理统一起来。现有技术未解决机群文件系统中,存储服务器缓存命中率低,顺序预取数据在各级内存中重复缓存的问题。
技术实现思路
为解决上述问题,本专利技术提供了一种机群文件系统中缓存管理的方法及系统,用以提高存储服务器端缓存命中率,避免顺序预取数据在各级内存中重复缓存。-->本专利技术公开了一种机群文件系统中缓存管理的方法,包括客户端接收应用层的文件访问请求,将所述文件访问请求封装到读请求消息中,所述方法还包括:步骤1,所述客户端识别所述读请求对应的访问模式信息;步骤2,所述客户端将所述访问模式信息封装到所述读请求消息中,将所述读请求消息发送给存储服务器;步骤3,所述存储服务器接收所述读请求消息,从所述存储服务器的磁盘读取所述读请求消本文档来自技高网
...

【技术保护点】
一种机群文件系统中缓存管理的方法,包括客户端接收应用层的文件访问请求,将所述文件访问请求封装到读请求消息中,其特征在于,所述方法还包括: 步骤1,所述客户端识别所述读请求对应的访问模式信息; 步骤2,所述客户端将所述访问模式信息封装到所述读请求消息中,将所述读请求消息发送给存储服务器; 步骤3,所述存储服务器接收所述读请求消息,从所述存储服务器的磁盘读取所述读请求消息要从所述存储服务器访问的数据,通过应答消息将所述数据发送给所述客户端; 步骤4,所述存储服务器依据所述读请求消息中访问模式信息判断所述客户端的访问模式类型是否为顺序访问,如果是,则将被访问的数据从所述存储服务器的内存中释放,否则,继续缓存被访问的数据。

【技术特征摘要】
1.一种机群文件系统中缓存管理的方法,包括客户端接收应用层的文件访问请求,将所述文件访问请求封装到读请求消息中,其特征在于,所述方法还包括:步骤1,所述客户端识别所述读请求对应的访问模式信息;步骤2,所述客户端将所述访问模式信息封装到所述读请求消息中,将所述读请求消息发送给存储服务器;步骤3,所述存储服务器接收所述读请求消息,从所述存储服务器的磁盘读取所述读请求消息要从所述存储服务器访问的数据,通过应答消息将所述数据发送给所述客户端;步骤4,所述存储服务器依据所述读请求消息中访问模式信息判断所述客户端的访问模式类型是否为顺序访问,如果是,则将被访问的数据从所述存储服务器的内存中释放,否则,继续缓存被访问的数据。2.如权利要求1所述的机群文件系统中缓存管理的方法,其特征在于,所述客户端设置有顺序计数器,所述步骤1进一步包括:步骤21,判断所述文件访问请求对文件访问的起始位置是否为所述文件上次被访问的结束位置,如果是,则将所述顺序计数器加1,否则,将所述顺序计数器清零;步骤22,判断所述顺序计数器是否大于2,如果是,则所述访问类型为所述顺序访问,否则,所述访问类型为随机访问。3.如权利要求2所述的机群文件系统中缓存管理的方法,其特征在于,所述步骤21和所述步骤22间还包括:步骤31,记录所述文件访问请求对所述文件访问的起始位置和所述访问的访问粒度。4.如权利要求3所述的机群文件系统中缓存管理的方法,其特征在于,所述步骤21前进一步包括,根据记录的所述文件上次被访问的起始位置和访问粒度计算所述文件上次被访问的结束位置。5.如权利要求4所述的机群文件系统中缓存管理的方法,其特征在于,步骤3中读取所述读请求消息所访问的数据进一步包括:步骤51,判断所述读请求消息所访问的数据是否在所述存储服务器的内存中,如果不是,则执行步骤52;步骤52,将所述读请求消息所访问的数据从所述存储服务器的磁盘读到所述存储服务器的内存中。6.一种机群文件系统中缓存管理的系统,包括具...

【专利技术属性】
技术研发人员:刘岳熊劲
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1