CN117806527A - 一种资源分配方法以及存储设备 - Google Patents
一种资源分配方法以及存储设备 Download PDFInfo
- Publication number
- CN117806527A CN117806527A CN202211175570.5A CN202211175570A CN117806527A CN 117806527 A CN117806527 A CN 117806527A CN 202211175570 A CN202211175570 A CN 202211175570A CN 117806527 A CN117806527 A CN 117806527A
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- target
- tasks
- storage device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013468 resource allocation Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 43
- 230000015654 memory Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 230000001105 regulatory effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 11
- 238000011022 operating instruction Methods 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本申请实施例公开了一种资源分配方法以及存储设备,用于实现存储设备中不同任务之间的资源分配。在本申请中,存储设备确定多个任务之间关于目标资源的目标关系,确定多个任务中各个任务的资源需求,资源需要包括单位时间内每写入或搬移1份数据所需的至少一种资源的消耗量,至少一种资源包括目标资源,确定至少一种资源中各个资源的资源余量,并接收关于目标资源的规划目标。然后,存储设备可以基于目标关系、多个任务中各个任务的资源需求、至少一种资源中各个资源的资源余量和规划目标建立规划模型,并解析规划模型,得到多个任务中各个任务的资源分配。使得存储设备可以在具备关联性的不同任务之间统一调控,达到性能最优。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源分配方法以及存储设备。
背景技术
在存储系统中存在着大量的后台任务。例如,前端写带宽任务,用于根据后端能力控制主机写入量;垃圾回收(garbage collecting,GC)任务,用于回收垃圾数据,以腾出空间给新数据写入;数据的搬移(Tierdown)任务,用于定期将性能层数据搬移到容量层。不同的任务之间可能存在一定的关联性。例如,GC任务回收垃圾数据后,可以腾出空间给前端写带宽任务写入新数据,那么,GC任务的单位时间内回收垃圾数据的带宽等于前端写带宽任务的带宽。
为了不同的任务之间能够长期稳定运行,需要合理分配有限的资源(带宽资源和计算资源)。同时,随着存储系统的持续更新演进,会不断加入新的任务,资源的争抢情况会更加严重。那么,在不影响现有调控逻辑的基础上,如何支持新加入的任务,是一个亟需解决的问题。
在当前的存储系统中,对任务的调控主要有两种方式:第一种是根据人工经验静态配置执行策略,一般采用反馈式方法;第二种将系统黑盒化,采用强化学习等方法,根据反馈结果和激励值动态调整任务执行策略,以获取最优的任务参数。但是,这些方法都是针对单点的任务调控,不同的任务之间互不感知、独立决策,这对于具备关联性的任务无法做到统一的调控,不能达成存储系统的性能最优。
发明内容
本申请实施例提供了一种资源分配方法以及存储设备,用于实现存储设备中不同任务之间的资源分配。
本申请第一方面提供了一种资源分配方法,在本申请中,存储设备确定多个任务之间关于目标资源的目标关系,确定多个任务中各个任务的资源需求,资源需要包括单位时间内每写入或搬移1份数据所需的至少一种资源的消耗量,至少一种资源包括目标资源,确定至少一种资源中各个资源的资源余量,并接收关于目标资源的规划目标。然后,存储设备可以基于目标关系、多个任务中各个任务的资源需求、至少一种资源中各个资源的资源余量和规划目标建立规划模型,并解析规划模型,得到多个任务中各个任务的资源分配。使得存储设备可以在具备关联性的不同任务之间统一调控,达到性能最优。
在一些可能的实现方式中,所述多个任务中的任一个为垃圾回收GC任务、前端写入带宽任务或搬移Tierdown任务,那么,本申请可以为GC任务、前端写入带宽任务或搬移Tierdown任务进行资源分配。
在一些可能的实现方式中,所述至少一种资源包括盘带宽资源或中央处理器CPU资源,那么,本申请可以为多个任务实现关于盘带宽资源或CPU资源的资源分配。
在一些可能的实现方式中,所述多个任务包括第一任务和第二任务,所述目标资源为所述盘带宽,所述目标关系为所述第一任务所需的盘带宽等于所述第二任务所需的盘带宽的N倍,N为正数,从而确定了不同任务之间所需目标资源的目标关系。
在一些可能的实现方式中,所述第一任务的资源需求为写入和搬移每1份数据需要w1份所述盘带宽和w2份所述CPU资源,所述第一任务的资源需求为写入和搬移每1份数据需要w3份所述盘带宽和w4份所述CPU资源,所述盘带宽的资源余量为M1,所述CPU资源的资源余量为M2;其中,所述规划模型为:w1*X1+w3*X2<=M1;w2*X1+w4*X2<=M2;X1=N*X2;object=F(X1,X2),X1为所述第一任务的写入和搬移的数据量,X2为所述第二任务的写入和搬移的数据量,object表示所述规划目标,F(X1,X2)表示与X1和X2相关的规划。从而实现不同任务对不同资源的规划。
在一些可能的实现方式中,所述规划目标为优先执行所述第一任务,F(X1,X2)=MAX(X1),MAX(X1)表示使得X1最大,通过求解,从而实现对不同任务之间的资源分配。
本申请第二方面提供了一种存储设备,包括:
处理模块,用于确定多个任务之间关于目标资源的目标关系;
所述处理模块,还用于确定所述多个任务中各个任务的资源需求,所述资源需要包括单位时间内每写入或搬移1份数据所需的至少一种资源的消耗量,所述至少一种资源包括所述目标资源;
所述处理模块,还用于确定所述至少一种资源中各个资源的资源余量;
所述处理模块,还用于接收关于所述目标资源的规划目标;
所述处理模块,还用于基于所述目标关系、所述多个任务中各个任务的资源需求、所述至少一种资源中各个资源的资源余量和所述规划目标建立规划模型;
所述处理模块,还用于解析所述规划模型,得到所述多个任务中各个任务的资源分配。
在一些可能的实现方式中,所述多个任务中的任一个为垃圾回收GC任务、前端写入带宽任务或搬移Tierdown任务。
在一些可能的实现方式中,所述至少一种资源包括盘带宽资源或中央处理器CPU资源。
在一些可能的实现方式中,所述多个任务包括第一任务和第二任务,所述目标资源为所述盘带宽,所述目标关系为所述第一任务所需的盘带宽等于所述第二任务所需的盘带宽的N倍,N为正数。
在一些可能的实现方式中,所述第一任务的资源需求为写入和搬移每1份数据需要w1份所述盘带宽和w2份所述CPU资源,所述第一任务的资源需求为写入和搬移每1份数据需要w3份所述盘带宽和w4份所述CPU资源,所述盘带宽的资源余量为M1,所述CPU资源的资源余量为M2;
所述规划模型为:w1*X1+w3*X2<=M1;w2*X1+w4*X2<=M2;X1=N*X2;object=F(X1,X2);
其中,X1为所述第一任务的写入和搬移的数据量,X2为所述第二任务的写入和搬移的数据量,object表示所述规划目标,F(X1,X2)表示与X1和X2相关的规划。
在一些可能的实现方式中,所述规划目标为优先执行所述第一任务,F(X1,X2)=MAX(X1),MAX(X1)表示使得X1最大。
本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面中任一项所述的方法。
本申请第四方面提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备实施上述第一方面或者第一方面的任一种可能的实现方式所提供的方法。
本申请第五方面提供一种通信装置,该通信装置可以包括至少一个处理器、存储器和通信接口。至少一个处理器与存储器和通信接口耦合。存储器用于存储指令,至少一个处理器用于执行该指令,通信接口用于在至少一个处理器的控制下与其他通信装置进行通信。该指令在被至少一个处理器执行时,使至少一个处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
本申请第六方面提供了一种芯片系统,该芯片系统包括处理器,用于支持实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。
在一种可能的设计中,芯片系统还可以包括存储器,存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第二至第六方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第一方面不同可能实现方式所带来的技术效果,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:
附图说明
图1-1为本申请实施例提供的一种存储设备的组成结构示意图;
图1-2为本申请实施例提供的一种存储设备的另一组成结构示意图;
图2为本申请实施例提供的一种资源分配方法的流程示意图;
图3为本申请实施例提供的一种存储设备的结构示意图;
图4为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
本申请实施例提供了一种资源分配方法以及存储设备,用于实现存储设备中不同任务之间的资源分配。
下面结合附图,对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
本申请实施例可应用于如图1-1所示的存储设备100中,存储设备100包括处理模块110、显示模块120、存储模块130、收发模块140和输入模块150(例如键盘、鼠标、触摸屏等,此处不做限定)。
处理模块110是存储设备100的控制中心,利用各种接口和线路连接存储设备100的各个部分,通过运行或执行存储在存储模块130内的软件程序和/或模块,以及调用存储在存储模块130内的数据,执行存储设备100的各种功能和处理数据,从而对存储设备100进行整体监控。可选的,处理模块110可包括一个或多个处理单元;优选的,处理模块110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理模块110中。
显示模块120可用于显示由用户输入的信息或提供给用户的信息以及存储设备100的各种界面。显示模块120可包括显示面板,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理模块110以确定触摸事件的类型,随后处理模块110根据触摸事件的类型在显示面板上提供相应的视觉输出。
存储模块130可以包括只读存储器和随机存取存储器,并向处理模块110提供指令和数据。存储模块130的一部分还可以包括非易失性随机存取存储器(non-volatilerandom access memory,NVRAM)。存储模块130存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
收发模块140可用于接收输入的数字或字符信息,以及产生与存储设备100的相关设置以及功能控制有关的信号输入。收发模块140可用于通过第一接口输出数字或字符信息;收发模块140还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;收发模块140还可以包括显示屏等显示设备。
输入模块150可用于接收输入的数字或字符信息,以及产生与存储设备100的用户设置以及功能控制有关的键信号输入。具体地,输入模块150可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理模块110,并能接收处理模块110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入模块150还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
在一些可能的实现方式中,存储设备100可以为终端设备也可以为服务器,此处不做限定。
本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端以及服务器可以连接组成区块链网络,本申请在此不做限制。
其中,终端设备可以用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
例如,存储设备100是家用电脑(终端设备),如图1-2所示,存储设备100的显示模块120可以为显示器,输入模块150可以为键盘和/或鼠标,处理模块110、存储模块130、收发模块140可以集成在家用电脑的主机中。
在存储系统中存在着大量的后台任务。例如,前端写带宽任务,用于根据后端能力控制主机写入量;垃圾回收(garbage collecting,GC)任务,用于回收垃圾数据,以腾出空间给新数据写入;数据的搬移(Tierdown)任务,用于定期将性能层数据搬移到容量层。不同的任务之间可能存在一定的关联性。例如,GC任务回收垃圾数据后,可以腾出空间给前端写带宽任务写入新数据,那么,GC任务的单位时间内回收垃圾数据的带宽等于前端写带宽任务的带宽。
为了不同的任务之间能够长期稳定运行,需要合理分配有限的资源(带宽资源和计算资源)。同时,随着存储系统的持续更新演进,会不断加入新的任务,资源的争抢情况会更加严重。那么,在不影响现有调控逻辑的基础上,如何支持新加入的任务,是一个亟需解决的问题。
在当前的存储系统中,对任务的调控主要有两种方式:第一种是根据人工经验静态配置执行策略,一般采用反馈式方法;第二种将系统黑盒化,采用强化学习等方法,根据反馈结果和激励值动态调整任务执行策略,以获取最优的任务参数。但是,这些方法都是针对单点的任务调控,不同的任务之间互不感知、独立决策,这对于具备关联性的任务无法做到统一的调控,不能达成存储系统的性能最优。
在本申请中,存储设备确定多个任务之间关于目标资源的目标关系,确定多个任务中各个任务的资源需求,资源需要包括单位时间内每写入或搬移1份数据所需的至少一种资源的消耗量,至少一种资源包括目标资源,确定至少一种资源中各个资源的资源余量,并确定关于目标资源的规划目标。然后,存储设备可以基于目标关系、多个任务中各个任务的资源需求、至少一种资源中各个资源的资源余量和规划目标建立规划模型,并解析规划模型,得到多个任务中各个任务的资源分配。使得存储设备可以在具备关联性的不同任务之间统一调控,达到性能最优。
请参阅图2所示,本申请实施例提供的一种资源分配方法主要包括如下步骤:
201、存储设备确定多个任务之间关于目标资源的目标关系。
示例性的,多个任务中的任一个为垃圾回收GC任务、前端写入带宽任务或搬移Tierdown任务,此处不做限定。其中,前端写带宽任务用于根据后端能力控制主机写入量;GC任务用于回收垃圾数据,以腾出空间给新数据写入;Tierdown任务用于定期将性能层(例如固态硬盘)数据搬移到容量层(例如机械硬盘)。
示例性的,目标资源可以为带宽资源和计算资源。其中,带宽资源可以为盘带宽,计算资源可以为中央处理器(central processing unit,CPU)资源,此处不做限定。
以目标资源为盘带宽为例,其中,盘带宽为一个任务在单位时间内写入或迁移的数据量。GC任务与前端写带宽任务之间关于盘带宽的目标关系为:GC任务中的盘带宽=前端写带宽任务的盘带宽。Tierdown任务和前端写带宽任务之间关于盘带宽的目标关系为:Tierdown任务的盘带宽=前端写带宽任务的热点数据的盘带宽。
在一些可行的实现方式中,多个任务之间关于目标资源的目标关系可以由存储设备确定,也可以由用户确定并在存储设备中配置,也可以有第三方设备配置并发送给存储设备,也可以为预设的配置,此处不做限定。
在一些可行的实现方式中,在多级介质存储系统中,不同的任务之间可以具有关于盘带宽的目标关系为:性能层的GC任务的盘带宽=前端写带宽任务的盘带宽;Tierdown任务的盘带宽=前端写带宽任务的热点数据的盘带宽;容量层的GC任务的盘带宽=Tierdown任务的盘带宽;元数据Merge的盘带宽=前端写带宽任务的热点数据的盘带宽。在一些可行的实现方式,第一任务和第二任务的关于目标资源的目标关系还可以为:第一任务所需的盘带宽=第二任务所需的盘带宽的N倍,N为正数。
在本申请实施例中,多个任务包括第一任务和第二任务,目标资源为盘带宽为例进行说明,其中,第一任务和第二任务之间关于盘带宽的目标关系为:第一任务的盘带宽=第二任务的盘带宽。
202、存储设备确定多个任务中各个任务的资源需求。
在一些可行的实现方式中,当确定了多个任务之间关于目标资源的目标关系后,存储设备可以评估多个任务中各个任务的资源需求。资源需求即一个任务对至少一种资源的开销,例如,至少一种资源包括盘带宽资源或中央处理器CPU资源。
需要说明的是,评估多个任务中各个任务的资源需求的方法可以有很多,例如指数平滑、多元线性回归等,也可以采用深度学习的方式比如卷积神经网络,LSTM网络等,此处不做限定。以深度学习的方法为例,算法的输入特征可以是任务运行的盘带宽,输出任务可以是占用的计算资源,此处不做限定。
示例性的,第一任务的资源需求为:每写入X1份数据,需要消耗w1份CPU资源和w2份盘带宽。第二任务的资源需求为:每写入X2份数据,需要消耗w3份CPU资源和w4份盘带宽。
203、存储设备确定至少一种资源中各个资源的资源余量。
在本申请实施例中,多个资源包括CPU资源和盘带宽,那么,CPU资源的余量设为M1,盘带宽的余量设为M2。在一些可行的实现方式中,多个资源中各个资源的资源余量可以由存储设备可以自行查看并确定,也可以由用户查看并输入,也可以有第三方的软件或硬件查看并输入,此处不做限定。
204、存储设备接收关于目标资源的规划目标。
当存储设备确定了确定多个资源中各个资源的资源余量之后,用户可以在存储设备中输入规划目标。例如,规划目标可以为优先执行第一任务,即object=MAX(X1)。例如,第一任务为前端写带宽任务,第二任务的GC任务,目标规划为优先执行前端写带宽任务。
205、存储设备基于多个任务之间关于目标资源的目标关系、多个任务中各个任务的资源需求、多个资源中各个资源的资源余量和规划目标建立规划模型。
以多个任务包括第一任务和第二任务为例,第一任务每写入X1份数据,资源需求为w1份CPU资源、w2份盘带宽;第二任务每回收X2份空白块,需要消耗w3份CPU资源、w4份盘带宽;第一任务的盘带宽=第二任务的盘带宽;CPU资源的余量为M1,盘带宽的余量为M2;规划目标为优先执行第一任务。示例性的,设多个任务为应用在存储系统的前端写带宽任务和GC任务,前端写带宽任务的资源需求为每写入1份数据,资源需求为w1份CPU资源、w2份盘带宽,GC任务的资源需求为每搬移1份数据,资源需求为w3份CPU资源、w4份盘带宽,前端写带宽任务的盘带宽=GC任务的盘带宽,CPU资源的余量为M1,盘带宽的余量为M2;规划目标为优先执行前端写带宽任务。
那么,存储设备可以建立下述规划模型:
1、w1*X1+w3*X2<=M1;
2、w2*X1+w4*X2<=M2;
3、X1=X2;
4、规划目标为object=MAX(X1)。
其中,X1为前端写带宽任务写入的数据量,X2为GC任务搬移的数据量。其中,规划目标为优先执行第一任务,F(X1,X2)=MAX(X1),MAX(X1)表示使得X1最大。
206、存储设备解析规划模型,得到多个任务中各个任务的资源分配。
在本申请实施例中,当存储设备建立了规划模型,可以基于该规划模型求得最优解。续上述例子,可以得出任务1和任务2分配的最佳带宽值。
例如,w1=1,w2=2,w3=3,w4=4,M1=10,M2=20,那么,规划模型可以为:
1、1*X1+3*X2<=10;
2、2*X1+4*X2<=20;
3、X1=X2;
4、规划目标为object=MAX(X1)。
从而得到:
1、4*X1<=10;
2、6*X1<=20;
即:
X1<=2.5,且,X1<=10/3;
那么,规划目标为object=MAX(X1),即令X1最大,即X1=X2=2.5,从而求得最优解。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图3所示,本申请实施例提供的一种存储设备300,可以包括:
处理模块301,用于确定多个任务之间关于目标资源的目标关系;
所述处理模块301,还用于确定所述多个任务中各个任务的资源需求,所述资源需要包括单位时间内每写入或搬移1份数据所需的至少一种资源的消耗量,所述至少一种资源包括所述目标资源;
所述处理模块301,还用于确定所述至少一种资源中各个资源的资源余量;
接收模块302,用于接收关于所述目标资源的规划目标;
所述处理模块301,还用于基于所述目标关系、所述多个任务中各个任务的资源需求、所述至少一种资源中各个资源的资源余量和所述规划目标建立规划模型;
所述处理模块,还用于解析所述规划模型,得到所述多个任务中各个任务的资源分配。
在一些可能的实现方式中,所述多个任务中的任一个为垃圾回收GC任务、前端写入带宽任务或搬移Tierdown任务。
在一些可能的实现方式中,所述至少一种资源包括盘带宽资源或中央处理器CPU资源。
在一些可能的实现方式中,所述多个任务包括第一任务和第二任务,所述目标资源为所述盘带宽,所述目标关系为所述第一任务所需的盘带宽等于所述第二任务所需的盘带宽的N倍,N为正数。
在一些可能的实现方式中,所述第一任务的资源需求为写入和搬移每1份数据需要w1份所述盘带宽和w2份所述CPU资源,所述第一任务的资源需求为写入和搬移每1份数据需要w3份所述盘带宽和w4份所述CPU资源,所述盘带宽的资源余量为M1,所述CPU资源的资源余量为M2;
所述规划模型为:w1*X1+w3*X2<=M1;w2*X1+w4*X2<=M2;X1=N*X2;object=F(X1,X2);
其中,X1为所述第一任务的写入和搬移的数据量,X2为所述第二任务的写入和搬移的数据量,object表示所述规划目标,F(X1,X2)表示与X1和X2相关的规划。
在一些可能的实现方式中,所述规划目标为优先执行所述第一任务,F(X1,X2)=MAX(X1),MAX(X1)表示使得X1最大。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
接下来介绍本申请实施例提供的另一种通信装置,请参阅图4所示,通信装置400包括:
接收器401、发射器402、处理器403和存储器404。在本申请的一些实施例中,接收器401、发射器402、处理器403和存储器404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
存储器404可以包括只读存储器和随机存取存储器,并向处理器403提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器404存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器403控制通信装置400的操作,处理器403还可以称为中央处理单元(central processing unit,CPU)。具体的应用中,通信装置400的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器403中,或者由处理器403实现。处理器403可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器403中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器403可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器404,处理器403读取存储器404中的信息,结合其硬件完成上述方法的步骤。
接收器401可用于接收输入的数字或字符信息,以及产生与相关设置以及功能控制有关的信号输入,发射器402可包括显示屏等显示设备,发射器402可用于通过外接接口输出数字或字符信息。
本申请实施例中,处理器403,用于执行前述的资源配置方法。
在另一种可能的设计中,当存储设备300为芯片时,包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面任意一项的无线报告信息的发送方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (16)
1.一种资源分配方法,其特征在于,包括:
存储设备确定多个任务之间关于目标资源的目标关系;
所述存储设备确定所述多个任务中各个任务的资源需求,所述资源需要包括单位时间内每写入或搬移1份数据所需的至少一种资源的消耗量,所述至少一种资源包括所述目标资源;
所述存储设备确定所述至少一种资源中各个资源的资源余量;
所述存储设备接收关于所述目标资源的规划目标;
所述存储设备基于所述目标关系、所述多个任务中各个任务的资源需求、所述至少一种资源中各个资源的资源余量和所述规划目标建立规划模型;
所述存储设备解析所述规划模型,得到所述多个任务中各个任务的资源分配。
2.根据权利要求1所述方法,其特征在于,所述多个任务中的任一个为垃圾回收GC任务、前端写入带宽任务或搬移Tierdown任务。
3.根据权利要求1或2所述方法,其特征在于,所述至少一种资源包括盘带宽资源或中央处理器CPU资源。
4.根据权利要求3所述方法,其特征在于,所述多个任务包括第一任务和第二任务,所述目标资源为所述盘带宽,所述目标关系为所述第一任务所需的盘带宽等于所述第二任务所需的盘带宽的N倍,N为正数。
5.根据权利要求4所述方法,其特征在于,所述第一任务的资源需求为写入和搬移每1份数据需要w1份所述盘带宽和w2份所述CPU资源,所述第一任务的资源需求为写入和搬移每1份数据需要w3份所述盘带宽和w4份所述CPU资源,所述盘带宽的资源余量为M1,所述CPU资源的资源余量为M2;
所述规划模型为:w1*X1+w3*X2<=M1;w2*X1+w4*X2<=M2;X1=N*X2;object=F(X1,X2);
其中,X1为所述第一任务的写入和搬移的数据量,X2为所述第二任务的写入和搬移的数据量,object表示所述规划目标,F(X1,X2)表示与X1和X2相关的规划。
6.根据权利要求5所述方法,其特征在于,所述规划目标为优先执行所述第一任务,F(X1,X2)=MAX(X1),MAX(X1)表示使得X1最大。
7.一种存储设备,其特征在于,包括:
处理模块,用于确定多个任务之间关于目标资源的目标关系;
所述处理模块,还用于确定所述多个任务中各个任务的资源需求,所述资源需要包括单位时间内每写入或搬移1份数据所需的至少一种资源的消耗量,所述至少一种资源包括所述目标资源;
所述处理模块,还用于确定所述至少一种资源中各个资源的资源余量;
接收模块,还用于接收关于所述目标资源的规划目标;
所述处理模块,还用于基于所述目标关系、所述多个任务中各个任务的资源需求、所述至少一种资源中各个资源的资源余量和所述规划目标建立规划模型;
所述处理模块,还用于解析所述规划模型,得到所述多个任务中各个任务的资源分配。
8.根据权利要求7所述存储设备,其特征在于,所述多个任务中的任一个为垃圾回收GC任务、前端写入带宽任务或搬移Tierdown任务。
9.根据权利要求7或8所述存储设备,其特征在于,所述至少一种资源包括盘带宽资源或中央处理器CPU资源。
10.根据权利要求9所述存储设备,其特征在于,所述多个任务包括第一任务和第二任务,所述目标资源为所述盘带宽,所述目标关系为所述第一任务所需的盘带宽等于所述第二任务所需的盘带宽的N倍,N为正数。
11.根据权利要求10所述存储设备,其特征在于,所述第一任务的资源需求为写入和搬移每1份数据需要w1份所述盘带宽和w2份所述CPU资源,所述第一任务的资源需求为写入和搬移每1份数据需要w3份所述盘带宽和w4份所述CPU资源,所述盘带宽的资源余量为M1,所述CPU资源的资源余量为M2;
所述规划模型为:w1*X1+w3*X2<=M1;w2*X1+w4*X2<=M2;X1=N*X2;object=F(X1,X2);
其中,X1为所述第一任务的写入和搬移的数据量,X2为所述第二任务的写入和搬移的数据量,object表示所述规划目标,F(X1,X2)表示与X1和X2相关的规划。
12.根据权利要求11所述存储设备,其特征在于,所述规划目标为优先执行所述第一任务,F(X1,X2)=MAX(X1),MAX(X1)表示使得X1最大。
13.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储有程序,所述程序使得计算机设备执行如权利要求1-6中任一项所述的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器从所述计算机可读存储介质中读取所述计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得所述设备执行如权利要求1-6中任一项所述的方法。
15.一种通信装置,其特征在于,所述通信装置包括至少一个处理器、存储器和通信接口;
所述至少一个处理器与所述存储器和所述通信接口耦合;
所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述至少一个处理器的控制下与其他通信装置进行通信;
所述指令在被所述至少一个处理器执行时,使所述至少一个处理器执行如权利要求1-6中任一项所述的方法。
16.一种芯片系统,其特征在于,所述芯片系统包括处理器和存储器,所述存储器和所述处理器通过线路互联,所述存储器中存储有指令,所述处理器用于执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211175570.5A CN117806527A (zh) | 2022-09-26 | 2022-09-26 | 一种资源分配方法以及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211175570.5A CN117806527A (zh) | 2022-09-26 | 2022-09-26 | 一种资源分配方法以及存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117806527A true CN117806527A (zh) | 2024-04-02 |
Family
ID=90418806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211175570.5A Pending CN117806527A (zh) | 2022-09-26 | 2022-09-26 | 一种资源分配方法以及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806527A (zh) |
-
2022
- 2022-09-26 CN CN202211175570.5A patent/CN117806527A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929165B2 (en) | System and method for memory resizing in a virtual computing environment | |
KR101768005B1 (ko) | 신축적 컴퓨팅 시스템 및 환경을 포함하는 컴퓨팅 시스템 및 환경에 대한 실행 할당 비용 평가 | |
US11700300B2 (en) | Cluster resource management in distributed computing systems | |
US10019167B2 (en) | Non-Uniform Memory Access (NUMA) resource assignment and re-evaluation | |
CN109857555B (zh) | 内存回收方法及装置、存储介质和电子设备 | |
EP3567479A1 (en) | Method for establishing application prediction model, storage medium, and terminal | |
CN105740078B (zh) | 一种内存管理方法、装置及终端 | |
US8695005B2 (en) | Model for hosting and invoking applications on virtual machines in a distributed computing environment | |
CN108287764A (zh) | 分布式任务调度方法及其系统、存储介质、电子设备 | |
JP2007241394A (ja) | 分割処理管理装置及び分割処理管理システム及び演算処理実行システム及び分割処理管理方法 | |
CN109062468B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN109144723B (zh) | 一种分配存储空间的方法和终端 | |
CN102419753B (zh) | 信息处理设备、信息处理方法和信息处理系统 | |
JP2021121921A (ja) | 人工知能開発プラットフォームの管理方法及び装置、媒体 | |
CN111338745B (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN105488985B (zh) | 一种支持面向对象通讯协议的低压采集终端 | |
KR20200061828A (ko) | 전자장치 및 그 제어방법 | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
CN117271100A (zh) | 算法芯片集群调度方法、装置、计算机设备和存储介质 | |
CN110309462B (zh) | 数据展示方法及系统 | |
CN117806527A (zh) | 一种资源分配方法以及存储设备 | |
CN106843890A (zh) | 基于智能决策的传感器网络、节点及其运行方法 | |
Kavitha et al. | Ai Integration in Data Driven Decision Making for Resource Management in Internet of Things (Iot): A Survey | |
US20220269530A1 (en) | Intelligent containerization platform for optimizing cluster utilization | |
KR102227644B1 (ko) | 마이크로 데이터센터 환경에서의 학습형 워크로드 측정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |