【技术实现步骤摘要】
基于客户端高效缓存的远程文件数据访问性能优化方法
:本专利技术公开了一种基于客户端高效缓存的远程文件数据访问性能优化方法,涉及广域高性能计算面临的挑战,属于计算机
技术介绍
:在广域高性能计算环境中,访问远程文件数据时需通过客户端向远程服务器发送数据请求并进行访问。客户端缓存是远程文件数据访问中常见的用于提升IO性能的方法,主要思想是基于数据局部性原理在客户端缓存最近被访问的数据,当缓存数据被再次访问时,能够避免网络传输从而提升访问性能。大多数研究主要从缓存数据的组织结构和缓存的数据管理两个方面对缓存性能进行优化。在缓存数据的组织结构方面,客户端通常采用基于数据块索引的缓存组织结构来对文件数据进行缓存。Bradley针对IO密集型负载导致客户端缓存的数据频繁换出的问题,研究了一种渐进式的页面缓存方法,当一个页面的部分内容被更新时,并不立刻替换整个页面,而记录页面中仍然有效的部分,从而实现对缓存页面的细粒度控制,避免了因部分数据更新而造成整个页面的替换,该方法显著减少了缓存数据的换出频率,但是为了实现页面的细粒度控制引入了一定的时间和空间开销。Tara等人提出了基于机器学习在应用程序运行时动态选择缓存策略的方法,在程序执行前通过对应用的IO负载进行学习并建模,并基于所建立的模型在程序运行中动态选择合适的缓存策略,该方法有效提升了缓存的性能,但是预先建模的方法不适用于高性能计算环境中多类型IO负载对缓存的性能要求。Michael等人提出了虚拟缓存的概念,为每个应用建立一个虚拟缓存和虚拟缓存到物理缓存的映射表,在每次应用访问数据时记录虚拟缓存中的每个页 ...
【技术保护点】
1.一种基于客户端高效缓存的远程文件数据访问性能优化方法,其特征在于,在客户端基于局部性原理对全局元数据和文件数据进行缓存;采用基于数据块和文件为粒度的混合缓存策略对文件数据进行缓存;根据计算资源的使用状态对缓存进行自适应压缩;对频繁访问的数据在本地生成副本文件减少远程访问;基于应用的IO负载特征对缓存的大小进行动态调整;对过期的缓存数据进行细粒度更新;基于用户的访问特征及应用的负载特征挖掘出相关联文件,并将相关联文件的索引节点聚合成一个大索引节点在客户端并进行缓存。
【技术特征摘要】
1.一种基于客户端高效缓存的远程文件数据访问性能优化方法,其特征在于,在客户端基于局部性原理对全局元数据和文件数据进行缓存;采用基于数据块和文件为粒度的混合缓存策略对文件数据进行缓存;根据计算资源的使用状态对缓存进行自适应压缩;对频繁访问的数据在本地生成副本文件减少远程访问;基于应用的IO负载特征对缓存的大小进行动态调整;对过期的缓存数据进行细粒度更新;基于用户的访问特征及应用的负载特征挖掘出相关联文件,并将相关联文件的索引节点聚合成一个大索引节点在客户端并进行缓存。2.根据权利要求1所述的方法,其特征在于,包括以下步骤:1)在访问文件数据时,客户端首先访问广域文件系统的管理节点获取全局元数据,包含用户的数据空间信息,例如空间名称、位置,根据空间局部性缓存全局元数据,根据远程访问的反馈信息动态更新全局元数据缓存;2)对应用的IO负载特征进行动态识别,自适应选择合理的数据缓存策略;3)设置两层级缓存,基于空间局部性缓存远程文件数据,一级缓存不压缩数据,二级缓存压缩数据,一级缓存换出数据时,若CPU的利用率低于阈值,则对数据进行压缩并写入二级缓存;否则不写入二级缓存;4)计算缓存中数据被访问的平均次数M,若缓存中被替换出的数据访问次数大于M,则将该数据写入到本地持久存储中形成数据副本;5)访问缓存中的文件数据时,根据文件的最后更新时间判断缓存数据是否新鲜,若不新鲜则需要远程访问数据并缓存数据,缓存命中时,需要动态调整缓存数据的缓存位置;6)基于应用的IO负载特征对二级缓存的大小进行动态调整;7)更新缓存数据时,将缓存的数据块或者缓存的文件平均分割成多个小数据块,为每个小数据块计算指纹,将指纹信息发送到远程存储集群,只访问指纹不一致的数据块;8)远程访问文件时,基于用户的访问特征及应用的负载特征挖掘出相关联的文件,然后将这些相关联文件的索引节点聚合成一个大索引节点从服务端返回到客户端并进行缓存。3.根据权利要求2所述的方法,其特征在于,所述步骤1)包括全局元数据的缓存和更新的步骤:步骤(1.1)客户端向请求全局元数据;步骤(1.2)客户端判断本地是否缓存有全局元数据;步骤(1.3)若本地未缓存全局元数据,则客户端向广域文件系统管理节点请求全局元数据信息,并将返回的全局元数据进行缓存,若缓存大小达到设定的阈值则采用LRU算法替换缓存;步骤(1.4)若本地缓存全局元数据,则客户端访问缓存的全局元数据获取数据空间所在的位置,并向远程的存储集群发送文件数据请求;步骤(1.5)判断远程的存储集群上是否存在相应的数据空间;步骤(1.6)若远程的存储集群上存在相应的数据空间,则访问相应的文件获取数据并返回到客户端;步骤(1.7)若远程的存储集群上不存在相应的数据空间,说明缓存已经过期,则向广域文件系统管理节点请求全局元数据信息,访问远程存储集群获取文件数据并更新全局元数据缓存。4.根据权利要求2所述的方法,其特征在于,所述步骤2)包括以下步骤:步骤(2.1)在系统启动时,客户端默认采用基于数据块粒度的数据缓存策略对文件数据进行缓存;步骤(2.2)在广域文件系统客户端设置变量A以统计文件为粒度被访问的次数,当客户端已文件的粒度被访问一个文件时,变量A自增1;步骤(2.3)当A超过设定的阈值时,则客户端采用基于数据块和文件为粒度的混合缓存策略;步骤(2.4)当在设定的时间内,文件为粒度被访问的次数为0,则A自减1;步骤(2.5)当A小于设定的阈值时,则客户端采用基于数据块为粒度的缓存策略。5.根据权利要求2所述的方法,其特征在于,所述步骤3)包括以下步骤:步骤(3.1)建立一级缓存对最近被频繁访问的文件数据进行缓存,一级不对数据进行压缩以实现快速存取,若缓存大小达到设定的阈值则采用LRU算法替换缓存;步骤(3.2)建立二级缓存,当CPU的利用率低于阈值时,对一级缓存中替换出的数据进行压缩并缓存,二级缓存容量大且对数据进...
【专利技术属性】
技术研发人员:肖利民,韦冰,秦广军,霍志胜,宋尧,周汉杰,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。