CN116069752A - 一种面向分布式文件系统的混合预取方法 - Google Patents
一种面向分布式文件系统的混合预取方法 Download PDFInfo
- Publication number
- CN116069752A CN116069752A CN202111297928.7A CN202111297928A CN116069752A CN 116069752 A CN116069752 A CN 116069752A CN 202111297928 A CN202111297928 A CN 202111297928A CN 116069752 A CN116069752 A CN 116069752A
- Authority
- CN
- China
- Prior art keywords
- file
- prefetching
- access
- data
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种面向分布式文件系统的混合预取方法,该方法根据访问文件在存储节点上的数据块分布将访问请求分为两种类型。如果该文件在一个存储节点上数据块较少,则根据历史访问信息挖掘其他关联性较强的数据块进行预取。同时,为了提高预取效率,本发明综合预取收益和预取操作开销调整预取长度,避免预取浪费。反之如果该文件在一个数据节点上的数据块较多,则针对该文件内部数据块进行预取操作。同时为了避免预取过多不会被访问的数据块,根据该文件的历史访问信息对预取长度进行调整,实现更高的预取效率。另外,本发明根据预取请求和非预取请求的效益调整存储节点上的缓存分配,进一步提高了存储节点的缓存效益。本发明能够兼顾分布式文件系统中不同数据块分布情况的预取效率。
Description
技术领域
本发明属于计算机系统结构分布式文件系统领域,涉及一种面向分布式文件系统的混合预取方法。
背景技术
在海量数据存储和处理系统中,普遍采用分布式文件系统作为底层存储系统。为支持大数据分析、自动驾驶、智慧城市等应用的实时查询和秒级响应需求,需要分布式文件系统具有较高的读写带宽。随着处理器和网络性能的不断提升,传统的磁盘等低速存储设备正成为进一步提升分布式文件系统性能的主要瓶颈之一。预取技术是一种利用存储设备随机访问和顺序访问性能差来提升存储系统读性能的技术。在存储设备中,顺序访问性能往往比随机访问性能强,因此,预取技术利用空闲时间预先将关联性较强的数据提前从存储设备中取出,放到距离计算节点近的地方,使得后续无需再额外访问存储设备,从而提高存储系统性能。但是在分布式系统中,一个数据块通常采用多副本机制冗余存储在不同存储节点上,并且支持从这些存储节点进行并发访问。多副本机制一方面提高系统的可靠性和可用性,另一方面也提升了系统的读性能。但是,多副本机制也将单个文件的数据访问打散到不同的存储节点,降低了数据请求之间的关联性,降低了预取技术在分布式存储系统中的效果。
发明内容
为了解决现有分布式文件系统预取技术中存在的上述问题,本发明提出了一种面向分布式文件系统的混合预取方法,其具体技术方案如下:
一种面向分布式文件系统的混合预取方法,该方法根据访问文件在存储节点上的数据块分布将访问请求分为两种类型。如果该文件在一个存储节点上数据块较少,则根据历史访问信息挖掘其他关联性较强的数据块进行预取。同时,为了提高预取效率,本发明综合预取收益和预取操作开销调整预取长度,避免预取浪费。反之如果该文件在一个数据节点上的数据块较多,则针对该文件内部数据块进行预取操作。同时为了避免预取过多不会被访问的数据块,根据该文件的历史访问信息对预取长度进行调整,实现更高的预取效率。另外,本发明根据预取请求和非预取请求的效益调整存储节点上的缓存分配,进一步提高了存储节点的缓存效益。
优选的,所述文件访问预取操作,具体包括以下步骤:
步骤1,元数据服务器收到客户端的文件读取请求后,从文件数据块分布的元数据表中获取该文件的数据块副本分布信息;
步骤2,为保持高可用,一个文件的数据块用三副本方式存储。元数据按存储节点从新排列数据块在每个存储节点分布,并计算出该读取请求在每个存储节点的最大访问长度,将该长度作为预取的基准长度;
步骤3,如果预取基准长度超过阈值(默认值为4个数据块),则采用基于文件数据块分布来预测该请求的预取长度;
步骤4,如果预取基准长度小于阈值,则采用基于数据块访问相关性来预测该请求的预取长度。
优选的,所述基于文件数据块分布预测预取长度,工作流程具体包括以下步骤:
步骤1,根据该文件的历史访问信息,对基准预取长度进行调整,以避免预取浪费。为了减少元数据服务器的开销,基于LRU和最小堆的方法构建一个文件访问计数器,并从中选出热点文件进行跟踪;
步骤2,为减少对元数据服务器资源的占用,将文件句柄作为键值,其计数器作为数据,存储在LRU缓存中。当文件的计数比最小堆的根节点计数大的时候,该文件替换掉最小堆的根节点;被淘汰的最小堆根节点则重新放入LRU缓存中。另外,最小堆和LRU缓存的大小都是固定的,一个文件如果长时间未被访问,那么该文件就会从LRU缓存中被淘汰出去;
步骤3,元数据将处于最小堆中的文件作为当前的热点文件,并追踪该文件在存储节点上的实际访问长度跟之前预测的基准预取长度的比值δ,并记录在该文件的元数据中;
步骤4,在获得请求在一个存储节点上的基准预取长度base_len后,接着查找该文件是否是热点文件,如果是则取出之前记录的比值δ作为该文件的预取调整系数,然后重新计算该请求的预取长度real_len,具体公式为real_len=base_len×δ;
步骤5,反之,如果该请求不属于热点文件,那么将热点文件的最小比值作为该请求的预取调整系数,然后调整预取长度。
优选的,所述基于数据块访问相关性预测预取长度,工作流程具体包括以下步骤:
步骤1,存储节点负责跟踪历史数据块访问的相关性。存储节点将每个请求的元数据(比如访问文件、偏移地址和数据长度等)缓存在内存一段时间,具体时间长度可以根据空闲内存大小进行调整,即利用空闲内存存储这部分访问信息,以减少对在线I/O的影响;
步骤2,如果一个请求的访问范围(从偏移地址开始到数据长度为止)与步骤1中记录的访问地址有重叠,并且叠加后的范围小于阈值,那么将这部分的访问信息移动到队头,并增加其内存停留时间。具体的阈值根据连续多个数据块的访问延迟和一个数据块的随机访问延迟计算得到,具有的计算公式为n=Trandom/Tsequence,其中Trandom是随机访问一个数据块的延迟,Tsequence为顺序访问一个数据块的延迟。因为顺序访问的延迟小于随机访问延迟,因此,在访问相关性较高的数据请求中,可以通过预取操作减少数据的访问延迟。如果该请求的访问范围不与现有记录重叠,或者叠加后的地址范围超过阈值,那么将其当作一个新请求,记录到步骤1中;
步骤3,随着新请求的不断插入,采用先进先出的方式淘汰旧的请求,因此,如果一个请求和后续请求之间没有存在访问地址相关性,会被淘汰出内存。只有相关性较高的请求连续访问存储节点,这部分的数据块才会被认为具有访问相关性,同时在当前具有较高的访问热度;
步骤4,存储节点将步骤2中获取到的具有访问相关性的数据块定期地推送给元数据服务器,默认周期是3秒。元数据收到文件数据块访问相关性的信息后,将其作为文件的元数据一部分进行保存;
步骤5,存储节点将步骤2中获取到的具有访问相关性的数据块定期地推送给元数据服务器,默认周期是3秒。元数据收到文件数据块访问相关性的信息后,将其作为文件的元数据一部分进行保存。
优选的,所述预取缓存管理模块,工作流程具体包括以下步骤:
步骤1,本发明对所有数据请求采用统一的缓存管理,目的是减少多缓存队列的管理开销和提高缓存的整体效益。对非预取请求和预取请求的数据在缓存中采用分区存储的策略,将非预取请求的数据放置在缓存的头部位置,使用LRU等常用缓存淘汰算法管理,将预取请求的数据放置在缓存的尾部位置,使用先进先出的缓存淘汰算法管理;
步骤2,两个分区通过一个效益游标进行分离,即分别计算预取数据的缓存效率和非预取数据的缓存效率,并在两者之间找一个效益平衡点,并将该点作为效益游标。非预取缓存的效率计算公式为h×Tdisk_random,其中h为缓存命中率,Tdisk_random为缓存命中时节省的一次磁盘访问延迟;预取缓存的效益为一次顺序访问延迟Tdisk_sequence。元数据服务器监控这两个分区的缓存效益。为了减少开销,非预取缓存只监控非预取缓存分区末尾的m个数据块(默认值是4个数据块);
步骤3,元数据周期性地在两个分区之间调整缓存分配,如果非预取缓存的效益小于预取缓存的效益,那么游标向后移动,即减少非预取缓存的大小;反之,如果预取缓存的效益小于非预取缓存的效益,那么游标向前移动,即减少预取缓存的大小。每个周期最多只调整一个缓存块;
步骤4,预取数据块是读操作为主的数据,并且其效益基本不受缓存调度的影响,因此为提高预取缓存的效益,对预取缓存进行压缩存储,扩大预取缓存的存储空间。如果请求在预取缓存中命中,则直接向客户端返回压缩的数据,并在客户端进行解压缩,减少元数据服务器的处理器压力。
本发明的优点:本发明能够兼顾分布式文件系统中不同数据块分布情况的预取效率。
附图说明
图1为本发明实施例文件访问预取操作的流程图;
图2为本发明实施例基于文件数据块分布预测预取长度的流程图;
图3为本发明实施例基于数据块访问相关性预测预取长度的流程图;
图4为本发明实施例预取缓存管理模块的流程图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,对本发明作进一步详细说明。
本发明提出了一种面向分布式文件系统的混合预取方法,该方法根据访问文件在存储节点上的数据块分布将访问请求分为两种类型。如果该文件在一个存储节点上数据块较少,则根据历史访问信息挖掘其他关联性较强的数据块进行预取。同时,为了提高预取效率,本发明综合预取收益和预取操作开销调整预取长度,避免预取浪费。反之如果该文件在一个数据节点上的数据块较多,则针对该文件内部数据块进行预取操作。同时为了避免预取过多不会被访问的数据块,根据该文件的历史访问信息对预取长度进行调整,实现更高的预取效率。另外,本发明根据预取请求和非预取请求的效益调整存储节点上的缓存分配,进一步提高了存储节点的缓存效益。本发明能够兼顾分布式文件系统中不同数据块分布情况的预取效率。
所述文件访问预取操作的主要流程如图1所示。所述文件访问预取操作的具体步骤如下:
步骤1,元数据服务器收到客户端的文件读取请求后,从文件数据块分布的元数据表中获取该文件的数据块副本分布信息;
步骤2,为保持高可用,一个文件的数据块用三副本方式存储。元数据按存储节点从新排列数据块在每个存储节点分布,并计算出该读取请求在每个存储节点的最大访问长度,将该长度作为预取的基准长度;
步骤3,如果预取基准长度超过阈值(默认值为4个数据块),则采用基于文件数据块分布来预测该请求的预取长度;
步骤4,如果预取基准长度小于阈值,则采用基于数据块访问相关性来预测该请求的预取长度。
所述基于文件数据块分布预测预取长度的主要流程如图2所示。基于文件数据块分布预测预取长度的具体执行步骤如下:
步骤1,根据该文件的历史访问信息,对基准预取长度进行调整,以避免预取浪费。为了减少元数据服务器的开销,基于LRU和最小堆的方法构建一个文件访问计数器,并从中选出热点文件进行跟踪;
步骤2,为减少对元数据服务器资源的占用,将文件句柄作为键值,其计数器作为数据,存储在LRU缓存中。当文件的计数比最小堆的根节点计数大的时候,该文件替换掉最小堆的根节点;被淘汰的最小堆根节点则重新放入LRU缓存中。另外,最小堆和LRU缓存的大小都是固定的,一个文件如果长时间未被访问,那么该文件就会从LRU缓存中被淘汰出去;
步骤3,元数据将处于最小堆中的文件作为当前的热点文件,并追踪该文件在存储节点上的实际访问长度跟之前预测的基准预取长度的比值δ,并记录在该文件的元数据中;
步骤4,在获得请求在一个存储节点上的基准预取长度base_len后,接着查找该文件是否是热点文件,如果是则取出之前记录的比值δ作为该文件的预取调整系数,然后重新计算该请求的预取长度real_len,具体公式为real_len=base_len×δ;
步骤5,反之,如果该请求不属于热点文件,那么将热点文件的最小比值作为该请求的预取调整系数,然后调整预取长度。
所述基于数据块访问相关性预测预取长度的主要流程如图3所示。具体步骤如下:
步骤1,存储节点负责跟踪历史数据块访问的相关性。存储节点将每个请求的元数据(比如访问文件、偏移地址和数据长度等)缓存在内存一段时间,具体时间长度可以根据空闲内存大小进行调整,即利用空闲内存存储这部分访问信息,以减少对在线I/O的影响;
步骤2,如果一个请求的访问范围(从偏移地址开始到数据长度为止)与步骤1中记录的访问地址有重叠,并且叠加后的范围小于阈值,那么将这部分的访问信息移动到队头,并增加其内存停留时间。具体的阈值根据连续多个数据块的访问延迟和一个数据块的随机访问延迟计算得到,具有的计算公式为n=Trandom/Tsequence,其中Trandom是随机访问一个数据块的延迟,Tsequence为顺序访问一个数据块的延迟。因为顺序访问的延迟小于随机访问延迟,因此,在访问相关性较高的数据请求中,可以通过预取操作减少数据的访问延迟。如果该请求的访问范围不与现有记录重叠,或者叠加后的地址范围超过阈值,那么将其当作一个新请求,记录到步骤1中;
步骤3,随着新请求的不断插入,采用先进先出的方式淘汰旧的请求,因此,如果一个请求和后续请求之间没有存在访问地址相关性,会被淘汰出内存。只有相关性较高的请求连续访问存储节点,这部分的数据块才会被认为具有访问相关性,同时在当前具有较高的访问热度;
步骤4,存储节点将步骤2中获取到的具有访问相关性的数据块定期地推送给元数据服务器,默认周期是3秒。元数据收到文件数据块访问相关性的信息后,将其作为文件的元数据一部分进行保存;
步骤5,存储节点将步骤2中获取到的具有访问相关性的数据块定期地推送给元数据服务器,默认周期是3秒。元数据收到文件数据块访问相关性的信息后,将其作为文件的元数据一部分进行保存。
所述预取缓存管理模块主要流程如图4所示。具体流程如下:
步骤1,本发明对所有数据请求采用统一的缓存管理,目的是减少多缓存队列的管理开销和提高缓存的整体效益。对非预取请求和预取请求的数据在缓存中采用分区存储的策略,将非预取请求的数据放置在缓存的头部位置,使用LRU等常用缓存淘汰算法管理,将预取请求的数据放置在缓存的尾部位置,使用先进先出的缓存淘汰算法管理;
步骤2,两个分区通过一个效益游标进行分离,即分别计算预取数据的缓存效率和非预取数据的缓存效率,并在两者之间找一个效益平衡点,并将该点作为效益游标。非预取缓存的效率计算公式为h×Tdisk_random,其中h为缓存命中率,Tdisk_random为缓存命中时节省的一次磁盘访问延迟;预取缓存的效益为一次顺序访问延迟Tdisk_sequence。元数据服务器监控这两个分区的缓存效益。为了减少开销,非预取缓存只监控非预取缓存分区末尾的m个数据块(默认值是4个数据块);
步骤3,元数据周期性地在两个分区之间调整缓存分配,如果非预取缓存的效益小于预取缓存的效益,那么游标向后移动,即减少非预取缓存的大小;反之,如果预取缓存的效益小于非预取缓存的效益,那么游标向前移动,即减少预取缓存的大小。每个周期最多只调整一个缓存块;
步骤4,预取数据块是读操作为主的数据,并且其效益基本不受缓存调度的影响,因此为提高预取缓存的效益,对预取缓存进行压缩存储,扩大预取缓存的存储空间。如果请求在预取缓存中命中,则直接向客户端返回压缩的数据,并在客户端进行解压缩,减少元数据服务器的处理器压力。
以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种面向分布式文件系统的混合预取方法,其特征在于,根据访问文件在存储节点上的数据块分布将访问请求分为两种类型。如果该文件在一个存储节点上数据块较少,则根据历史访问信息挖掘其他关联性较强的数据块进行预取。同时,为了提高预取效率,本发明综合预取收益和预取操作开销调整预取长度,避免预取浪费。反之如果该文件在一个数据节点上的数据块较多,则针对该文件内部数据块进行预取操作。同时为了避免预取过多不会被访问的数据块,根据该文件的历史访问信息对预取长度进行调整,实现更高的预取效率。另外,本发明根据预取请求和非预取请求的效益调整存储节点上的缓存分配,进一步提高了存储节点的缓存效益。
2.如权利要求1所述的一种面向分布式文件系统的混合预取方法,其特征在于,所述文件访问预取操作,具体包括以下步骤:
步骤1,元数据服务器收到客户端的文件读取请求后,从文件数据块分布的元数据表中获取该文件的数据块副本分布信息;
步骤2,为保持高可用,一个文件的数据块用三副本方式存储。元数据按存储节点从新排列数据块在每个存储节点分布,并计算出该读取请求在每个存储节点的最大访问长度,将该长度作为预取的基准长度;
步骤3,如果预取基准长度超过阈值(默认值为4个数据块),则采用基于文件数据块分布来预测该请求的预取长度;
步骤4,如果预取基准长度小于阈值,则采用基于数据块访问相关性来预测该请求的预取长度。
3.如权利要求2所述的一种面向分布式文件系统的混合预取方法,其特征在于,所述基于文件数据块分布预测预取长度,工作流程具体包括以下步骤:
步骤1,根据该文件的历史访问信息,对基准预取长度进行调整,以避免预取浪费。为了减少元数据服务器的开销,基于LRU和最小堆的方法构建一个文件访问计数器,并从中选出热点文件进行跟踪;
步骤2,为减少对元数据服务器资源的占用,将文件句柄作为键值,其计数器作为数据,存储在LRU缓存中。当文件的计数比最小堆的根节点计数大的时候,该文件替换掉最小堆的根节点;被淘汰的最小堆根节点则重新放入LRU缓存中。另外,最小堆和LRU缓存的大小都是固定的,一个文件如果长时间未被访问,那么该文件就会从LRU缓存中被淘汰出去;
步骤3,元数据将处于最小堆中的文件作为当前的热点文件,并追踪该文件在存储节点上的实际访问长度跟之前预测的基准预取长度的比值δ,并记录在该文件的元数据中;
步骤4,在获得请求在一个存储节点上的基准预取长度base_len后,接着查找该文件是否是热点文件,如果是则取出之前记录的比值δ作为该文件的预取调整系数,然后重新计算该请求的预取长度real_len,具体公式为real_len=base_len×δ;
步骤5,反之,如果该请求不属于热点文件,那么将热点文件的最小比值作为该请求的预取调整系数,然后调整预取长度。
4.如权利要求3所述的一种面向分布式文件系统的混合预取方法,其特征在于,所述基于数据块访问相关性预测预取长度,工作流程具体包括以下步骤:
步骤1,存储节点负责跟踪历史数据块访问的相关性。存储节点将每个请求的元数据(比如访问文件、偏移地址和数据长度等)缓存在内存一段时间,具体时间长度可以根据空闲内存大小进行调整,即利用空闲内存存储这部分访问信息,以减少对在线I/O的影响;
步骤2,如果一个请求的访问范围(从偏移地址开始到数据长度为止)与步骤1中记录的访问地址有重叠,并且叠加后的范围小于阈值,那么将这部分的访问信息移动到队头,并增加其内存停留时间。具体的阈值根据连续多个数据块的访问延迟和一个数据块的随机访问延迟计算得到,具有的计算公式为n=Trandom/Tsequence,其中Trandom是随机访问一个数据块的延迟,Tsequence为顺序访问一个数据块的延迟。因为顺序访问的延迟小于随机访问延迟,因此,在访问相关性较高的数据请求中,可以通过预取操作减少数据的访问延迟。如果该请求的访问范围不与现有记录重叠,或者叠加后的地址范围超过阈值,那么将其当作一个新请求,记录到步骤1中;
步骤3,随着新请求的不断插入,采用先进先出的方式淘汰旧的请求,因此,如果一个请求和后续请求之间没有存在访问地址相关性,会被淘汰出内存。只有相关性较高的请求连续访问存储节点,这部分的数据块才会被认为具有访问相关性,同时在当前具有较高的访问热度;
步骤4,存储节点将步骤2中获取到的具有访问相关性的数据块定期地推送给元数据服务器,默认周期是3秒。元数据收到文件数据块访问相关性的信息后,将其作为文件的元数据一部分进行保存;
步骤5,存储节点将步骤2中获取到的具有访问相关性的数据块定期地推送给元数据服务器,默认周期是3秒。元数据收到文件数据块访问相关性的信息后,将其作为文件的元数据一部分进行保存。
5.如权利要求4所述的一种面向分布式文件系统的混合预取方法,其特征在于,所述预取缓存管理模块,工作流程具体包括以下步骤:
步骤1,本发明对所有数据请求采用统一的缓存管理,目的是减少多缓存队列的管理开销和提高缓存的整体效益。对非预取请求和预取请求的数据在缓存中采用分区存储的策略,将非预取请求的数据放置在缓存的头部位置,使用LRU等常用缓存淘汰算法管理,将预取请求的数据放置在缓存的尾部位置,使用先进先出的缓存淘汰算法管理;
步骤2,两个分区通过一个效益游标进行分离,即分别计算预取数据的缓存效率和非预取数据的缓存效率,并在两者之间找一个效益平衡点,并将该点作为效益游标。非预取缓存的效率计算公式为h×Tdisk_random,其中h为缓存命中率,Tdisk_random为缓存命中时节省的一次磁盘访问延迟;预取缓存的效益为一次顺序访问延迟Tdisk_sequence。元数据服务器监控这两个分区的缓存效益。为了减少开销,非预取缓存只监控非预取缓存分区末尾的m个数据块(默认值是4个数据块);
步骤3,元数据周期性地在两个分区之间调整缓存分配,如果非预取缓存的效益小于预取缓存的效益,那么游标向后移动,即减少非预取缓存的大小;反之,如果预取缓存的效益小于非预取缓存的效益,那么游标向前移动,即减少预取缓存的大小。每个周期最多只调整一个缓存块;
步骤4,预取数据块是读操作为主的数据,并且其效益基本不受缓存调度的影响,因此为提高预取缓存的效益,对预取缓存进行压缩存储,扩大预取缓存的存储空间。如果请求在预取缓存中命中,则直接向客户端返回压缩的数据,并在客户端进行解压缩,减少元数据服务器的处理器压力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111297928.7A CN116069752A (zh) | 2021-11-04 | 2021-11-04 | 一种面向分布式文件系统的混合预取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111297928.7A CN116069752A (zh) | 2021-11-04 | 2021-11-04 | 一种面向分布式文件系统的混合预取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069752A true CN116069752A (zh) | 2023-05-05 |
Family
ID=86172114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111297928.7A Pending CN116069752A (zh) | 2021-11-04 | 2021-11-04 | 一种面向分布式文件系统的混合预取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069752A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955223A (zh) * | 2023-09-18 | 2023-10-27 | 浪潮电子信息产业股份有限公司 | 一种数据预取方法、系统、电子设备及计算机存储介质 |
-
2021
- 2021-11-04 CN CN202111297928.7A patent/CN116069752A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955223A (zh) * | 2023-09-18 | 2023-10-27 | 浪潮电子信息产业股份有限公司 | 一种数据预取方法、系统、电子设备及计算机存储介质 |
CN116955223B (zh) * | 2023-09-18 | 2024-01-23 | 浪潮电子信息产业股份有限公司 | 一种数据预取方法、系统、电子设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8762650B2 (en) | Prefetching tracks using multiple caches | |
KR101422557B1 (ko) | 예측 데이터 로더 | |
US9858197B2 (en) | Cache management apparatus of hybrid cache-based memory system and the hybrid cache-based memory system | |
US7383392B2 (en) | Performing read-ahead operation for a direct input/output request | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
US6782454B1 (en) | System and method for pre-fetching for pointer linked data structures | |
CN108710639B (zh) | 一种基于Ceph的海量小文件存取优化方法 | |
CN102023931B (zh) | 一种自适应缓存预取方法 | |
US20170031823A1 (en) | Systems and methods for prefetching data | |
US20140115261A1 (en) | Apparatus, system and method for managing a level-two cache of a storage appliance | |
US20030105926A1 (en) | Variable size prefetch cache | |
JP2012517644A (ja) | 高速記憶装置をキャッシュとして使用するストレージシステム | |
WO2012030900A1 (en) | Method and system for removing cache blocks | |
US20130246691A1 (en) | Adaptive prestaging in a storage controller | |
US11188256B2 (en) | Enhanced read-ahead capability for storage devices | |
CN103795781A (zh) | 一种基于文件预测的分布式缓存模型 | |
US11163684B1 (en) | Systems and methods that predictively read ahead different amounts of data for different content stored in a multi-client storage system | |
EP1269305A1 (en) | Using an access log for disk drive transactions | |
CN117389630A (zh) | 一种数据缓存方法、装置、电子设备及可读存储介质 | |
CN101853218B (zh) | 用于磁盘阵列的读取方法和系统 | |
CN116069752A (zh) | 一种面向分布式文件系统的混合预取方法 | |
CN111787062B (zh) | 面向广域网络文件系统的自适应快速增量预读方法 | |
RU2672726C1 (ru) | Способ выполнения упреждающего чтения в системах хранения данных | |
CN115470157A (zh) | 预取方法、电子设备、存储介质及程序产品 | |
KR20100005539A (ko) | 캐시 메모리 시스템 및 캐시의 프리페칭 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |