CN111124254B - 调度存储空间回收请求的方法、电子设备和程序产品 - Google Patents

调度存储空间回收请求的方法、电子设备和程序产品 Download PDF

Info

Publication number
CN111124254B
CN111124254B CN201811280500.XA CN201811280500A CN111124254B CN 111124254 B CN111124254 B CN 111124254B CN 201811280500 A CN201811280500 A CN 201811280500A CN 111124254 B CN111124254 B CN 111124254B
Authority
CN
China
Prior art keywords
storage
requests
storage space
available
pools
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.)
Active
Application number
CN201811280500.XA
Other languages
English (en)
Other versions
CN111124254A (zh
Inventor
姜昌旭
蒋振宗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201811280500.XA priority Critical patent/CN111124254B/zh
Priority to US16/585,578 priority patent/US11169724B2/en
Publication of CN111124254A publication Critical patent/CN111124254A/zh
Application granted granted Critical
Publication of CN111124254B publication Critical patent/CN111124254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

本公开的实施例提供了一种计算机实现的方法、电子设备和计算机程序产品。该方法包括:基于多个请求被检测的时间顺序,生成包含多个请求的先进先出(FIFO)队列,该多个请求由存储系统的多个存储池发出用以回收多个存储池的存储空间。该方法还包括:确定多个存储池各自的可用存储空间。该方法进一步包括:基于可用存储空间,来更新多个请求在FIFO队列中的顺序以用于处理。本公开的实施例可以有效地缓解存储池缺乏存储空间的问题。

Description

调度存储空间回收请求的方法、电子设备和程序产品
技术领域
本公开的实施例一般地涉及计算机系统或存储系统,并且更特别地,涉及一种调度存储空间回收请求的方法、电子设备和计算机程序产品。
背景技术
一些存储系统提供存储池供用户使用。通常,存储池可以是指一组存储盘,其可以被划分为具有逻辑单元编号(LUN)的多个逻辑存储单元。存储池可以包括不同的存储盘类型以及不同的独立磁盘冗余阵列(RAID)类型。在具体的实现中,存储系统可以将阵列中的所有存储盘分配给单个存储池或创建多个存储池。
随着存储池的存储空间被分配用于使用,存储池的可用存储空间将减少。为了回收存储空间,存储池可以发出存储空间回收请求(后文可以简称为回收请求),以便删除快照、缩小文件系统等。一般地,这些回收请求可以作为背景作业在存储系统中运行。然而,传统的存储空间回收方式会影响存储系统的性能,导致了不良的用户体验。
发明内容
本公开的实施例涉及一种调度存储空间回收请求的方法、电子设备、以及计算机程序产品。
在本公开的第一方面,提供了一种计算机实现的方法。该方法包括:基于多个请求被检测的时间顺序,生成包含多个请求的先进先出(FIFO)队列,该多个请求由存储系统的多个存储池发出用以回收多个存储池的存储空间;确定多个存储池各自的可用存储空间;以及基于可用存储空间,来更新多个请求在FIFO队列中的顺序以用于处理。
在本公开的第二方面,提供了一种电子设备。电子设备包括至少一个处理器和存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使得电子设备:基于多个请求被检测的时间顺序,生成包含多个请求的FIFO队列,多个请求由存储系统的多个存储池发出用以回收多个存储池的存储空间;确定多个存储池各自的可用存储空间;以及基于可用存储空间,来更新多个请求在FIFO队列中的顺序以用于处理。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行:基于多个请求被检测的时间顺序,生成包含多个请求的FIFO队列,多个请求由存储系统的多个存储池发出用以回收多个存储池的存储空间;确定多个存储池各自的可用存储空间;以及基于可用存储空间,来更新多个请求在FIFO队列中的顺序以用于处理。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了本公开的实施例可以在其中被实现的示例环境的示意性框图。
图2示出了根据本公开的实施例的计算机实现的方法的流程图。
图3示出了仿真的根据传统方案的回收请求处理过程的流程图。
图4示出了仿真的根据传统方案的回收请求处理的示意图。
图5示出了仿真的根据本公开的实施例的示例方案的回收请求处理过程的流程图。
图6示出了仿真的根据本公开的实施例的示例方案的回收请求处理的示意图。
图7示出了一种可以被用来实施本公开的实施例的设备的示意性框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
如上文指出的,存储系统的存储池发出的回收请求可以作为背景作业在存储系统中运行。在传统的存储系统中,尤其是中档的存储系统实现中,与存储空间回收相关的操作性能未达到最优。例如,将存储空间回收到存储池对于这样的存储系统可能是一种费时的任务,因为大多数的背景工作是由存储系统的处理器按顺序依次执行的,且存储空间回收处理过程可能非常复杂。因此,在传统的存储系统中,尽管某个回收请求可能仅需要处理器花费例如数分钟来处理,但是却往往耗费大量的时间用于等待处理器的处理(例如,甚至长达数天),这导致该回收请求实际上需要数天时间才能被处理完成。
众所周知,除了存储空间的分配以外,存储空间的回收也将影响到每个存储池的可用存储空间。通常,如果存储池的可用存储空间低于某个阈值,则存储池的性能将降级并且其文件系统或LUN将变为只读。因此,可能存在这样的情况,某个存储池已经发出许多回收请求,但是由于处理器未能及时处理这些回收请求,而导致该存储池不具有足够的可用存储空间向用户提供存储服务。
为了进一步说明该情形,考虑如下的示例场景。用户在存储系统中配置了多个存储池,其中的一个存储池的容量较小且总容量的90%已经被分配用于使用。在某个时间,用户发现许多的快照消耗了该存储池的容量,因此启动对该存储池的快照删除。然而,在此时,来自其他存储池的许多其他的回收请求已经在等待处理器的处理。结果是,该存储池在一段时间之后仍然缺少存储空间,因为它的回收请求未能及时被处理。
因此,在具有较多回收请求等待被处理的情况下,存储系统的用户体验将会变差,因为存储池的存满状态将持续较长的时间段而无法得到缓解。当然,对存储池进行容量扩展是针对此类情形的一种解决方案,但是用于扩展存储池容量的存储盘(尤其是闪存盘)通常是昂贵的,这增加了存储系统的成本。此外,对存储池的容量扩展是不可逆的,可能导致存储容量的浪费。
本公开的发明人发现,在存储系统被使用的过程中,不同存储池的可用存储空间(例如,可以通过剩余容量与总容量的百分比来表示)可能是不同的。在示例情形中,假设两个存储池中的第一存储池接近存满,而第二存储池仅20%的存储空间被分配使用。在这种情形下,存储系统处理第二存储池的回收请求而使第一存储池的回收请求保持等候处理将是不合理的。此时,推迟第二存储池的回收请求对存储系统将造成较小的影响,而借此优先处理第一存储池的回收请求将有助于第一存储池避免存储空间不足的问题。
鉴于传统方案存在的上述问题以及潜在的其他问题,并且通过发明人的上述分析,本公开的实施例提出了一种调度存储空间回收请求的方法、电子设备、以及计算机程序产品。本公开的实施例的基本思想是,基于存储池的可用存储空间来调整存储池的回收请求的处理顺序。例如,具有较少存储空间的存储池的回收请求可以被优先处理而加速,从而有效地缓解了存储池缺少存储空间的问题。下面结合附图来详细地描述本公开的实施例。
图1示出了本公开的实施例可以在其中被实现的示例环境100的示意性框图。如图1所示,示例环境100中包括存储系统110。存储系统110具有存储池120-1至120-N供用户使用。在下文中,存储池120-1至120-N也可以统称为存储池120。将理解,尽管图1将存储系统110描绘为包括特定数目的存储池120-1至120-N,但是在其他实施例中,存储系统110可以包括任何数目的存储池。
在一些实施例中,存储池120中的每个存储池可以包括存储盘的集合,其可以为使用它们的资源提供特定的存储特性。例如,存储池配置可以定义存储池中的存储盘的类型和容量。对于物理部署,存储池配置还可以定义用于这些存储盘的独立磁盘冗余阵列(RAID)配置(RAID类型和条带宽度)。在一些实施例中,存储池的存储盘集合可以被划分成具有逻辑单元编号(LUN)的多个逻辑存储单元。在其他实施例中,存储池120中的每个存储池可以是用于提供存储空间以供使用的任何存储资源集合。
如上文提到的,为了回收存储池120的存储空间,存储池120可以发出用于回收存储空间的回收请求135-1至135-K(下文可以统称为回收请求135),例如以便删除快照、缩小文件系统,等等。存储系统110可以基于回收请求135-1至135-K被检测到的时间顺序,来生成包含回收请求135-1至135-K的先进先出(FIFO)队列130。FIFO队列130意味着排列在其中的回收请求135-1至135-K将依次先后地被存储系统110(例如,其处理器)处理。
将理解,回收请求135-1至135-K中的任何回收请求可能由存储池120-1至120-N中的任何存储池发出,也即回收请求135-1至135-K与存储池120-1至120-N可以具有任意的对应关系。例如,回收请求135中的多个回收请求可能由相同的存储池发出,且回收请求135也可能不包括来自某些存储池的回收请求。换言之,回收请求135-1至135-K按照被检测到(也即被发出)的时间先后顺序被布置到FIFO队列130中,而不论其由哪个存储池发出。
另外,将理解,尽管图1中示出了特定数目的FIFO队列130和回收请求135,但是在其他实施例中,存储系统110可以生成任何数目的FIFO队列,每个FIFO队列可以包括任何数目的回收请求。下面结合附图2来更详细地描述与本公开的实施例相关联的操作。
图2示出了根据本公开的实施例的计算机实现的方法200的流程图。在一些实施例中,方法200可以由示例环境100中的存储系统110来实现,例如可以由存储系统110的处理器或处理单元来实现,或者由存储系统110的各种功能模块来实现。在下文中,为了便于讨论,将结合图1以存储系统110实现方法200为例来讨论方法200。但是将理解,在其他实施例中,方法200也可以由独立于示例环境100的其他电子设备或计算设备来实现。
在210处,如上文提到的,存储池120为了回收存储空间,可以发出多个回收请求135-1至135-K。相应地,在检测到这些回收请求135-1至135-K后,存储系统110基于回收请求135-1至135-K被检测到的时间顺序来生成FIFO队列130。FIFO队列130中包含该多个回收请求135-1至135-K。在一些实施例中,回收请求135被检测到的时间可以认为是它们被发出的时间。在其他实施例中,回收请求135被检测到的时间可以是在它们被发出的时间的基础上延迟一个固定时间值。一般地,回收请求135被检测到的时间顺序应当与它们被发出的时间顺序一致。
在220处,存储系统110确定多个存储池120-1至120-N各自的可用存储空间。例如,所确定的可用存储空间可以通过存储池120的剩余容量与总容量的百分比来表示,从而可以反映出不同容量大小的存储池120的存满程度。另外地或替换地,所确定的可用存储空间也可以通过存储池120的剩余容量的绝对值来表示。在其他的实施例中,存储池120的可用存储空间可以通过能够反映出存储池120未被分配的可用容量的任何其他适合的度量来表示。
在一些实施例中,存储系统110可以基于存储池120中的某个存储池(例如存储池120-1)的存储空间被分配或回收的情况,来确定存储池120-1的可用存储空间。例如,当存储池120-1的存储空间被分配用于使用后,存储系统110可以更新存储池120-1的可用存储空间。另外地或替换地,当存储池120-1的存储空间回收请求被存储系统110处理后,存储系统110也可以更新存储池120-1的可用存储空间。以此方式,存储系统110可以确保所确定的存储池120的可用存储空间准确地反映了它们的实际可用存储空间。
在230处,存储系统110基于存储池120-1至120-N的可用存储空间,来更新多个请求135-1至135-K在FIFO队列130中的顺序以用于处理。作为一种示例,存储系统110可以在多个存储池120-1至120-N中确定可用存储空间低于阈值的存储池,例如存储池120-2。然后,存储系统110可以调整存储池120-2发出的至少一个请求在FIFO队列130中的位置。如本文所使用的,此处的阈值可以由技术人员或用户例如根据设计需求或使用需求来预先确定。通过这样的方式,可以确保可用存储容量较低的存储池的回收请求被优先处理。
在一些情况下,如果存在多个存储池的可用存储空间低于阈值,则存储系统110可以在这些存储池中确定可用存储空间最少的存储池,然后调整该存储池的回收请求。替换地,存储系统110可以在可用存储空间低于阈值的这些存储池中随机地选择一个存储池,然后优先处理该存储池的回收请求。在其他实施例中,存储系统110也可以采用其他合理的方式从这些存储池中选择一个存储池,然后优先处理该存储池的回收请求,例如,选择这些存储池中最先发出回收请求的存储池,等等。
在一些实施例中,在确定某个存储池(例如,存储池120-2)的回收请求需要被优先处理后,存储系统110可以确定存储池120-2发出的至少一个请求中需要调整的请求的数目。此后,存储系统110可以将至少一个请求中的该数目的请求布置在FIFO队列130的头部。换句话说,存储系统110可以每次调整存储池120-2的预定数目的请求,该预定数目例如可以根据技术环境和设计需求来确定。以此方式,存储系统110可以合理地调节每次对回收请求进行调整的程度。
替换地,除了优选处理具有较少可用存储空间的存储池的回收请求以外,存储系统110还可以用其他方式来更新多个请求135-1至135-K在FIFO队列130中的顺序。例如,存储系统110可以将可用存储空间较多的存储池的回收请求布置到FIFO队列130的最后。又例如,存储系统110可以基于存储池120-1至120-N的可用存储空间的大小顺序,来依次地它们的回收请求排列在FIFO队列130中,等等。将理解,存储系统110可以采用任何合理的方式,基于存储池120-1至120-N的可用存储空间,来更新多个请求135-1至135-K在FIFO队列130中的顺序,以便避免存储池120-1至120-N出现存储空间不足的情况。
在一些实施例中,存储系统110可以按预定的时间间隔周期性地更新多个请求135-1至135-K的顺序。如本文所使用的,此处的预定时间间隔可以由技术人员或用户例如根据设计需求或使用需求来预先确定。如此,存储系统110可以在该时间间隔内完成一些回收请求的处理。否则,如果上次被布置在FIFO队列130前面以便优先处理的回收请求(例如,回收请求135-J)尚未开始被处理,存储系统110又再次执行回收请求顺序更新,则存储系统110将执行重复无用的工作(例如,再次确定存储池120-1至120-N需要被优先处理)而浪费计算资源。此外,通过周期性地更新回收请求的顺序,存储系统110可以无需人工干预而自动地保持可用存储空间较少的存储池的回收请求被优先处理。
相对于传统的方案,本公开的实施例的所提出的方案具有在缓解存储池缺少存储空间的问题方面具有极佳的性能,并且具有更高的效率。下面结合图3至图6来描述对传统方案和本公开的实施例的一种仿真实现,以便更好地说明本公开的实施例相对于传统方案的上述技术优点。
图3示出了仿真的根据传统方案的回收请求处理过程300的流程图。在一些实施例中,该仿真的过程300可以通过计算机实现的仿真系统来执行。另外地或替换地,过程300也可以由任何具有仿真能力的计算设备或电子设备来执行。
为了描述该仿真,将采用如下的符号表示法。N表示存储系统中的存储池的数目。K表示每个存储池的存储空间回收请求的数目。Ui total表示每个存储池的总容量,其中i取值为1至N。Pi free表示每个存储池的剩余容量百分比,其中i取值为1至N。Pi used表示每个存储池的已用容量百分比,其中i取值为1至N。
R表示存储池的回收矩阵,矩阵的行是Ri=[ri,1,ri,2,…,ri,K],元素ri,k是归一化的时间,其表示存储池i(i取值为1至N)的回收请求k(k取值为1至K)完成处理所花费的时间,因此R可以写为:
Rlist表示包括矩阵R所有元素的列表,并且其元素的顺序可以被打乱来仿真回收请求的队列,即Rlist=[r1,r2,…,rM],M=N*K,r1表示Rlist中的第一个元素。向量B=[b1,b2,…,bN]表示回收率,其中元素bi是存储池i(i取值为1至N)的回收率。例如,回收请求k所回收的容量可以表示为bi*ri,k。T表示每个存储池进行容量分配的时间段。向量D=[d1,d2,…,dN]表示在时间段T内被分配用于使用的容量,其中元素di是在时间段T内存储池i被分配用于使用的容量。Tinterval表示回收请求队列中的回收请求被更新的周期。在下文中,将以仿真系统执行过程300为例来描述过程300,但是将理解,过程300也可以由其他用于仿真的计算机或电子设备执行。
在305处,仿真系统初始化存储系统环境并且设置开始时间为t=0、tr=r1、ta=T。在310处,仿真系统确定t是否大于tr。如果t大于tr,这意味着存储池i的回收请求r1在时间tr处完成,所以需要对Pi free和Pi used进行回收更新,因此过程300前进到315。在315处,仿真系统将Pi free更新为Pi free+bi*r1/Ui total,并且将Pi used更新为Pi used-bi*r1/Ui total。此外,仿真系统将Rlist更新为Rlist[1:M]+Rlist[0]以将回收请求队列中之前的第二个回收请求布置在回收请求队列的前面。另外,仿真系统将tr更新为tr+r1。然后,过程300前进到320。另一方面,如果仿真系统在310处确定t不大于tr,则过程300也前进到320。
在320处,仿真系统确定t是否大于ta。如果t大于ta,这意味着存储池的容量分配在时间ta处发生(此处假设所有的存储池在此时都进行容量分配),所以需要针对所有的i(取值为1至N),对Pi free和Pi used进行分配更新,因此过程300前进到325。在325处,对于每个i值,仿真系统将Pi free更新为Pi free-di/Ui total,并且将Pi used更新为Pi used+di/Ui total。另外,仿真系统将ta更新为ta+T。
然后,过程300前进到330。在330处,仿真系统确定对于任何存储池i,是否发生缺乏存储空间的事件,即确定任何存储池i的Pi free是否小于阈值,例如该阈值可以设置为5%。将理解,此处的具体数值仅是示例性的,无意以任何方式限制本公开的实施例的范围,在其他实施例中,可以使用任何其他适合的数值。
如果对于任何存储池i,存在缺乏存储空间的事件发生,则仿真系统输出此时的ta取值,其即为从仿真开始的时间到出现存储池发生存储空间不足时的时长。如果不存在存储池缺乏存储空间,则过程300前进到335。另一方面,如果仿真系统在320处确定t不大于ta,则过程300也前进到335。在335处,将t更新为t+1,即增加一个归一化的时长,并且过程300返回到310,以使得仿真系统持续执行仿真过程300,直到某个存储池的可用存储空间小于预定的阈值。
图4示出了仿真的根据传统方案的回收请求处理的示意图。如图4中示出的,来自不同存储池i(i取值为1至N)的回收请求被排列在队列410中,以便依次由存储系统处理。例如,在时间点415处,来自存储池2的回收请求P2 412将处理完毕,而来自存储池1的回收请求P1 414将开始被处理,以此类推。另外,容量分配队列420以一种简单的方式仿真了存储池随时间推移被分配用于使用的存储空间。也即,在每个时间段T之后,每个存储池的存储空间d1被分配用于使用。例如,在时间点425处,这样的一次存储空间分配被执行,以此类推。
图5示出了仿真的根据本公开的实施例的示例方案的回收请求处理过程500的流程图。在一些实施例中,该仿真的过程500可以通过计算机实现的仿真系统来执行。另外地或替换地,过程500也可以由任何具有仿真能力的计算设备或电子设备来执行。在该仿真中,同样将采用上文描述的符号表示法。在下文中,将以仿真系统执行过程500为例来描述过程500。
在505处,仿真系统初始化存储系统环境并且设置开始时间为t=0、tr=0、ta=T。在510处,仿真系统获得存储池中具有最少可用容量的存储池的索引号index。在515处,仿真系统确定t是否大于0。如果tr等于0,则过程500前进到520。在520处,仿真系统将tr更新为tr+rindex,1。然后,过程500前进到525。另一方面,如果仿真系统在515处确定t大于0,则过程500也前进到525。
在525处,仿真系统确定t是否大于tr。如果t大于tr,这意味着索引号为index的存储池的回收请求rindex,1在时间tr处完成,所以需要对Pindex free和Pindex used进行回收更新。因此,过程500前进到530。在530处,仿真系统将Pindex free更新为Pindex free+bindex*rindex,1/Uindex total,并且将Pindex used更新为Pindex used-bindex*rindex,1/Uindex total。此外,仿真系统将tr更新为tr+rindex,1。然后,过程500前进到535。另一方面,如果仿真系统在525处确定t不大于tr,则过程500也前进到535。
在535处,如果t大于ta,这意味着存储池的容量分配在时间ta处发生(此处假设所有的存储池在此时都进行容量分配),所以针对所有的i(取值为1至N),仿真系统对Pi free和Pi used进行分配更新。因此,过程500前进到540。在540处,对于每个i值,仿真系统将Pi free更新为Pi free-di/Ui total,并且将Pi used更新为Pi used+di/Ui total。此外,仿真系统将ta更新为ta+T。然后,过程500前进到545。
在545处,仿真系统确定对于任何存储池i,是否发生缺乏存储空间的事件,即确定任何存储池i的Pi free是否小于阈值,例如该阈值可以设置为5%。将理解,此处的具体数值仅是示例性的,无意以任何方式限制本公开的实施例的范围,在其他实施例中,可以使用任何其他适合的数值。如果对于任何存储池i,仿真系统确定缺乏存储空间的事件Pi free小于阈值发生,则仿真系统在550处输出ta,其是从仿真开始的时间到某个存储池发生存储空间不足时的时长。反之,如果仿真系统确定没有存储池缺少可用存储空间,则过程500前进到555。另一方面,如果仿真系统在535处确定t不大于ta,则过程500也前进到555。
在555处,如果t是Tinterval的倍数,则意味着此时将进行FIFO队列中的回收请求的顺序更新。因此,过程500前进到560。在560处,仿真系统将Rindex更新为Rindex[X:K]+Rindex[0:X-1],以将索引号为index的存储池的接下来的X个回收请求布置在回收请求队列的前面。然后,过程500前进到510,以重新获得可用存储容量最小的存储池的索引号。另一方面,如果仿真系统在555处确定t不是Tinterval的倍数,则意味着此时不进行回收请求的顺序更新。因此,过程500前进到565。在565处,仿真系统将t更新为t+1,即增加一个归一化的时长。然后,过程500返回到525,以继续执行仿真过程500。
图6示出了仿真的根据本公开的实施例的示例方案的回收请求处理的示意图。如图6中示出的,来自不同存储池i(i取值为1至N)的回收请求被排列在队列610中,以便依次被处理。但是,与图4描绘的传统方案不同,由于仿真系统确定了索引号为index的存储池具有最少的可用存储空间,因此来自该存储池index的回收请求Pindex612被布置到队列610的前面以便优先执行。例如,在时间点615处,回收请求Pindex 612将处理完毕。此时,仿真系统将更新存储池index的可用存储空间,并且按照时间间隔Tinterval来更新回收请求队列610中的回收请求的顺序。另外,容量分配队列420与图4中描绘的相类似,此处不再赘述。
通过上述仿真算法,可以选取各个参数的具体取值用于测试传统方案和本公开的实施例的方案各自的性能。例如,在初始化存储系统环境时可以将Pi free设置为50%,即Pi used也设置为50%;将N设置为10,即假定存在10个存储池;将每个存储池i(取值为1至N)的总容量Ui total设置为100000个归一化的存储单位;将更新回收请求的顺序的周期Tinterval设置为10个归一化的时间单位;将每次调整的回收请求的数目X设置为1;并且将回收矩阵R的元素ri,k设置为1至10之间的随机数。将理解,此处的具体数值仅是示例性的,无意以任何方式限制本公开的实施例的范围,在其他实施例中,可以使用任何其他适合的数值。
在上述参数的具体取值的基础上,通过设置不同D、B和T来模拟不同的存储系统环境,如上文提到的,其中D可以表示在时间段T内被分配用于使用的容量,T可以表示每个存储池进行容量分配的时间段,它们用于仿真每个存储池的存储空间分配。此外,B可以表示回收率,用于仿真存储空间回收。通过这样的方式,可以仿真得到下面的表1中列出的9组性能比较数据,其中每组中的仿真结果是10次仿真的平均数据。
表1
/>
通过上述仿真结果可知,本公开的实施例的方案在缓解存储池缺乏存储空间的问题方面具有优异的性能,在某些场景(例如,编号为7-9的仿真结果)中甚至完全消除了这一问题。此外,本公开的实施例的方案是轻量的且易于实施,其通过重新调度存储空间回收请求,而不会对存储系统中的其他服务造成影响。再者,因为不需要用户的其他交互,所以本公开的实施例的方案对用户是友好的。进一步地,本公开的实施例的方案属于一般性的调度方法,因此其实施无需关心不同存储系统的背景回收工作的内部机制。
图7示意性地示出了一种可以被用来实施本公开的实施例的设备700的框图。如图7中所示出的,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储设备(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储设备(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200可由处理单元701来执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM703并由CPU 701执行时,可以执行上文描述的方法200的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。

Claims (13)

1.一种计算机实现的方法,包括:
基于多个请求被检测的时间顺序,生成包含所述多个请求的先进先出FIFO队列,所述多个请求由存储系统的多个存储池发出用以回收所述多个存储池的存储空间;
确定所述多个存储池各自的可用存储空间;以及
基于所述可用存储空间,至少部分地通过以下来更新所述多个请求在所述FIFO队列中的顺序以用于处理:
在所述多个存储池中,通过确定多个可用存储空间低于阈值的多个存储池,来确定可用存储空间低于所述阈值的至少一个存储池;
从可用存储空间低于阈值的所述多个存储池中,确定可用存储空间最少的存储池;以及
通过调整由所述可用存储空间最少的所述存储池发出的请求在所述FIFO队列中的位置以优先处理由所述可用存储空间最少的所述存储池发出的所述请求,来调整由可用存储空间低于所述阈值的所述至少一个存储池发出的至少一个请求在所述FIFO队列中的位置以优先处理由可用存储空间低于所述阈值的所述至少一个存储池发出的所述至少一个请求。
2.根据权利要求1所述的方法,其中确定所述多个存储池各自的可用存储空间包括:
基于所述多个存储池中的存储池的存储空间被分配或回收的情况,来确定所述存储池的可用存储空间。
3.根据权利要求1所述的方法,其中更新所述多个请求在所述FIFO队列中的顺序包括:
以预定的时间间隔周期性地更新所述多个请求的顺序。
4.根据权利要求1所述的方法,其中调整所述至少一个请求在所述FIFO队列中的位置包括:
确定所述存储池发出的所述至少一个请求中需要调整的请求的数目;以及
将所述至少一个请求中的所述数目的请求布置在所述FIFO队列的头部。
5.根据权利要求1所述的方法,还包括:基于在所述多个存储池中的可用存储空间的大小顺序,在所述FIFO队列中布置所述多个请求。
6.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备:
基于多个请求被检测的时间顺序,生成包含所述多个请求的先进先出FIFO队列,所述多个请求由存储系统的多个存储池发出用以回收所述多个存储池的存储空间;
确定所述多个存储池各自的可用存储空间;以及
基于所述可用存储空间,至少部分地通过以下使所述电子设备来更新所述多个请求在所述FIFO队列中的顺序以用于处理:
在所述多个存储池中,通过确定多个可用存储空间低于阈值的多个存储池,来确定可用存储空间低于所述阈值的至少一个存储池;
从可用存储空间低于阈值的所述多个存储池中,确定可用存储空间最少的存储池;以及
通过调整由所述可用存储空间最少的所述存储池发出的请求在所述FIFO队列中的位置以优先处理由所述可用存储空间最少的所述存储池发出的所述请求,来调整由可用存储空间低于所述阈值的所述至少一个存储池发出的至少一个请求在所述FIFO队列中的位置以优先处理由可用存储空间低于所述阈值的所述至少一个存储池发出的所述至少一个请求。
7.根据权利要求6所述的电子设备,其中所述至少一个存储器和所述计算机程序指令进一步被配置为,与所述至少一个处理器一起,使得所述电子设备:
基于所述多个存储池中的存储池的存储空间被分配或回收的情况,来确定所述存储池的可用存储空间。
8.根据权利要求6所述的电子设备,其中所述至少一个存储器和所述计算机程序指令进一步被配置为,与所述至少一个处理器一起,使得所述电子设备:
以预定的时间间隔周期性地更新所述多个请求的顺序。
9.根据权利要求6所述的电子设备,其中所述至少一个存储器和所述计算机程序指令进一步被配置为,与所述至少一个处理器一起,使得所述电子设备:
确定所述存储池发出的所述至少一个请求中需要调整的请求的数目;以及
将所述至少一个请求中的所述数目的请求布置在所述FIFO队列的头部。
10.一种非易失性计算机可读介质,所述非易失性计算机可读介质包括机器可执行指令,所述机器可执行指令在被执行时使机器执行:
基于多个请求被检测的时间顺序,生成包含所述多个请求的先进先出FIFO队列,所述多个请求由存储系统的多个存储池发出用以回收所述多个存储池的存储空间;
确定所述多个存储池各自的可用存储空间;以及
基于所述可用存储空间,至少部分地通过以下来更新所述多个请求在所述FIFO队列中的顺序以用于处理:
在所述多个存储池中,通过确定多个可用存储空间低于阈值的多个存储池,来确定可用存储空间低于所述阈值的至少一个存储池;
从可用存储空间低于阈值的所述多个存储池中,确定可用存储空间最少的存储池;以及
通过调整由所述可用存储空间最少的所述存储池发出的请求在所述FIFO队列中的位置以优先处理由所述可用存储空间最少的所述存储池发出的所述请求,来调整由可用存储空间低于所述阈值的所述至少一个存储池发出的至少一个请求在所述FIFO队列中的位置以优先处理由可用存储空间低于所述阈值的所述至少一个存储池发出的所述至少一个请求。
11.根据权利要求10所述的非易失性计算机可读介质,其中所述机器可执行指令在被执行时使机器进一步执行:
基于所述多个存储池中的存储池的存储空间被分配或回收的情况,来确定所述存储池的可用存储空间。
12.根据权利要求10所述的非易失性计算机可读介质,其中所述机器可执行指令在被执行时使机器进一步执行:
以预定的时间间隔周期性地更新所述多个请求的顺序。
13.根据权利要求10所述的非易失性计算机可读介质,其中所述机器可执行指令在被执行时使机器进一步执行:
确定所述存储池发出的所述至少一个请求中需要调整的请求的数目;以及
将所述至少一个请求中的所述数目的请求布置在所述FIFO队列的头部。
CN201811280500.XA 2018-10-30 2018-10-30 调度存储空间回收请求的方法、电子设备和程序产品 Active CN111124254B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811280500.XA CN111124254B (zh) 2018-10-30 2018-10-30 调度存储空间回收请求的方法、电子设备和程序产品
US16/585,578 US11169724B2 (en) 2018-10-30 2019-09-27 Method, electronic device, and program product for scheduling requests for reclaiming storage space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811280500.XA CN111124254B (zh) 2018-10-30 2018-10-30 调度存储空间回收请求的方法、电子设备和程序产品

Publications (2)

Publication Number Publication Date
CN111124254A CN111124254A (zh) 2020-05-08
CN111124254B true CN111124254B (zh) 2023-09-29

Family

ID=70326681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811280500.XA Active CN111124254B (zh) 2018-10-30 2018-10-30 调度存储空间回收请求的方法、电子设备和程序产品

Country Status (2)

Country Link
US (1) US11169724B2 (zh)
CN (1) CN111124254B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765046A (zh) * 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 用于回收存储空间的方法、设备和计算机程序产品
US11595319B2 (en) * 2020-12-21 2023-02-28 Microsoft Technology Licensing, Llc Differential overbooking in a cloud computing environment
CN114153399B (zh) * 2021-12-07 2023-10-20 四川云从天府人工智能科技有限公司 存储系统的数据存储方法、装置、控制装置和介质
CN114253872B (zh) * 2022-02-28 2022-07-12 荣耀终端有限公司 电子设备及其内存回收方法、介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102163175A (zh) * 2011-04-26 2011-08-24 西安交通大学 一种基于局部性分析的混合地址映射方法
US8341300B1 (en) * 2007-08-30 2012-12-25 Virident Systems, Inc. Systems for sustained read and write performance with non-volatile memory
CN103309731A (zh) * 2012-03-08 2013-09-18 富士施乐株式会社 处理系统
CN103336744A (zh) * 2013-06-20 2013-10-02 华中科技大学 一种固态存储设备的垃圾回收方法及其系统
US8949555B1 (en) * 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
CN107491351A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种基于优先级的资源分配方法、装置和设备
CN108228343A (zh) * 2017-08-21 2018-06-29 珠海市魅族科技有限公司 内存回收方法及装置、计算机装置及计算机可读存储介质
CN108255582A (zh) * 2018-01-16 2018-07-06 携程旅游信息技术(上海)有限公司 java虚拟机垃圾回收的方法、系统、设备及存储介质
CN110073337A (zh) * 2016-12-20 2019-07-30 索尼互动娱乐股份有限公司 信息处理装置和存储器访问方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170042B1 (en) * 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
US8171251B2 (en) * 2006-03-16 2012-05-01 Sandisk Il Ltd. Data storage management method and device
US8212100B2 (en) * 2006-08-04 2012-07-03 Quandra Innovations International, LLC Apparatus, system, and method for protecting and treating a traumatic wound
US9535630B1 (en) 2013-06-27 2017-01-03 EMC IP Holding Company LLC Leveraging array operations at virtualized storage processor level
US10261814B2 (en) * 2014-06-23 2019-04-16 Intel Corporation Local service chaining with virtual machines and virtualized containers in software defined networking
US9940331B1 (en) 2014-06-30 2018-04-10 EMC IP Holding Company LLC Proactive scavenging of file system snaps
US11188229B2 (en) * 2015-09-25 2021-11-30 Hitachi Vantara Llc Adaptive storage reclamation
CN106557263B (zh) 2015-09-25 2019-08-16 伊姆西公司 用于在数据块删除中检查伪共享的方法及设备
US10120887B1 (en) 2015-09-28 2018-11-06 EMC IP Holding Company LLC Demand-driven initialization of data storage structures
US10146450B1 (en) 2015-12-28 2018-12-04 EMC IP Holding Company LLC Managing a pool of storage slices via consumption estimation based on historical data
US9864753B1 (en) 2016-03-30 2018-01-09 EMC IP Holding Company LLC Data storage system with adaptive file system over-provisioning
US10007671B1 (en) 2016-03-30 2018-06-26 EMC IP Holding Company LLC Data storage system employing space reclaim approximation
US10592469B1 (en) 2016-06-29 2020-03-17 EMC IP Holding Company, LLC Converting files between thinly and thickly provisioned states
CN107870922B (zh) 2016-09-23 2022-02-22 伊姆西Ip控股有限责任公司 一种用于数据去重的方法、设备和系统
WO2018124912A1 (en) 2016-12-28 2018-07-05 EMC IP Holding Company LLC Data storage system tiering accounting for limited write endurance
US10613790B1 (en) 2016-12-30 2020-04-07 EMC IP Holding Company LLC Mitigating flash wear when performing storage tiering
US10235286B1 (en) 2017-10-30 2019-03-19 EMC IP Holding Company LLC Data storage system dynamically re-marking slices for reclamation from internal file system to pool storage
US11150836B2 (en) * 2018-06-28 2021-10-19 Seagate Technology Llc Deterministic optimization via performance tracking in a data storage system
KR20200125231A (ko) * 2019-04-26 2020-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341300B1 (en) * 2007-08-30 2012-12-25 Virident Systems, Inc. Systems for sustained read and write performance with non-volatile memory
US8949555B1 (en) * 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
CN102163175A (zh) * 2011-04-26 2011-08-24 西安交通大学 一种基于局部性分析的混合地址映射方法
CN103309731A (zh) * 2012-03-08 2013-09-18 富士施乐株式会社 处理系统
CN103336744A (zh) * 2013-06-20 2013-10-02 华中科技大学 一种固态存储设备的垃圾回收方法及其系统
CN107491351A (zh) * 2016-06-13 2017-12-19 阿里巴巴集团控股有限公司 一种基于优先级的资源分配方法、装置和设备
CN110073337A (zh) * 2016-12-20 2019-07-30 索尼互动娱乐股份有限公司 信息处理装置和存储器访问方法
CN108228343A (zh) * 2017-08-21 2018-06-29 珠海市魅族科技有限公司 内存回收方法及装置、计算机装置及计算机可读存储介质
CN108255582A (zh) * 2018-01-16 2018-07-06 携程旅游信息技术(上海)有限公司 java虚拟机垃圾回收的方法、系统、设备及存储介质

Also Published As

Publication number Publication date
US20200133551A1 (en) 2020-04-30
US11169724B2 (en) 2021-11-09
CN111124254A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111124254B (zh) 调度存储空间回收请求的方法、电子设备和程序产品
US10846137B2 (en) Dynamic adjustment of application resources in a distributed computing system
US10831387B1 (en) Snapshot reservations in a distributed storage system
CN103098014B (zh) 存储系统
JP5208585B2 (ja) 代表的なトレースを得るための命令を識別する方法、コンピュータ・プログラム及びシステム
US10817380B2 (en) Implementing affinity and anti-affinity constraints in a bundled application
WO2019062699A1 (zh) 资源调度方法、调度服务器、云计算系统及存储介质
US10884667B2 (en) Storage controller and IO request processing method
US10013288B2 (en) Data staging management system
US11914894B2 (en) Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system
JP6570156B2 (ja) データベースシステム最適化の方法、システム、電子装置及び記憶媒体
US20200152253A1 (en) Storing method and apparatus of data
US10146783B2 (en) Using file element accesses to select file elements in a file system to defragment
US10963182B2 (en) System and method for on-demand recovery points
CN110609807A (zh) 用于删除快照数据的方法、设备和计算机可读存储介质
US11513849B2 (en) Weighted resource cost matrix scheduler
CN116089477B (zh) 分布式训练方法及系统
CN111625367B (zh) 一种动态调整文件系统读写资源的方法
US11194476B2 (en) Determining an optimal maintenance time for a data storage system utilizing historical data
CN111858152A (zh) 用于在备份操作期间对关键数据对象存储进行优先级排序的方法和系统
EP3550421B1 (en) Storage controller and io request processing method
CN107018163B (zh) 一种资源配置方法和装置
CN111858151A (zh) 用于在备份操作期间优先处理关键数据对象存储的方法和系统
CN116483546B (zh) 分布式训练任务调度方法、装置、设备及存储介质
CN117332881B (zh) 分布式训练方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant