CN115878308A - 一种资源调度方法及装置 - Google Patents
一种资源调度方法及装置 Download PDFInfo
- Publication number
- CN115878308A CN115878308A CN202111153181.8A CN202111153181A CN115878308A CN 115878308 A CN115878308 A CN 115878308A CN 202111153181 A CN202111153181 A CN 202111153181A CN 115878308 A CN115878308 A CN 115878308A
- Authority
- CN
- China
- Prior art keywords
- cache
- quota
- stream
- scene
- information
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种资源调度方法及装置,涉及数据存储领域。存储***依据IO流的特征信息,确定IO流所涉及的多类缓存对象对应的场景信息,该场景信息指示了IO流所涉及的多类缓存对象的配额数量或权重,继而,存储***依据上述多类缓存对象的配额数量或权重,以及内存池提供的总配额,调整IO流所涉及的多类缓存对象的配额。由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,因此,避免了存储***依据IO流所申请的页面资源数量来调整缓存对象的配额,减少了缓存对象的配额调整时延。
Description
技术领域
本申请涉及数据存储领域,尤其涉及一种资源调度方法及装置。
背景技术
内存为存储***提供了处理器能直接寻址的存储空间,内存用于暂时存放处理器中的运算数据,以及处理器与硬盘等外部存储器交换的数据。存储***中的一个或多个内存可以被虚拟化为内存池,该内存池用于提供业务所需的多类缓存对象,如数据读缓存(read cache)和元数据缓存等。
通常,在业务数据的输入输出(input output,IO)路径中,处理器为IO流所需的缓存对象调整配额(quota)。在IO流的处理过程中,处理器依据IO流所申请的页面资源数量来调整缓存对象的配额,导致在IO流的处理过程中,缓存对象的配额调整时延较高。因此,如何有效的调整缓存对象的配额成为目前亟需解决的问题。
发明内容
本申请提供一种资源调度方法及装置,解决了IO流的处理过程中,缓存对象的配额调整时延较高的问题。
本申请采用如下技术方案。
第一方面,本申请提供一种资源调度方法,该方法可应用于存储***,或者该方法可应用于可以支持存储***实现该方法的计算设备,例如该存储***包括芯片***,该资源调度方法由存储***执行,存储***包括多类缓存对象,该资源调度方法包括:首先,存储***根据IO流在第一周期内的特征信息,输出场景信息;其中,前述的特征信息包括IO流已使用的每类缓存对象的页面资源配额,该每类缓存对象已分配的页面资源来自存储***所提供的内存池;前述的场景信息用于指示:IO流已使用的每类缓存对象的配额数量或权重。进而,存储***依据内存池提供给多类缓存对象的总配额和场景信息,调整每类缓存对象的配额。
如此,存储***可以依据IO流的特征信息,确定IO流所涉及的多类缓存对象对应的场景信息,该场景信息指示了IO流所涉及的多类缓存对象的配额数量或权重,继而,存储***依据上述多类缓存对象的配额数量或权重,以及内存池提供的总配额,调整IO流所涉及的多类缓存对象的配额。由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,因此,避免了存储***依据IO流所申请的页面资源数量来调整缓存对象的配额,减少了缓存对象的配额调整时延。
另外,由于公共配额池的申请和回收路径与IO流的处理路径为不同的进程,存储***无需在IO流的处理路径中对多类缓存对象向公共配额池的配额申请和回收进行处理,减少了IO流的处理时延,提高了存储***的数据访问效率。
示例的,缓存对象是从内存池中分配出来的内存空间,内存空间用于提供给一定类型的数据使用。例如,存储***包括的缓存对象为以下任意一种:数据读缓存、元数据缓存、文件元数据MDS缓存、目录项缓存和索引节点缓存。
在一种可选的实现方式中,存储***根据IO流在第一周期内的特征信息,输出场景信息,包括:存储***将IO流在第一周期内的特征信息与场景映射表进行匹配,输出场景信息;其中,前述的特征信息还包括IO流的数据访问特征,该数据访问特征为以下任意一种或多种的组合:间隔读、随机读和顺序读,场景映射表包含数据访问特征与场景信息的对应关系。
在本实施例中,存储***可以依据IO流的特征信息来确定IO流的场景信息,进而确定IO流已使用的多类缓存对象的配额数量或比例,由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,避免了IO流的处理时延。
在另一种可选的实现方式中,存储***依据内存池提供给多类缓存对象的总配额和场景信息,调整每类缓存对象的配额,包括:首先,存储***判断场景信息与IO流在第二周期的业务场景是否一致;第二周期为与第一周期连续、且在第一周期之前的周期。进而,存储***在场景信息与IO流在第二周期的业务场景不一致的情况下,依据历史场景中每类缓存对象的配额权重和多类缓存对象的总配额,调整每类缓存对象的页面资源配额。该历史场景为在第一周期之前的多个业务场景中,与场景信息的相似度达到阈值的场景。
如此,存储***可以依据IO流的特征信息确定第一周期的场景信息,并将该场景信息与历史场景进行匹配,从而识别业务场景的切换;在存储***确定IO流的场景切换时,结合历史业务场景中多类缓存对象的配额设置,最优化场景切换过程中的缓存利用率,从而优化了缓存对象的配额过程;另外,由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,避免了IO流的处理时延。
在另一种可选的实现方式中,存储***依据内存池提供给多类缓存对象的总配额和场景信息,调整每类缓存对象的配额,还包括:若场景信息与IO流在第二周期的业务场景一致,存储***依据多类缓存对象的总配额和统计信息,调整每类缓存对象的页面资源配额。该统计信息包括:在第一周期之前与场景信息包含的数据访问特征一致的多个周期中,每类缓存对象的配额数量或权重。
由于处理器可以根据周期性统计的缓存资源使用情况,对各缓存对象的quota进行自适应调整,实现了内存池所提供的存储资源的利用率最大化。另外,处理器采用基于场景识别的缓存配额适配机制,而不是依据IO流在处理过程中所申请或回收的配额来调整缓存对象的配额,减少通常技术中IO流在处理路径中进行配额调整所引起的时延。
第二方面,本申请提供一种资源调度装置,资源调度装置应用于存储***中,存储***包括多类缓存对象,该资源调度装置包括用于实现第一方面或第一方面任一种可能实现方式中的资源调度方法的各个模块。
有益效果可以参见第一方面中任一方面的描述,此处不再赘述。所述资源调度装置具有实现上述第一方面中任一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本申请提供一种存储***,存储***包括处理器和多类缓存对象。处理器,用于根据IO流在第一周期内的特征信息,输出场景信息;其中,特征信息包括IO流已使用的每类缓存对象的页面资源配额,每类缓存对象已分配的页面资源来自存储***所提供的内存池;场景信息用于指示:IO流已使用的每类缓存对象的配额数量或权重。处理器还用于依据内存池提供给多类缓存对象的总配额和场景信息,调整每类缓存对象的配额。有益效果可以参见第一方面中任一方面的描述,此处不再赘述。
值得注意的是,该存储***还可以实现上述第一方面任一种可能实现方式中的方法。有益效果可以参见第一方面中任一方面的描述,此处不再赘述。所述存储***具有实现上述第一方面中任一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第四方面,本申请提供一种计算设备,包括处理器和接口电路,接口电路用于接收来自计算设备之外的其他设备的信号并传输至处理器,或将来自处理器的信号发送给计算设备之外的其他设备,处理器通过逻辑电路或执行代码指令用于实现第一方面或第一方面任一种可能实现方式中的资源调度方法。
第五方面,本申请提供一种计算机可读存储介质,存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备或计算设备所在的存储***执行时,实现第一方面或第一方面任一种可能实现方式中的资源调度方法。
第六方面,本申请提供一种计算机程序产品,该计算程序产品包括指令,当计算机程序产品在计算设备或处理器上运行时,使得计算设备或处理器执行该指令,以实现第一方面或第一方面任一种可能实现方式中的资源调度方法。
第七方面,本申请提供一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执实现第一方面或第一方面任一种可能实现方式中的资源调度方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种资源调度***的结构示意图;
图2为本申请提供的一种数据读缓存的结构示意图;
图3为本申请提供的一种内存池的示意图;
图4为本申请提供的一种资源调度方法的流程图;
图5为本申请提供的数据访问特征的示意图;
图6为本申请提供的一种资源调度装置的结构示意图。
具体实施方式
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍。
图1为本申请提供的一种资源调度***的结构示意图,该资源调度***包括存储***100、客户端120和至少一个计算设备,该存储***100包括至少一个服务器,客户端120可以利用网络访问存储***100中的服务器以存取数据,该网络的通信功能可以由交换机或路由器实现。在一种可能的示例中,客户端120也可以通过有线连接与服务器通信,例如,快捷***组件互连(peripheral component interconnect express,PCIe)高速总线。
服务器上可以外接有计算设备,如图1所示,服务器110A上安装有计算设备130,服务器或网卡可以将数据处理的过程卸载在计算设备上,该计算设备可以包括一个或多个处理单元,该处理单元可以是中央处理单元(central processing unit,CPU)、其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。该计算设备还可以是面向人工智能(artificial intelligence,AI)的专用处理器,如神经处理器(neural processing unit,NPU)或图形处理器(graphic processing unit,GPU)等。在物理形态上,计算设备包括的一个或多个处理单元可以封装为一个插件,该插件可以通过通用串行总线(UniversalSerial Bus,USB)或其他通信接口接入存储***100中的服务器。
客户端120可以是运行在物理机或虚拟机上的应用程序,该应用程序可以获取业务请求,并向存储***发送该业务请求。
客户端120可以是运行有应用程序的计算机,该运行有应用程序的计算机可以是物理机,也可以是虚拟机。例如,若该运行有应用程序的计算机为物理计算设备,该物理计算设备可以是服务器或终端(Terminal)。其中,终端也可以称为终端设备、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端可以是手机、平板电脑、笔记本电脑、桌面电脑、个人通信业务(personal communicationservice,PCS)电话、台式计算机、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对客户端120所采用的具体技术和具体设备形态不做限定。
本申请实施例所提供的存储***可以为分布是存储***或集中式存储***。
在一种可能的情形中,图1所示出的存储***100可以为分布式存储***。如图1所示,本实施例提供的分布式存储***包括计算存储一体化(存算一体)的存储集群。存储集群包括一个或多个服务器(如图1所示出的服务器110A和服务器110B),各个服务器之间可以相互通信。
这里以图1所示出的服务器110A进行说明,服务器110A是一种既具有计算能力又具有存储能力的设备,如服务器、台式计算机等。示例的,先进精简指令(advanced reducedinstruction set computer machines,ARM)服务器或者X86服务器都可以作为这里的服务器110A。在硬件上,如图1所示,服务器110A至少包括处理器112、内存113、网卡114和硬盘105。处理器112、内存113、网卡114和硬盘105之间通过总线连接。其中,处理器112和内存113用于提供计算资源。具体地,处理器112是一个CPU,用于处理来自服务器110A外部(应用服务器或者其他服务器)的数据访问请求(如写数据请求或读数据请求等),也用于处理服务器110A内部生成的请求。示例性的,处理器112接收写日志请求时,会将这些写日志请求中的数据暂时保存在内存113中。当内存113中的数据总量达到一定阈值时,处理器112将内存113中存储的数据发送给硬盘105进行持久化存储。除此之外,处理器112还用于数据进行计算或处理等。图1中仅示出了一个处理器112,在实际应用中,处理器112的数量往往有多个,其中,一个处理器112又具有一个或多个CPU核。本实施例不对CPU的数量,以及CPU核的数量进行限定。
内存113是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作***或其他正在运行中的程序的临时数据存储器。内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(read only memory,ROM)。举例来说,随机存取存储器是动态随机存取存储器(dynamic random access memory,DRAM),或者存储级存储器(storage class memory,SCM)。DRAM是一种半导体存储器,与大部分随机存取存储器(random access memory,RAM)一样,属于一种易失性存储器(volatile memory)设备。SCM是一种同时结合传统储存装置与存储器特性的复合型储存技术,存储级存储器能够提供比硬盘更快速的读写速度,但存取速度上比DRAM慢,在成本上也比DRAM更为便宜。
然而,DRAM和SCM在本实施例中只是示例性的说明,内存还可以包括其他随机存取存储器,例如静态随机存取存储器(static random access memory,SRAM)等。而对于只读存储器,举例来说,可以是可编程只读存储器(programmable read only memory,PROM)、可抹除可编程只读存储器(erasable programmable read only memory,EPROM)等。
另外,内存113还可以是双列直插式存储器模块或双线存储器模块(dual in-linememory module,DIMM),即由动态随机存取存储器(DRAM)组成的模块,还可以是固态硬盘(Solid State Disk,SSD)。实际应用中,存储服务器110A中可配置多个内存113,以及不同类型的内存113。本实施例不对内存113的数量和类型进行限定。此外,可对内存113进行配置使其具有保电功能。保电功能是指***发生掉电又重新上电时,内存113中存储的数据也不会丢失。具有保电功能的内存被称为非易失性存储器。
硬盘105用于提供存储资源,例如存储数据和预写式日志等。它可以是磁盘或者其他类型的存储介质,例如固态硬盘或者叠瓦式磁记录硬盘等。示例的,硬盘105可以是基于非易失性内存主机控制器接口规范(Non-Volatile Memory Express,NVMe)的固态硬盘,如NVMe SSD。
服务器110A中的网卡114用于与客户端120或其他应用服务器(如图1所示出的服务器110B)通信。
在一种实施方式中,处理器112的功能可以卸载到网卡114上。换言之,在该种实施方式中,处理器112不执行业务数据的处理操作,而是由网卡114来完成业务数据的处理、地址转换以及其他计算功能。
在一些应用场景中,网卡114也可能具有持久化内存介质,如持久性内存(persistent memory,PM),或者非易失性随机访问存储器(non-volatile random accessmemory,NVRAM),或者相变存储器(phase change memory,PCM)等。CPU用于执行地址转换以及读写日志等操作。内存用于临时存储将要写入硬盘105的数据,或者从硬盘105读取出来将要发送给控制器的数据。也可以是一个可编程的电子部件,例如数据处理单元(dataprocessing unit,DPU)。DPU具有CPU的通用性和可编程性,但更具有专用性,可以在网络数据包,存储请求或分析请求上高效运行。DPU通过较大程度的并行性(需要处理大量请求)与CPU区别开来。可选的,这里的DPU也可以替换成GPU、NPU等处理芯片。网卡114和硬盘105之间没有归属关系,网卡114可访问网卡114所在的服务器110B中任意一个硬盘105,因此在存储空间不足时扩展硬盘会较为便捷。
图1仅为本申请实施例提供的一种示例,存储***100中还可以包括更多的服务器或内存等设备,本申请不对服务器和内存的数量和具体形态进行限定。
在另一种可能的情形中,本申请实施例所提供的存储***也可以为计算存储分离的存储集群,该存储集群包括计算设备集群和存储设备集群,计算设备集群包括一个或多个计算设备,各个计算设备之间可以相互通信。计算设备可以是一种计算设备,如服务器、台式计算机或者存储阵列的控制器等。在硬件上,计算设备可以包括处理器、内存和网卡等。其中,处理器是一个CPU,用于处理来自计算设备外部的数据访问请求,或者计算设备内部生成的请求。示例性的,处理器接收用户发送的写请求时,会将这些写请求中携带的数据暂时保存在内存中。当内存中的数据总量达到一定阈值时,处理器将内存中存储的数据发送给存储设备进行持久化存储。除此之外,处理器还用于数据进行计算或处理,例如元数据管理、重复数据删除、数据压缩、虚拟化存储空间以及地址转换等。
作为一种可选的实现方式,本申请实施例所提供的存储***也可以为集中式存储***。集中式存储***的特点是有一个统一的入口,所有从外部设备来的数据都要经过这个入口,这个入口就是集中式存储***的引擎。引擎是集中式存储***中最为核心的部件,许多存储***的高级功能都在其中实现。
示例的,引擎中可以有一个或多个控制器,在一种可能的示例中,若引擎具有多个控制器,任意两个控制器之间可以具有镜像通道,实现任意两个控制器互为备份的功能,从而避免硬件故障导致集中式存储***的不可用。引擎还包含前端接口和后端接口,其中,前端接口用于与集中式存储***中的计算设备通信,从而为计算设备提供存储服务。而后端接口用于与硬盘通信,以扩充集中式存储***的容量。通过后端接口,引擎可以连接更多的硬盘,从而形成一个非常大的存储资源池。
存储***100中的多个内存113可以被虚拟化为一个内存池,该内存池可以用于暂时保存存储***100中的缓存对象,示例的,该缓存对象是从内存池中分配出来的内存空间,该内存空间用于提供给一定类型的数据使用。
例如,缓存对象可以是指一个缓存示例。多类缓存对象之间可以是根据其存储数据类型进行区分的,如数据读缓存(read cache)、元数据缓存、文件元数据缓存(metadataserver cluster cache,MDS cache)、目录项缓存(dentry cache)和索引节点缓存(Inodecache)等。
其中,目录项缓存用于存储业务所需的文件元数据,索引节点缓存用于存储业务所需的文件的属性信息,数据读缓存用于存储业务所需的业务数据,MDS缓存用于存储目录项缓存、索引节点缓存和数据读缓存的元数据。
缓存对象使用的内存资源为页面(page)资源,在不同业务场景或者不同工作量(workload)情况下,各缓存对象所需的内存资源不同。多个缓存对象之间可以是根据IO类型进行区分,如读缓存或写缓存。
另外,在一些可能的情形中,缓存对象也可以是指上述多类缓存对象中的子缓存对象。示例的,数据读缓存包括多种类型的缓存对象,如图2所示,图2为本申请提供的一种数据读缓存的结构示意图,读缓存管理的是已经刷盘的干净数据,数据管理结构是以存储数据的虚拟块(virtual chunk,VChunk)为粒度进行管理,与写缓存的Chunk类似。在一些示例中,虚拟块可以称为逻辑块。
如图2所示,一个VChunk描述的数据范围是4百万字节(megabyte,MB),一个VChunk包含一个由多个虚拟页面(virtual page,VPage)组成的页面链(V Page Chain)。
一个VPage描述的数据范围是128千字节(kilobyte,KB),一个VPage包含一个由多个RAM块(Block)组成的RAM链(RAM Page Block Chain)。每个RAMBlock结构描述了包含4个连续的8KB页面(8K page)。
如图2所示,一个VChunk对应的页面链最多会有32个VPage,一个VPage下面的RAM链最多会有4个RAMBlock,一个RAMBlock管理有4个8K页面。
在图2提供的示例的基础上,本实施例给出几种数据读缓存中可能的缓存对象,如数据块(dataBlock)缓存、持久化日志信息(persistent log info,plogInfo)缓存、虚拟块(VChunk)缓存和虚拟页面(Vpage)缓存。
其中,dataBlock缓存用于提供业务数据的存储空间,plogInfo缓存用于提供业务数据的元数据信息的存储空间,Vpage缓存可用于管理dataBlock或plogInfo,Vpage如何管理上述的dataBlock或plogInfo取决于缓存(cache)对象的配置,例如,Vpage缓存可以存储有dataBlock或plogInfo在内存池中的元数据信息;VChunk是管理4MB的地址空间的元数据管理结构。
在本申请的实施例中,缓存对象是以该内存池中内存空间的功能来命名的;但在一些可能的情况下,若以内存池中内存空间的存储介质的类型来命名,该缓存对象也可以被称为内存对象。例如,当数据读缓存的存储空间由内存提供时,上述数据读缓存所包括的几种缓存对象提供的存储空间也被称为内存空间。
针对于本申请的实施例提供的内存池,本申请提供一种可能的实现方式,如图2所示,图3为本申请提供的一种内存池的示意图,该内存池300可以是将图1所示出的多个内存113进行虚拟化后得到的,该内存池300包括私有配额池(private quota pool)310和公共配额池(public quota pool)320。
私有配额池310用于保存存储***100中频繁分配和释放的缓存对象。在一些可能的示例中,私有配额池310可以称为流动池或page流动池等。
公共配额池320用于存储内存所在服务器的缓存对象。示例的,当缓存对象在私有配额池310预分配的私有配额(private quota)不足时,缓存对象可以向公共配额池320申请配额,以实现该缓存对象的功能。
如图2所示,内存池300可以为多类缓存对象提供存储空间,如图2所示出的缓存对象1~缓存对象N。在私有配额池310中缓存对象所需的配额不足的情况下,该缓存对象可以向公共配额池320申请内存资源,以实现IO流的数据访问服务。例如,数据读缓存所需的内存资源为10MB,而私有配额池310仅能为数据读缓存提供8MB的内存资源,则数据读缓存可以向公共配额池320申请2MB的内存资源,以实现该数据读缓存的功能。
值得注意的是,图2所示出的内存池300是以存储***100中的一个或多个内存虚拟化实现的,但在一些可能的示例中,内存池还可以是由存储***100中的其他存储介质实现的,如SSD。
在图1所示出的存储***100和图3所示出的内存池300的基础上,对本申请提供的资源调度方法进行说明,图4为本申请提供的一种资源调度方法的流程图,该资源调度方法可以由存储***100包括的服务器执行,如图1所示出的服务器110A或服务器110B,也可以由外接在服务器上的计算设备执行,如图1所示出的计算设备130。
如图4所示,这里以存储***中的处理器执行资源调度方法为例进行说明,本实施例提供的资源调度方法包括以下步骤S410~S430。
S410,处理器获取IO流在周期1内的特征信息。
IO流是指一组IO请求的集合,该集合包括多个IO请求。若IO请求为写请求,则每个写请求可以携带有一份数据以及该数据的地址信息;若IO请求为读请求,则每个读请求可以携带有所请求的数据的存储地址。
在周期1之前还具有其他数据访问周期,如图4所示出的周期2和周期3。
数据访问周期是依据时间划分的。例如,一个数据访问周期是指1分钟、30秒或其他时长等。
在一个数据访问周期内,处理器可以对一个或多个实现信息采集的数据空间进行访问。该数据空间是依据数据访问的地址空间来划分的,如处理器可以在4MB的地址空间内执行该IO流的数据访问操作,如读数据或写数据等。
IO流的特征信息可以包括以下任意一种或几种的组合:IO流已使用的每类缓存对象的页面资源配额,该页面资源配额包括配额申请量和配额回收量等信息。示例的,在4MB的地址空间内,该数据读缓存的配额申请量为3MB,其中,数据读缓存的私有配额为2MB,则剩余1MB的存储空间由公共配额池320提供。
另外,在数据访问过程中,上述每类缓存对象已分配的页面资源来自存储***所提供的内存池,如图3所示出的内存池300。
在一种情形中,如缓存对象的私有配额足够时,缓存对象已分配的页面资源均来自私有配额池310。
在另一种情形中,如缓存对象的私有配额不足的情况下,缓存对象已分配的页面资源中一部分来自私有配额池310缓存对象对应的私有配额中,另一部分来自该缓存对象向公共配额池320所申请的配额。
请继续参见图4,在处理器获取到IO流的特征信息后,本实施例提供的资源调度方法还包括以下步骤。
S420,处理器依据周期1内的特征信息,输出IO流在周期1内的场景信息。
该场景信息用于指示:IO流已使用的每类缓存对象的配额数量或权重。
在一种可能的情形中,缓存对象的配额是以页面资源来描述的,在内存池所提供的页面数量的确定的情况下,如内存池提供了10000个page,每个page可以提供8KB的存储空间,缓存对象的配额数量是指该缓存对象所能使用的page的数量,如数据读缓存的配额数量为1536,则指示该数据读缓存能够使用内存池中1536个page所提供的存储空间,即12MB。
在另一种可能的情形中,配额权重是指缓存对象所能使用的quota份数,如一份quato指示了16KB的存储空间(对应2个8K page),数据读缓存的权重为768。在一种可能的具体情形中,该配额权重是指多类缓存对象之间的配额比例,如在数据读缓存中,各缓存对象的配额比例为,VChunk缓存:Vpage缓存:plogInfo缓存:dataBlock缓存=5:4:512:102400。
值得注意的是,本实施例采用缓存对象的配额数量或权重来描述的场景信息,但在一些可能的情况下,场景信息还可以是采用其他方式来描述的,如IO流的数据访问特征。
示例的,数据访问特征可以是以下任意一种:顺序读、间隔读和随机读。如图5所示,图5为本申请提供的数据访问特征的示意图,图5给出了顺序读、间隔读和随机读的几种简单示意。这里以图5中每个page(图5所示出的黑/白色小方块)所提供的存储空间是8KB为例进行说明,一个数据访问周期所对应的地址空间为512KB(即0.5MB)。
顺序读是指在一个数据访问周期对应的地址空间内,IO流的数据访问操作为连续读取一组数据,该组数据可以占据该数据访问周期对应的部分或全部地址空间。如图5所示的顺序读场景中,在512KB的地址空间内,处理器读取该地址空间中的480KB数据,该480KB数据所存储的地址空间是连续的。另外,该480KB数据在数据访问过程中是由处理器执行60次原子操作获得的,每次原子操作会对一个page所提供的8KB地址空间进行操作。
随机读是指在一个数据访问周期对应的地址空间内,IO流的数据访问操作为随机读取多份离散的数据,该多份数据占据该数据访问周期的部分地址空间。如图5所示的随机读场景中,在512KB的地址空间内,处理器读取该地址空间中的72KB数据,该72KB数据离散(随机)分布在数据访问周期所指示的512KB地址空间中的9个位置。
间隔读是指在一个数据访问周期对应的地址空间内,IO流的数据访问操作为按照一定的规律读取多份数据。该规律可以是间隔指定数量的地址空间读取一份数据,如图5所示,在512KB的地址空间内,处理器间隔一个page读取一个page所存储的数据。
值得注意的是,上述间隔读的实质其实是按照“等差数列”的方式进行数据访问,例如,若在512KB的地址空间内,64个page的序号依次为1~64,则图5所示出的间隔读取的数据序号(page序号)依次为1、3、5、7…63。在一种可选的实现方式中,间隔读取的page序号还可以是2、4、6、8…64。
另外,作为一种可能的情形,间隔读取也可以是处理器间隔更多page读取一个page所存储的数据,如间隔2个page、3个page或更多数量的page。
在IO流所实现的业务场景较为复杂的情况下,前述规律还可以是按照一定的设定进行设置的,如在读取page1(数据访问周期中第一个page)所存储的数据后,间隔1个page再读取page3的数据,并在间隔3个page后读取page7的数据,即每次间隔的page数量与上一次读取的page在数据访问周期内的page序号一致。规律的设定可以是处理器根据业务场景进行调整的,还可以是客户端设置的,本申请对此不予限定。
可以理解的是,数据访问特征可以是顺序读、间隔读和随机读中任意几种的组合。示例的,处理器在每间隔2个page后顺序读取3个连续的page所存储的数据。
如此,上述的数据访问特征实际上具有多种不同的组合,每一种不同的组合都可以认为是一种单独的业务场景。
在一些可选的实现方式中,处理器可以将相似度达到一定阈值的多种数据访问特征组合认为是同一种数据访问特征,数据访问特征的具体描述方式可以由处理器依据不同的数据访问需求进行调整,本申请对此不予限定。
在一种可选的实现方式中,处理器输出IO流在周期1内的场景信息可以包括以下过程:处理器将IO流在周期1内的特征信息与场景映射表进行匹配,输出场景信息。
其中,场景映射表包含数据访问特征与场景信息的对应关系。如下表1所示。
表1
业务场景1是指在8MB内顺序读取7MB的目标数据,该目标数据的原子操作单位(IO操作的最小单位)为4KB。
业务场景2是指在4MB内顺序读取3MB的目标数据,该目标数据的原子操作单位为8KB。数据读缓存中各缓存对象的资源占用比例为,VChunk缓存:Vpage缓存:plogInfo缓存:dataBlock缓存=5:4:512:102400。
业务场景3是指在4MB内间隔读取2MB的目标数据,该目标数据的原子操作单位为8KB。数据读缓存中各缓存对象的资源占用比例为,VChunk缓存:Vpage缓存:plogInfo缓存:dataBlock缓存=5:2:128:51200。
业务场景4是指在4MB内随机读取1MB的目标数据,该目标数据的原子操作单位为8KB。数据读缓存中各缓存对象的资源占用比例为,VChunk缓存:Vpage缓存:plogInfo缓存:dataBlock缓存=10:1:2:400。
在本实施例中,处理器可以依据IO流的特征信息来确定IO流的场景信息,进而确定IO流已使用的多类缓存对象的配额数量或比例,由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,避免了IO流的处理时延。
另外,上述表2仅为本实施例为说明业务场景提供的示例,在一些可能的情形中,所有业务场景中地址空间可以是一致的,如4MB。
请继续参见图4,本实施例提供的资源调度方法还包括以下步骤。
S430,处理器依据内存池提供给多类缓存对象的总配额和场景信息,调整每类缓存对象的配额。
内存池提供给多类缓存对象的总配额是指IO流所能使用的总存储空间。如100MB、75MB或其他。
如此,处理器可以依据IO流的特征信息,确定IO流所涉及的多类缓存对象对应的场景信息,该场景信息指示了IO流所涉及的多类缓存对象的配额数量或权重,继而,处理器依据上述多类缓存对象的配额数量或权重,以及内存池提供的总配额,调整IO流所涉及的多类缓存对象的配额。由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,因此,避免了处理器依据IO流所申请的页面资源数量来调整缓存对象的配额,减少了缓存对象的配额调整时延。
另外,由于公共配额池的申请和回收路径与IO流的处理路径为不同的进程,处理器无需在IO流的处理路径中对多类缓存对象向公共配额池的配额申请和回收进行处理,减少了IO流的处理时延,提高了存储***的数据访问效率。
在一种可能的具体实现方式中,上述S430的过程可以包括以下内容:处理器判断场景信息与IO流在周期2的业务场景是否一致,并在场景信息与IO流在周期2的业务场景不一致的情况下,处理器依据历史场景中每类缓存对象的配额权重和多类缓存对象的总配额,调整每类缓存对象的页面资源配额。如图4所示,周期2为与周期1连续、且在周期1之前的周期。下面结合表2对上述实现方式进行说明。
表2
结合图4所示出的内容,在处理器确定周期1的场景信息(对应业务场景1)与周期2的业务场景2不一致时,处理器确定IO流所涉及的多类缓存对象需进行场景切换,若图4所示出的历史场景中不存在与业务场景1一致的场景,即表2所示出的情况2,则处理器从在第一周期之前的多个业务场景中,查找与场景信息的相似度达到阈值的场景,并将该场景作为配额调整的参考场景,从而,处理器利用该参考场景中多类缓存对象的配额权重和内存池提供给该多类缓存对象的总配额,调整该多类缓存对象的配额。
例如,如果切换后的业务场景是IO流的处理过程中是第一次出现,则在历史场景中找到与当前场景(业务场景1)最相似的场景作为新场景的缓存配额初始值进行调整。在一种可能的具体情形中,处理器对10个历史场景的关键特征信息进行聚类,并在聚类确定业务场景1的特征与10个历史场景中一个场景的特征的相似度达到阈值的情况下,则将该场景作为上述的参考场景。值得注意的是,上述的关键特征信息可以是汉明距离或其他参数等,关键特征信息可以根据IO流的特征进行调整或改变,本申请对此不予限定。
又如,如果切换后的业务场景是IO流的处理过程中不是第一次出现,即历史场景中存在与该业务场景1一致的场景,如表2所示出的情况1,处理器将历史场景中与该业务场景1一致场景作为配额调整的参考场景,并依据该参考场景的配额权重和内存池提供的总配额,调整IO流所涉及的多类缓存对象的配额。
如此,处理器可以依据IO流的特征信息确定周期1的场景信息,并将该场景信息与历史场景进行匹配,从而识别业务场景的切换;在处理器确定IO流的场景切换时,结合历史业务场景中多类缓存对象的配额设置,最优化场景切换过程中的缓存利用率,从而优化了缓存对象的配额过程;另外,由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,避免了IO流的处理时延。
作为一种可选的实现方式,上述的S430还包括以下过程:若周期1的场景信息与IO流在周期2的业务场景一致,则处理器依据多类缓存对象的总配额和统计信息,调整每类缓存对象的页面资源配额。其中,该统计信息包括:在周期1之前与场景信息包含的数据访问特征一致的多个周期中,IO流已使用的每类缓存对象的配额数量或权重。
示例的,如表2所示出的情况3,在处理器确定周期2与周期3的业务场景(如图4所示出的业务场景2)一致时,处理器确定IO流所涉及的多类缓存对象不需要进行场景切换,继而,处理器依据统计信息和内存池提供给IO流所使用的多类缓存对象的总配额,调整每类缓存对象的配额。
值得注意的是,上述的统计信息也用于指示多类缓存对象(object)的配额(quota)设置。处理器可以依据这些quota设置来调整每类缓存对象的配额,如此,在同一类型的场景运行过程中,处理器可以周期性的进行自适应配额分配调整,提高缓存配额资源利用率。
例如,周期2中业务场景2为在4MB内顺序读取3MB的目标数据,该目标数据的原子操作单位为8KB。数据读缓存中各缓存对象的资源占用比例为,VChunk缓存:Vpage缓存:plogInfo缓存:dataBlock缓存=5:4:512:102400。
相比之下,在周期2之前的周期3对应的业务场景2为4M内随机顺序读取3.5MB的目标数据,该目标数据的原子操作单位为8KB。数据读缓存中各缓存对象的资源占用比例为,VChunk缓存:Vpage缓存:plogInfo缓存:dataBlock缓存=5:4:512:120000。
也就是说,周期2和周期3的原子操作单位(8KB)、数据访问周期(30秒)、地址空间(4MB)和数据访问特征(顺序读)均一致,但是目标数据的读取量不一致,则在处理器利用周期3对应的配额设置为缓存对象进行配额调整的过程中,处理器以统计信息中周期3对应的配额设置为基础,增加数据读缓存中dataBlock缓存的配额,达到为缓存对象调整配额的目的。
由于处理器可以根据周期性统计的缓存资源使用情况,对各缓存对象的quota进行自适应调整,实现了内存池所提供的存储资源的利用率最大化。另外,处理器采用基于场景识别的缓存配额适配机制,而不是依据IO流在处理过程中所申请或回收的配额来调整缓存对象的配额,减少通常技术中IO流在处理路径中进行配额调整所引起的时延。
可以理解的是,为了实现上述实施例中功能,存储***或计算设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
如图6所示,图6为本申请提供的一种资源调度装置的结构示意图,该资源调度装置600包括统计模块610、场景识别模块620、配额调整模块630、历史记录模块640和通信模块650。
该资源调度装置600可以用于实现上述方法实施例中存储***的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请的实施例中,该该资源调度装置600可以是如图1所示的存储***,还可以是应用于存储***中的服务器,也可以是服务器中的处理器112,或者是外接在服务器上的计算设备130。
该资源调度装置600可以实现图4所示出的处理器或存储***的功能,应理解,本实施例仅对资源调度装置600的结构和功能单元进行示例性划分,本申请并不对其具体划分做任何限定。
在一种可能的示例中,该资源调度装置600用于实现上述资源调度方法的具体过程包括以下内容1~3。
内容1,统计模块610获取IO流在周期1内的特征信息。
内容2,场景识别模块620依据周期1内的特征信息,输出IO流在周期1内的场景信息。
内容3,配额调整模块630依据内存池提供给多类缓存对象的总配额和场景信息,调整每类缓存对象的配额。
历史记录模块640用于存储多个历史场景中多类缓存对象的配额数量或权重,以及前述实施例中的统计信息等。
通信模块650用于获取上述IO流,以及发送数据访问过程所需反馈的信息等。
如此,场景识别模块620可以依据IO流的特征信息,确定IO流所涉及的多类缓存对象对应的场景信息,该场景信息指示了IO流所涉及的多类缓存对象的配额数量或权重,继而,配额调整模块630依据上述多类缓存对象的配额数量或权重,以及内存池提供的总配额,调整IO流所涉及的多类缓存对象的配额。由于IO流的特征信息是在IO流的处理路径中采集的,不会影响到IO流的数据访问进程,因此,避免了资源调度装置600依据IO流所申请的页面资源数量来调整缓存对象的配额,减少了缓存对象的配额调整时延。
当数据压缩装置600用于实现图4所示的方法实施例时:统计模块610用于执行S410,场景识别模块620用于执行S420,配额调整模块630用于执行S430。
应理解的是,本实施例的资源调度装置600可以通过CPU实现,也可以通过ASIC实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、FPGA、通用阵列逻辑(genericarray logic,GAL)或其任意组合。数据压缩装置600通过软件实现图4中所示的数据压缩方法时,资源调度装置600及其各个模块也可以为软件模块。
有关上述资源调度装置600更详细的描述可以直接参考上述图1~图5所示的实施例中相关描述直接得到,这里不加赘述。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其他形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (17)
1.一种资源调度方法,其特征在于,所述方法应用于存储***中,所述存储***包括多类缓存对象,所述方法包括:
根据IO流在第一周期内的特征信息,输出场景信息;其中,
所述特征信息包括所述IO流已使用的每类缓存对象的页面资源配额,所述每类缓存对象已分配的页面资源来自所述存储***所提供的内存池;所述场景信息用于指示:所述IO流已使用的每类缓存对象的配额数量或权重;
依据所述内存池提供给所述多类缓存对象的总配额和所述场景信息,调整所述每类缓存对象的配额。
2.根据权利要求1所述的方法,其特征在于,所述缓存对象是从所述内存池中分配出来的内存空间,所述内存空间用于提供给一定类型的数据使用。
3.根据权利要求2所述的方法,其特征在于,所述存储***包括的缓存对象为以下任意一种:
数据读缓存、元数据缓存、文件元数据MDS缓存、目录项缓存和索引节点缓存。
4.根据权利要求1-3中任一项所述的方法,其特征在于,
根据IO流在第一周期内的特征信息,输出场景信息,包括:
将所述IO流在第一周期内的特征信息与场景映射表进行匹配,输出所述场景信息;其中,
所述特征信息还包括所述IO流的数据访问特征,所述数据访问特征为以下任意一种或多种的组合:间隔读、随机读和顺序读,所述场景映射表包含所述数据访问特征与所述场景信息的对应关系。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
依据所述内存池提供给所述多类缓存对象的总配额和所述场景信息,调整所述每类缓存对象的配额,包括:
判断所述场景信息与所述IO流在第二周期的业务场景是否一致;所述第二周期为与所述第一周期连续、且在所述第一周期之前的周期;
若所述场景信息与所述IO流在第二周期的业务场景不一致,则依据历史场景中所述每类缓存对象的配额权重和所述多类缓存对象的总配额,调整所述每类缓存对象的页面资源配额。
6.根据权利要求5所述的方法,其特征在于,所述历史场景为在所述第一周期之前的多个业务场景中,与所述场景信息的相似度达到阈值的场景。
7.根据权利要求5或6所述的方法,其特征在于,
依据所述内存池提供给所述多类缓存对象的总配额和所述场景信息,调整所述每类缓存对象的配额,还包括:
若所述场景信息与所述IO流在第二周期的业务场景一致,则依据所述多类缓存对象的总配额和统计信息,调整所述每类缓存对象的页面资源配额;
所述统计信息包括:在所述第一周期之前与所述场景信息包含的数据访问特征一致的多个周期中,所述每类缓存对象的配额数量或权重;所述数据访问特征为以下任意一种或多种的组合:间隔读、随机读和顺序读。
8.一种资源调度装置,其特征在于,所述装置应用于存储***中,所述存储***包括多类缓存对象,所述装置包括:
场景识别模块,用于根据IO流在第一周期内的特征信息,输出场景信息;其中,
所述特征信息包括所述IO流已使用的每类缓存对象的页面资源配额,所述每类缓存对象已分配的页面资源来自所述存储***所提供的内存池;所述场景信息用于指示:所述IO流已使用的每类缓存对象的配额数量或权重;
配额调整模块,用于依据所述内存池提供给所述多类缓存对象的总配额和所述场景信息,调整所述每类缓存对象的配额。
9.根据权利要求8所述的装置,其特征在于,所述缓存对象是从所述内存池中分配出来的内存空间,所述内存空间用于提供给一定类型的数据使用。
10.根据权利要求9所述的装置,其特征在于,所述存储***包括的缓存对象为以下任意一种:
数据读缓存、元数据缓存、文件元数据MDS缓存、目录项缓存和索引节点缓存。
11.根据权利要求8-10中任一项所述的装置,其特征在于,
所述场景识别模块,具体用于将所述IO流在第一周期内的特征信息与场景映射表进行匹配,输出所述场景信息;其中,
所述特征信息还包括所述IO流的数据访问特征,所述数据访问特征为以下任意一种或多种的组合:间隔读、随机读和顺序读,所述场景映射表包含所述数据访问特征与所述场景信息的对应关系。
12.根据权利要求8-11中任一项所述的装置,其特征在于,
所述配额调整模块,具体用于:判断所述场景信息与所述IO流在第二周期的业务场景是否一致,并在所述场景信息与所述IO流在第二周期的业务场景不一致的情况下,依据历史场景中所述每类缓存对象的配额权重和所述多类缓存对象的总配额,调整所述每类缓存对象的页面资源配额;所述第二周期为与所述第一周期连续、且在所述第一周期之前的周期。
13.根据权利要求12所述的装置,其特征在于,所述历史场景为在所述第一周期之前的多个业务场景中,与所述场景信息的相似度达到阈值的场景。
14.根据权利要求12或13所述的装置,其特征在于,
所述配额调整模块,具体用于:若所述场景信息与所述IO流在第二周期的业务场景一致,则依据所述多类缓存对象的总配额和统计信息,调整所述每类缓存对象的页面资源配额;
所述统计信息包括:在所述第一周期之前与所述场景信息包含的数据访问特征一致的多个周期中,所述每类缓存对象的配额数量或权重;所述数据访问特征为以下任意一种或多种的组合:间隔读、随机读和顺序读。
15.一种存储***,其特征在于,所述存储***包括处理器和多类缓存对象;
所述处理器,用于根据IO流在第一周期内的特征信息,输出场景信息;其中,
所述特征信息包括所述IO流已使用的每类缓存对象的页面资源配额,所述每类缓存对象已分配的页面资源来自所述存储***所提供的内存池;所述场景信息用于指示:所述IO流已使用的每类缓存对象的配额数量或权重;
所述处理器,还用于依据所述内存池提供给所述多类缓存对象的总配额和所述场景信息,调整所述每类缓存对象的配额。
16.一种计算设备,其特征在于,包括处理器和接口电路,所述接口电路用于接收来自所述计算设备之外的其他设备的信号并传输至所述处理器,或将来自所述处理器的信号发送给所述计算设备之外的其他设备,所述处理器通过逻辑电路或执行代码指令用于实现如权利要求1至7中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被计算设备或计算设备所在的存储***执行时,实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111153181.8A CN115878308A (zh) | 2021-09-29 | 2021-09-29 | 一种资源调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111153181.8A CN115878308A (zh) | 2021-09-29 | 2021-09-29 | 一种资源调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878308A true CN115878308A (zh) | 2023-03-31 |
Family
ID=85756250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111153181.8A Pending CN115878308A (zh) | 2021-09-29 | 2021-09-29 | 一种资源调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878308A (zh) |
-
2021
- 2021-09-29 CN CN202111153181.8A patent/CN115878308A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022017002A1 (zh) | 一种垃圾回收方法及装置 | |
US11861204B2 (en) | Storage system, memory management method, and management node | |
EP4163804A1 (en) | Data management method and system for application, and computer device | |
CN113360093B (zh) | 内存***和设备 | |
US20240231645A1 (en) | Storage device, data storage method, and storage system | |
CN115794669A (zh) | 一种扩展内存的方法、装置及相关设备 | |
CN115904212A (zh) | 数据处理的方法、装置、处理器和混合内存*** | |
US20240241826A1 (en) | Computing node cluster, data aggregation method, and related device | |
US20240201880A1 (en) | Resource Allocation Method and Apparatus | |
US20240070120A1 (en) | Data processing method and apparatus | |
CN115079936A (zh) | 一种数据写入方法及装置 | |
CN115793957A (zh) | 写数据的方法、装置及计算机存储介质 | |
WO2023227004A1 (zh) | 内存访问热度统计方法、相关装置及设备 | |
WO2022262345A1 (zh) | 一种数据管理方法、存储空间管理方法及装置 | |
CN115878308A (zh) | 一种资源调度方法及装置 | |
CN116560560A (zh) | 存储数据的方法和相关装置 | |
CN116340203A (zh) | 数据预读取方法、装置、处理器及预取器 | |
CN115905146A (zh) | 数据处理方法、装置、计算设备及存储*** | |
CN108762679B (zh) | 一种在线ddp与离线ddp相结合的方法及其相关装置 | |
WO2022222523A1 (zh) | 一种日志管理方法及装置 | |
US11886730B2 (en) | Compression ratio-aware data deduplication | |
US20240086110A1 (en) | Data storage method, storage apparatus and host | |
EP4220414A1 (en) | Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same | |
US20240143449A1 (en) | Data Processing Method and Apparatus | |
CN116954515A (zh) | 基于nvdimm的分布式并行存储***及数据写入方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |