CN104424106A - 为存储优化操作分配存储设备的资源的方法和系统 - Google Patents

为存储优化操作分配存储设备的资源的方法和系统 Download PDF

Info

Publication number
CN104424106A
CN104424106A CN201310386111.6A CN201310386111A CN104424106A CN 104424106 A CN104424106 A CN 104424106A CN 201310386111 A CN201310386111 A CN 201310386111A CN 104424106 A CN104424106 A CN 104424106A
Authority
CN
China
Prior art keywords
allocation proportion
storage optimization
data
memory device
machine
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.)
Granted
Application number
CN201310386111.6A
Other languages
English (en)
Other versions
CN104424106B (zh
Inventor
刘洋
P.穆恩克
梅玫
N.约安诺
王志强
R.普雷特卡
胡晓宇
I.科尔特西达斯
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310386111.6A priority Critical patent/CN104424106B/zh
Priority to US14/472,426 priority patent/US9342245B2/en
Publication of CN104424106A publication Critical patent/CN104424106A/zh
Application granted granted Critical
Publication of CN104424106B publication Critical patent/CN104424106B/zh
Expired - Fee Related 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种为机器执行的存储优化操作分配存储设备的资源的方法和系统。所述方法包括:监视存储设备的可用资源;基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例;以及基于所述可用资源和分配比例,向存储优化操作分配存储设备的资源。利用所述方法和系统,可以给存储优化操作合理地分配资源,使得允许在所述机器上进行存储优化操作以提高其长期存储性能,同时对在存储设备上运行的正常客户工作负载造成较小的短期影响。

Description

为存储优化操作分配存储设备的资源的方法和系统
技术领域
本发明涉及数据存储的优化,更具体地涉及一种为机器执行的存储优化操作分配存储设备的资源的方法和系统。
背景技术
在数据存储领域,常常构造具有分层存储架构的存储设备以供一个或多个主机使用来存储数据,从而实现存储成本和存储性能的平衡。具体地,可以使用具有不同性能和成本的存储器件来形成分层存储架构,所述存储器件可以是具有不同性能(例如转速)的机械硬盘(HDD)、基于闪存的固态硬盘(SSD)等。例如,可以使用每秒15000转的HDD、每秒7200转的HDD、以及SSD构造3层存储架构。相应地,为了提高存储设备的使用效率,降低使用成本,常常需要对存储在其中的数据进行分层存储优化操作,即,根据数据的特点,将存储在某一存储层中的数据转移到另一存储层中。例如,对于被频繁地访问的数据(即,热数据),可以将其从存取速度较慢的HDD转移到较为昂贵但是存取速度较快的SSD上以提高存取速度,而对于空闲数据或者较少被访问的数据(即,冷数据),可以将其从SSD转移到虽然存取速度较慢但是较为廉价的HDD上以降低存储成本。然而,这种分层存储优化操作需要消耗存储设备的资源,例如带宽等,因而会影响在存储设备上运行并且也需要消耗该资源的客户工作负载。
数据存储的另一种趋势是将基于高速闪存的直接附接存储(DAS)设备连接到所述主机,并且使用该DAS设备作为高速缓冲存储器来存储数据,以减少数据存取延迟。在这种情况下,需要进行高速缓冲存储优化操作。具体地,当主机的客户发出数据读取请求,但是该请求没有命中(即,该数据在高速缓冲存储器中不存在)时,主机从上述存储设备读取所请求的数据并且将其提供给客户,然后,为了提高以后的数据读取请求的命中率,主机将所述数据从该存储设备填充到高速缓冲存储器中,也就是说,该优化操作是以异步的方式执行的。然而,由于DAS设备存储容量通常比较大,因此在其启动期间或者在其客户工作负载转变期间,这一高速缓冲存储优化操作将给存储设备带来较大的负担,从而影响使用在该存储设备上运行的客户工作负载。
因此,需要一种为主机和/或存储设备执行的存储优化操作分配该存储设备的资源的方法和系统,以便能够在对存储设备的正常客户工作负载造成较小影响的同时,允许在主机和/或存储设备上进行存储优化操作以提高其性能。
发明内容
本发明的一个目的是提供一种为机器执行的存储优化操作分配存储设备的资源的方法和系统,其能够允许在所述机器上进行存储优化操作以提高其长期性能,同时对在存储设备上运行的正常客户工作负载造成较小的短期影响。
根据本发明的一个方面,提供了一种为机器执行的存储优化操作分配存储设备的资源的方法,包括:监视存储设备的可用资源;基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例;基于所述可用资源和分配比例,向存储优化操作分配存储设备的资源。
根据本发明的另一个方面,提供了一种为机器执行的存储优化操作分配存储设备的资源的系统,包括:监视设备,被配置为监视存储设备的可用资源;比例确定设备,被配置为基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例;以及分配设备,被配置为基于所述可用资源和分配比例,向存储优化操作分配存储设备的资源。
根据本发明上述方面的机器可以是存储设备本身和使用该存储设备提供的服务的主机中的至少一个。利用根据本发明上述方面的方法和系统,当客户工作负载较高、或者所述存储优化操作带来的性能提升不大时,可以减少给存储优化操作分配的存储设备的资源,以避免由于存储优化操作消耗存储设备的过多资源而给其客户工作负载造成较大的短期影响;另一方面,当存储设备的客户工作负载较低或者所述存储优化操作带来的性能提升较大时,可以增大给所述存储优化操作分配的资源,从而提高所述主机和存储设备的长期性能。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
图2示出了本发明的实施例的示例性应用环境。
图3示出了根据本发明实施例的为机器执行的存储优化操作分配存储设备的资源的方法的流程图。
图4示出了确定对于存储优化操作的资源的分配比例的方法的流程图。
图5示出了根据本发明实施例的为机器执行的存储优化操作分配存储设备的资源的系统的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructI/On means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
下面,将参照附图来描述根据本发明实施例的为机器执行的存储优化操作分配存储设备的资源的方法和系统。
首先参照图2来描述本发明的实施例的示例性应用环境。
如图2所示,存储设备201包括存储池2011和优化器2012。如上所述,存储池2011可以采用由具有不同性能的存储器件构成的分层存储架构来分层地存储数据。存储设备201可以充当存储服务器,并且向一个或多个客户(例如连接到该存储设备的主机)提供数据存储服务。当接收来自其客户的数据读取请求时,存储设备201从存储池2011中读取所请求的数据,并且将其返回给该客户。优化器2012可以进行上文所述的分层存储优化操作,即,根据存储在存储池2011中的数据的特点,在各个存储层之间移动所述数据,以便提高存储池的使用效率。
主机202可以使用存储设备201提供的数据存储服务,并且可以向其客户(未示出)提供数据存取服务。诸如基于闪存的DAS设备之类的高速缓冲存储器203连接到主机202。当主机202接收到来自其客户的数据读取请求时,主机202首先查询在高速缓冲存储器203中是否存在所请求的数据,如果是,即该数据读取请求命中,则主机202从高速缓冲存储器203读取该数据并且将其返回给客户,反之,如果所请求的数据不在高速缓冲存储器203中,即该数据读取请求没有命中,则主机202从存储设备201读取所请求的数据并且将其返回给客户。主机202包括优化器2021,用于进行上文所述的高速缓冲存储优化操作,即,当所请求的数据不在高速缓冲存储器203时,主机202从存储设备201读取所请求的数据并且将其返回给客户,然后优化器2021将所述数据填充到高速缓冲存储器203中以供以后的数据读取请求使用,从而提高其命中率。
可以认识到,在存储设备201以及主机202中执行的存储优化操作将消耗存储设备201的资源。为了避免所述存储优化操作消耗过多的资源从而影响存储设备201的正常客户工作负载,可以利用下述根据本发明实施例的方法和系统来为存储优化操作合理地分配资源。应当注意,尽管图2中只示出了一个主机连接到存储设备201,但这只是示意性的,可以有更多的主机连接到存储设备201以使用其提供的数据存储服务,或者没有主机连接到存储设备201。此外,尽管在上文中提到在存储设备201和主机202二者中执行存储优化操作,但这不是限制性的,可以只在存储设备201或只在主机202中执行存储优化操作,并且在有多个主机的情况下,也可在这些主机中的一部分或全部中执行存储优化操作。
下面,参照图2和图3来描述根据本发明的实施例的为机器执行的存储优化操作分配存储设备的资源的方法。所述机器可以是上述存储设备201以及主机202中的至少一个。在下文中,以所述机器是存储设备201以及主机202,即在存储设备201和主机202二者中都执行存储优化操作的情形为例来进行描述。
如图3所示,在步骤S301中,监视存储设备201的可用资源。
具体地,存储设备201可以具有多种资源,例如存储带宽、每秒输入输出操作数量(IOPS)等,这些资源可以用于由存储设备201的客户执行的数据存取操作和存储优化操作、以及由存储设备201执行的数据存取操作和存储优化操作,从而可能成为制约所述数据存取操作和/或存储优化操作的瓶颈。在本发明的实施例中,可以选择存储设备201的、可能成为瓶颈的一种或多种资源作为要分配的资源,然后监视这种资源的可用性,即,监视这种资源的空闲资源量。例如,当所选择的资源是存储带宽的情况下,可以监视存储设备201的可用带宽。可以利用在存储设备201内部或外部设置的监视设备或者安装在存储设备201中的监视软件来进行这一监视。监视存储设备201的可用资源的具体方法是本领域公知的,在这里不再赘述。
接下来,在步骤S302中,基于存储设备201和主机202的历史运行信息以及存储优化操作对存储设备201和主机202的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例。
如上所述,当客户从存储设备201请求数据或者向存储设备201写入数据时,在存储设备201上产生客户工作负载。当客户从主机202请求数据或者向主机202写入数据时,在主机202上产生客户工作负载。此外,在存储设备201和主机202上还分别执行存储优化操作。在所述客户工作负载与存储优化操作之间可能存在资源和/或数据竞争。因此,需要了解存储设备201和主机202的各自的客户工作负载情况以及资源竞争的情况,这可以通过获取存储设备201和主机202的历史运行信息来实现。可以使用图2所示的优化器2012获取存储设备201的历史运行信息,并且可以使用图2所示的优化器2021获取主机202的历史运行信息。
对于存储设备201,所述历史运行信息可以包括表示在过去预定时段内存储设备201的客户工作负载的信息。该客户工作负载可以根据与在过去预定时段内在存储设备201执行的数据输入/输出(I/O)操作的数量来确定。具体地,对于存储设备201,如上文所述,其包括存储池2011,该存储池具有多个存储层,每个存储层具有一个或多个存储器件。在过去预定时段内,客户可能在各个存储层中存取数据,从而在每个存储层进行相应的数据I/O操作(以下称为客户工作负载数据I/O操作)。此外,在过去预定时段内,可能在存储设备201中执行了分层存储优化操作,使得在各个存储层之间转移数据,从而进行相应的数据I/O操作(以下称为分层存储优化数据I/O操作)。因此,可以获取在过去预定时段内在每个存储层执行的客户工作负载数据I/O操作的数量、以及分层存储优化数据I/O操作的数量。可以根据触发数据I/O操作的数据请求的发起者来辨别数据I/O操作是客户工作负载数据I/O操作还是分层存储优化数据I/O操作。例如,如果该数据请求来自存储设备201外部,则该数据请求必然是由存储设备201的客户发起的,因此对应的数据I/O操作是客户工作负载数据I/O操作,另一方面,如果该数据请求来自存储设备201内部,则该数据请求是由存储设备201自己发起的,因此对应的数据I/O操作是分层存储优化数据I/O操作。由此,可以利用在过去预定时段内,在存储设备201中执行的所有客户工作负载数据I/O操作占其最大数据I/O操作处理能力(即,能处理的数据I/O操作的最大数量)的比例,作为衡量其客户工作负载的指标。除了所述数据I/O操作的数量以外,所述历史运行信息还可以包括与每个数据I/O操作对应的数据读取请求的响应时间,即,从接收到触发该数据I/O操作的数据读取请求起到返回所请求的数据为止的时间。可以在每次执行数据I/O操作时,在存储设备201中记录与该数据I/O操作有关的信息,例如对应的数据读取请求的发起者、数据I/O操作的数量、所述请求的响应时间等,使得可以根据所记录的这些信息获得上述历史运行信息。
对于存储设备201,所述历史运行信息还可以包括表示在过去预定时段内,在存储设备201的客户工作负载和存储优化操作之间发生的数据I/O冲突的程度的冲突信息。具体地,当客户工作负载数据I/O操作所针对的数据与分层存储优化数据I/O操作所针对的数据存在重叠时,在所述客户工作负载和存储优化操作之间发生数据I/O冲突。可以用在过去预定时段内、所述数据I/O冲突占在存储设备201中执行的所有数据I/O操作的比例(即冲突I/O比例)来指示所述数据I/O冲突的程度。可以在每次发生数据I/O冲突时,在存储设备201中记录该数据I/O冲突的相关信息,例如数据I/O冲突的数量、发生场景等,使得可以根据所记录的这些信息来获得所述冲突信息。
对于主机202,所述历史运行信息也可以包括表示在过去预定时段内主机202的客户工作负载的信息。该客户工作负载可以根据与在过去预定时段内在主机202执行的数据I/O操作的数量来确定。具体地,在过去预定时段内,客户可能对主机202存取数据,从而进行相应的数据I/O操作(即,客户工作负载数据I/O操作)。此外,在过去预定时段内,可能在存储设备201中执行了高速缓冲存储优化操作,从而进行相应的数据I/O操作(以下称为高速缓冲存储优化数据I/O操作)。因此,可以获取在过去预定时段内执行的客户工作负载数据I/O操作的数量、以及高速缓冲存储优化数据I/O操作的数量。可以根据数据I/O操作所针对的数据的目的地来辨别该数据I/O操作是客户工作负载数据I/O操作还是高速缓冲存储优化数据I/O操作,例如,如果所述数据被发送给主机202的客户,则该数据I/O操作是客户工作负载数据I/O操作,而如果所述数据被发送给高速缓冲存储器2021,则该数据I/O操作是高速缓冲存储优化数据I/O操作。由此,可以利用在过去预定时段内,在主机202执行的所有客户工作负载数据I/O操作占其最大数据I/O操作处理能力的比例,作为衡量其客户工作负载的指标。对于主机202,所述历史运行信息还可以包括主机202接收到的客户的数据读取请求的命中率(即,所请求的数据位于高速缓冲存储器2021中的数据读取请求占所有数据读取请求的比例,以下称为高速缓冲存储器命中率)、命中的数据读取请求的响应时间(即,从接收到该数据读取请求起到将所请求的数据从高速缓冲存储器2021返回给客户的时间)、以及没有命中的数据读取请求的响应时间(即从接收到该数据读取请求起到将所请求的数据从存储设备201读取并返回给客户的时间)。可以在每次接收到数据读取请求和/或执行数据I/O操作时,在主机202中记录与所述数据读取请求和/或数据I/O操作有关的信息,例如在过去预定时段内执行的数据I/O操作的数量和所请求的数据的目的地、在过去预定时段内接收的所有数据读取请求的数量、命中的数据读取请求的数量、每个命中的数据读取请求的响应时间、以及每个没有命中的数据读取请求的响应时间等,使得可以根据所记录的这些信息来获得上述历史运行信息。
对于主机202,所述历史运行信息还可以包括表示在过去预定时段内,在主机202的客户工作负载和存储优化操作之间发生的数据I/O冲突的程度的冲突信息。具体地,当客户工作负载数据I/O操作所针对的数据与高速缓冲存储优化数据I/O操作所针对的数据存在重叠时,在所述客户工作负载和高速缓冲存储优化数据I/O操作之间发生数据I/O冲突。可以用在过去预定时段内、所述数据I/O冲突占在主机202中执行的所有数据I/O操作的比例(即冲突I/O比例)来指示所述数据I/O冲突的程度。可以在每次发生数据I/O冲突时,在主机202中记录该数据I/O冲突的相关信息,例如数据I/O冲突的数量、发生场景等,使得可以根据所记录的这些信息来获得所述冲突信息。
为了给存储优化操作合理地分配资源,还需要确定所述存储优化操作对存储设备201和主机202的性能提高程度,以评估该存储优化操作是否会带来较大的益处。在本发明的实施例中,可以通过预测所述存储优化操作使由客户工作负载引起的数据读取请求的响应时间减少的比例来预测所述性能提高程度。
具体地,对于存储设备201,可以通过预测分层存储优化操作使所述数据读取请求的响应时间减少的比例来获得所述性能提高程度的预测值。例如,可以使用下式(1)来计算所述响应时间减少的比例Pstorage-rt
P storage - rt = 1 - Σ t = 1 N ( p io - t - t arg et RT t ) Σ t = 1 N ( p io - t RT t ) - - - ( 1 )
其中,N是存储池2011的存储层的数量,pio-t-target是第t存储层的客户工作负载数据I/O操作占全部存储层的客户工作负载数据I/O操作的比例的目标值,其表示分层数据存储优化操作的优化目标,并且可以根据实际需要灵活地设定,RTt表示在过去预定时段内第t存储层的所有客户工作负载数据I/O操作所对应的数据读取请求的平均响应时间,其可以通过对按照上文所述的方式获取的各个数据读取请求的响应时间求平均而获得,pio-t是在过去预定时段内第t存储层的客户工作负载数据I/O操作占全部存储层的客户工作负载数据I/O操作的比例,其可以通过计算在过去预定时段内第t存储层的客户工作负载数据I/O操作的数量与全部存储层的客户工作负载数据I/O操作的数量之比而获得。在上式(1)中,表示在进行分层数据存储优化操作并且达到优化目标之后针对存储设备201的数据读取请求的响应时间与未进行分层数据存储优化操作时针对存储设备201的数据读取请求的响应时间之比,因此,上式(1)可以表示获得进行分层存储优化操作之后针对存储设备201的数据读取请求的响应时间减少的比例。应当注意,通过上式(1)计算得到的Pstorage-rt可能为负值,这意味着存储优化操作不能提高存储设备201的性能,在这种情况下,应当将该响应时间减少的比例Pstorage-rt设置为0。
对于主机202,可以通过预测高速缓冲存储优化操作使数据读取请求的响应时间减少的比例来获得所述性能提高程度的预测值。例如,可以使用下式(2)来计算所述响应时间减少的比例Pcache-rt
P cache - rt = ( CH t - CH ) × ( RT storage - RT cache ) CH c × RT cache + ( 1 - CH c ) × RT storage - - - ( 2 )
其中,CHt是高速缓冲存储器命中率的目标值,其表示预期通过进行高速缓冲存储优化操作而获得的高速缓冲存储器命中率,并且可以根据实际需要灵活地设定,CHc是在过去预定时段内的高速缓冲存储器命中率,即命中的数据读取请求的比率,而1-CHc是在过去预定时段内没有命中的数据读取请求的比率,RTstorage是在过去预定时段内所有没有命中的数据读取请求的响应时间的平均值,RTcache是在过去预定时段内所有命中的数据读取请求的响应时间的平均值。上式(2)的分子部分等效于由于进行高速缓冲存储优化操作而导致的响应时间的减少量,而分母部分等效于在未进行该存储优化操作时的响应时间,因此,上述(2)可以表示通过进行高速缓冲存储优化操作导致的响应时间减少的比例。应当注意,通过上式(2)计算得到的Pcache-rt可能为负值,这意味着存储优化操作不能提高主机202的性能,在这种情况下,应当将该响应时间减少的比例Pcache-rt设置为0。
在获得存储设备201和主机202的历史运行信息、以及存储设备201和主机202执行的存储优化操作对它们的性能提高程度的预测值之后,可以基于这些信息来确定分配给存储优化操作的资源的分配比例。下面,参照图4来描述所述分配比例的示例性方法。
如图4所示,在步骤S3021中,将所述分配比例设定为初始值,该初始值表示对所述存储资源优化操作分配的存储设备201的资源的初始分配比例。可以根据经验或者根据设计需要等因素来设置该初始值,例如,可以将该初始值设置为5%。
接下来,在步骤S3022中,确定在过去预定时段内存储设备201和主机202的整体客户工作负载是否超过第一阈值。所述整体客户工作负载可以是存储设备201的客户工作负载和主机202的客户工作负载的加权平均值。例如,可以使用下式(3)来计算所述整体客户工作负载wltotal
wltotal=wlstoragesstorage+wlhostshost(3)
其中,wlstorage是上文所述的在过去预定时段内存储设备201的客户工作负载,wlhost是上文所述的在过去预定时段内主机202的客户工作负载,sstorage和shost是加权系数,其中,sstorage是在过去预定时段内由存储设备201执行的客户工作负载数据I/O操作占由存储设备201和主机202执行的全部客户工作负载数据I/O操作的比例,shost是在过去预定时段内由主机202执行的客户工作负载数据I/O操作占由存储设备201和主机202执行的全部客户工作负载数据I/O操作的比例。所述第一阈值是根据实际需要预先设定的客户工作负载的阈值,例如40%。
当在步骤S3022中确定所述整体客户工作负载不超过第一阈值时,这说明所述整体客户工作负载较小,从而可以将存储设备201的较多资源分配给存储优化操作。因此,在步骤S3023中,可以将所述分配比例从初始值调整为上限值,作为最终的资源分配比例,该上限值表示可分配给存储优化操作的资源的最大比例,并且可以根据存储设备201和主机202的实际情况灵活地设定,例如可以被设定为30%。这样,可以在客户工作负载较小的时候,将较多的资源分配给存储优化操作以加快存储优化操作的执行。
另一方面,如果在步骤S3022中确定所述整体客户工作负载大于第一阈值,则可以进一步基于存储设备201和主机202的冲突信息来调整所述分配比例。具体地,在步骤S3024中,确定在过去预定时段内存储设备201和主机202的整体冲突I/O比例是否超过第二阈值。所述整体冲突I/O比例可以是存储设备201的冲突I/O比例和主机202的冲突I/O比例的加权平均值。例如,可以使用下式(4)来计算所述整体冲突I/O比例ctotal
ctotal=cstoragesstorage+chostshost(4)
其中,cstorage是在过去预定时段内存储设备201的冲突I/O比例,chost是在过去预定时段内主机202的冲突I/O比例,sstorage和shost是上述加权系数。所述第二阈值是可以根据实际需要设置的值,其表示可允许的冲突I/O比例的最大值,例如1%。
当在步骤S3024中确定整体冲突I/O比例不超过第二阈值时,在步骤S3025,保持当前的分配比例不变。另一方面,当在步骤S3024中确定整体冲突I/O比例大于第二阈值时,这意味着在客户工作负载和存储优化操作之间产生了较多的冲突,因此,在步骤S3026,减小所述分配比例。例如,可以利用下式(5)来减小所述分配比例:
new _ r resource = cur _ r resource × thres _ conflict _ io _ p cur _ conflict _ io _ p - - - ( 5 )
其中,new_rresource是减小后的分配比例,cur_rresource是减小前的分配比例,即在执行步骤S3026之前的分配比例,thres_conflict_io_p是上述第二阈值,cur_conflict_io_p是上述整体冲突I/O比例。
接下来,可以根据存储优化操作对存储设备201和主机202的性能提高程度的整体预测值是否超过所述性能提高程度的目标值,来进一步调整所述分配比例。所述性能提高水平的整体预测值可以是上文所述的存储优化操作对存储设备201的性能提高程度的预测值和存储优化操作对主机202的性能提高程度的预测值的加权平均值。例如,可以使用下式(6)来计算所述性能提高程度的整体预测值perfpredicted
perfpredicted=perfstoragesstorage+perfhostshost(6)
其中,perfstorage是存储设备201的性能提高程度的预测值,perfhost是主机202的性能提高程度的预测值,sstorage和shost是上述加权系数。具体地,在步骤S3027,确定性能提高程度的整体预测值是否超过所述性能提高程度的目标值。
如果所述性能提高程度的整体预测值超过所述性能提高程度的目标值,则在步骤S3028中增大所述分配比例,否则在步骤S3029中减小或维持所述分配比例。具体地,例如可以使用下式(7)来调整(增大或减小)所述分配比例:
new _ r resource = cur _ r resource × perf predicted thres _ perf - - - ( 7 )
其中,new_rresource是调整后的分配比例,cur_rresource是调整前的分配比例,即在执行步骤S3028或S3029之前的分配比例,thres_perf是所述性能提高程度的目标值,其可以根据需要灵活地设定。应当注意,根据上式(7)计算的分配比例可能大于上文所述的资源分配上限值,在这种情况下,应当将所述分配比例设定为所述上限值。
通过上述方法,可以根据存储设备201和主机202的历史运行信息以及由存储设备201和主机202执行的存储优化操作对它们的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例。应当注意,尽管在上文中分别根据三个参数(即,客户工作负载、冲突I/O比例和性能提高程度的预测值)依序调整所述分配比例,这只是说明性的,而非限制性的,也可以仅使用这三个参数中的一个或多个参数来调整所述分配比例,在这种情况下,只需要执行参照图4描述的上述步骤中与所使用的参数对应的步骤,而非全部步骤。
返回图3,在步骤S303中,基于在步骤S301监视的存储设备201的可用资源和在步骤S302中确定的资源的分配比例,向存储优化操作分配存储设备的资源。在步骤S303中分配的资源是对在存储设备201和主机202中执行的全部存储优化操作整体分配的资源。还可以将所述资源进一步细分给在存储设备201和主机202中执行的每个存储优化操作。在这种情况下,可以将在步骤S303中分配的资源平均分配给各个存储优化操作。可替换地,可以利用上述加权系数sstorage和shost来将在步骤S303中分配的资源按照相应的比例分配给各个存储优化操作。
这样,利用根据本发明实施例的上述方法,可以给存储优化操作合理地分配存储设备的资源。然后,可以利用例如分别设置在存储设备201和主机202中的工作负载控制器(未示出),根据分配给它们的资源来控制(允许或禁止)在存储设备201和主机202中执行的存储优化操作。这样,可以允许存储设备和主机进行存储优化操作以提高其长期性能,同时避免正常客户工作负载受到存储优化操作的显著短期影响。
下面,参照图2和图5来描述根据本发明实施例的为机器执行的存储优化操作分配存储设备的资源的系统。该系统可以执行在上文中描述的资源分配方法。同样,所述机器可以是存储设备201以及使用存储设备201提供的数据存储服务的主机202中的至少一个,并且在下文中,以在存储设备201和主机202二者中都执行存储优化操作的情形为例来进行描述。
如图5所示,系统500包括监视设备501、比例确定设备502和分配设备503。
监视设备501监视存储设备201的可用资源。如上文所述,存储设备201可以具有多种资源,例如存储带宽、IOPS等。监视设备501可以监视存储设备201的、可能成为瓶颈的一种或多种资源的可用性,即,监视所述资源的空闲资源量。
比例确定设备502基于存储设备201和主机202的历史运行信息以及存储优化操作对存储设备201和主机202的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例。
具体地,为了确定所述分配比例,比例确定设备502可以获取存储设备201和主机202的历史运行信息,以了解存储设备201和主机202的各自的客户工作负载情况以及资源竞争的情况。这可以通过获取存储设备201和主机202的历史运行信息来实现。如上文所述,可以使用图2所示的优化器2012收集存储设备201的历史运行信息,并且可以使用图2所示的优化器2021收集主机202的历史运行信息。相应地,比例确定设备502可以从优化器2012和2021获取所述历史运行信息。所述历史运行信息与在上文中针对图3描述的历史运行信息相同,因此下面只对其进行简单的描述。
对于存储设备201,所述历史运行信息可以包括表示在过去预定时段内存储设备201的客户工作负载的信息。该客户工作负载可以根据与在过去预定时段内在存储设备201执行的数据输入/输出(I/O)操作的数量来确定。具体地,可以获取在过去预定时段内在每个存储层执行的客户工作负载数据I/O操作的数量、以及分层存储优化数据I/O操作的数量。由此,可以利用在过去预定时段内,在存储设备201中执行的所有客户工作负载数据I/O操作占其最大数据I/O操作处理能力的比例,作为衡量其客户工作负载的指标。除了所述数据I/O操作的数量以外,所述历史运行信息还可以包括与每个数据I/O操作对应的数据读取请求的响应时间。此外,所述历史运行信息还可以包括表示在过去预定时段内,在存储设备201的客户工作负载和存储优化操作之间发生的数据I/O冲突的程度的冲突信息。可以用在过去预定时段内、所述数据I/O冲突占在存储设备201中执行的所有数据I/O操作的比例(即冲突I/O比例)来指示所述数据I/O冲突的程度。
对于主机202,所述历史运行信息也可以包括表示在过去预定时段内主机202的客户工作负载的信息。该客户工作负载可以根据与在过去预定时段内在主机202执行的数据I/O操作的数量来确定。具体地,可以获取在过去预定时段内执行的客户工作负载数据I/O操作的数量、以及高速缓冲存储优化数据I/O操作的数量。由此,可以利用在过去预定时段内,在主机202执行的所有客户工作负载数据I/O操作占其最大数据I/O操作处理能力的比例,作为衡量其客户工作负载的指标。所述历史运行信息还可以包括主机202接收到的客户的数据读取请求的命中率(即,高速缓冲存储器命中率)、命中的数据读取请求的响应时间、以及没有命中的数据读取请求的响应时间。此外,所述历史运行信息还可以包括表示在过去预定时段内,在主机202的客户工作负载和存储优化操作之间发生的数据I/O冲突的程度的冲突信息。可以用在过去预定时段内、所述数据I/O冲突占在主机202中执行的所有数据I/O操作的比例(即冲突I/O比例)来指示所述数据I/O冲突的程度。
除了获取历史运行信息以外,比例确定设备502还确定所述存储优化操作对存储设备201和主机202的性能提高程度。在本发明的实施例中,比例确定设备502通过预测所述存储优化操作使由客户工作负载引起的数据读取请求的响应时间减少的比例来预测所述性能提高程度。具体地,对于存储设备201,比例确定设备502可以通过预测分层存储优化操作使所述数据读取请求的响应时间减少的比例来获得所述性能提高程度的预测值。对于主机202,比例确定设备502可以通过预测高速缓冲存储优化操作使数据读取请求的响应时间减少的比例来获得所述性能提高程度的预测值。比例确定设备502进行所述预测的方式与上文所述的方式相同,在这里不再赘述。
然后,比例确定设备502可以基于所述历史运行信息以及性能提高程度的预测值,确定分配给存储优化操作的资源的分配比例。由于比例确定设备502确定所述比例的方式与在上文中参照图4描述方式相同,因此在这里为了避免重复,只对这一确定过程进行简要的描述,而省略对相同细节的详细描述。简单地说,比例确定设备502首先将所述分配比例设定为初始值,然后确定在过去预定时段内存储设备201和主机202的整体客户工作负载是否超过第一阈值。当所述整体客户工作负载不超过第一阈值时,比例确定设备502可以将所述分配比例从初始值调整为上限值,作为最终的资源分配比例。另一方面,如果所述整体客户工作负载超过第一阈值,则比例确定设备502可以进一步基于存储设备201和主机202的冲突信息来调整所述分配比例。具体地,比例确定设备502可以确定在过去预定时段内存储设备201和主机202的整体冲突I/O比例是否超过第二阈值。当整体冲突I/O比例不超过第二阈值时,比例确定设备502保持当前的分配比例不变。另一方面,当整体冲突I/O比例大于第二阈值时,比例确定设备502减小所述分配比例。接下来,比例确定设备502可以根据存储优化操作对存储设备201和主机202的性能提高程度的整体预测值是否超过所述性能提高程度的目标值,来进一步调整所述分配比例。具体地,如果所述性能提高程度的整体预测值超过所述性能提高程度的目标值,则比例确定设备502增大所述分配比例,否则减小或维持所述分配比例。这样,通过上述一系列调整操作,可以最终确定分配给存储优化操作的资源的分配比例。同样,除了分别根据上述三个参数(即,客户工作负载、冲突I/O比例和性能提高程度的预测值)依序调整所述分配比例以外,比例确定设备502也可以仅使用这三个参数中的一个或多个参数来调整所述分配比例,在这种情况下,只需要执行上述操作中与所使用的参数对应的操作,而不需要执行上述全部操作。
分配设备503接收监视设备501对于可用资源的监视结果以及比例确定设备502确定的所述资源的分配比例,然后基于所述可用资源和分配比例,向存储优化操作分配存储设备的资源。由此,可以向存储优化操作合理地分配资源。
应当注意,分配设备503分配的上述资源是对在存储设备201和主机202中执行的全部存储优化操作整体分配的资源,还可以将所述资源进一步细分给在存储设备201和主机202中执行的每个存储优化操作。例如,可以将分配设备503分配的资源平均分配给各个存储优化操作,或者利用上文所述的加权系数将所述资源按照相应的比例分配给各个存储优化操作。相应地,可以利用例如分别设置在存储设备201和主机202中的工作负载控制器(未示出),根据分配给它们的资源来控制(允许或禁止)在存储设备201和主机202中执行的存储优化操作。
这样,利用根据本发明实施例的上述方法和系统,可以在存储设备的客户工作负载较高、并且/或者存储优化操作带来的性能提升不大时,减少给存储优化操作分配的存储设备的资源,以避免由于所述存储优化操作消耗存储设备的过多资源而给其客户工作负载造成较大的短期影响;另一方面,当存储设备的客户工作负载较低或者所述存储优化操作带来的性能提升较大时,可以增大给所述存储优化操作分配的存储设备的资源,从而在较小地影响所述客户工作负载的情况下,提高所述主机和存储设备的长期性能。而且,可以以固定的时间间隔或者响应于用户的指令来进行上述分配,从而不断地优化主机和存储设备的性能。
应当认识到,上面描述的根据本发明实施例的方法和系统只是说明性的,而非限制性的,可以对其做出各种修改而不背离本发明的范围。例如,尽管在上文中描述根据本发明实施例的方法时先执行步骤S301中的监视操作,然后执行步骤S302中的确定分配比例的操作,但这两个步骤的执行顺序不是限制性的,也可以先执行步骤S302,然后执行步骤S301。此外,尽管在上文中针对存储设备201和主机202两者执行存储优化操作的情形描述了本发明的实施例,但是根据本发明实施例的方法和系统同样适用于存储设备201和主机202之一执行存储优化操作的情形,在这种情况下,只需要将参照图4描述的各种整体参数(整体客户工作负载、整体冲突I/O比例和性能提高程度的整体预测值)替换为存储设备201或主机202各自的参数即可,换言之,上文所述的整体客户工作负载、整体冲突I/O比例和性能提高程度的整体预测值分别成为执行所述存储优化操作的机器的客户工作负载、冲突I/O比例和性能提高程度的预测值。此外,根据本发明实施例的方法和系统也适用于更多主机执行存储优化操作的情况,在这种情况下,只需要在计算上述整体参数时考虑所有执行存储优化操作的主机即可。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (14)

1.一种为机器执行的存储优化操作分配存储设备的资源的方法,包括:
监视存储设备的可用资源;
基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例;以及
基于所述可用资源和分配比例,向存储优化操作分配存储设备的资源。
2.如权利要求1所述的方法,其中,所述机器的历史运行信息包括指示在过去预定时段内所述机器的客户工作负载的信息,并且其中,所述基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例包括:
将所述分配比例设置为初始值;
响应于所述客户工作负载不超过第一阈值,将所述分配比例从所述初始值调整为上限值。
3.如权利要求2所述的方法,其中,所述机器的历史运行信息还包括表示在过去预定时段内,在所述机器的客户工作负载和由所述机器执行的存储优化操作之间发生的数据输入输出冲突的程度的冲突信息,并且其中,所述基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例还包括:
响应于所述客户工作负载超过第一阈值,基于所述冲突信息来改变所述分配比例。
4.如权利要求3所述的方法,其中,所述冲突信息是表示在过去预定时段内,所述数据输入输出冲突的数量占由所述客户工作负载和所述存储优化操作引起的数据输入输出操作的数量之间的比例,并且其中,响应于所述客户工作负载超过第一阈值,基于所述冲突信息来改变所述分配比例包括:
响应于所述比例超过第二阈值,减小所述分配比例;以及
响应于所述比例不超过第二阈值,保持所述分配比例不变。
5.如权利要求1至4中的任一项所述的方法,其中,所述基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例还包括:
根据所述性能提高程度的预测值是否超过所述存储优化操作对所述机器的性能提高程度的目标值,调整所述分配比例。
6.如权利要求5所述的方法,其中,所述根据所述性能提高程度的预测值是否超过所述存储优化操作对所述机器的性能提高程度的目标值,调整所述分配比例包括:
响应于所述性能提高程度的预测值超过所述性能提高程度的目标值,增大所述分配比例;以及
响应于所述性能提高程度的预测值不超过所述性能提高程度的目标值,减小或维持所述分配比例。
7.如权利要求1所述的方法,其中,所述机器是使用该存储设备提供的数据存储服务的主机和该存储设备本身中的至少一个。
8.一种为机器执行的存储优化操作分配存储设备的资源的系统,包括:
监视设备,被配置为监视存储设备的可用资源;
比例确定设备,被配置为基于所述机器的历史运行信息以及存储优化操作对所述机器的性能提高程度的预测值中的至少一个,确定分配给存储优化操作的资源的分配比例;以及
分配设备,被配置为基于所述可用资源和分配比例,向存储优化操作分配存储设备的资源。
9.如权利要求8所述的系统,其中,所述机器的历史运行信息包括指示在过去预定时段内所述机器的客户工作负载的信息,并且其中,所述比例确定设备将所述分配比例设置为初始值,并且响应于所述客户工作负载不超过第一阈值,将所述分配比例从所述初始值调整为上限值。
10.如权利要求9所述的系统,其中,所述机器的历史运行信息还包括表示在过去预定时段内,在所述机器的客户工作负载和由所述机器执行的存储优化操作之间发生的数据输入输出冲突的程度的冲突信息,并且其中,所述比例确定设备还响应于所述客户工作负载超过第一阈值,基于所述冲突信息来改变所述分配比例。
11.如权利要求10所述的系统,其中,所述冲突信息是表示在过去预定时段内,所述数据输入输出冲突的数量占由所述客户工作负载和所述存储优化操作引起的数据输入输出操作的数量之间的比例,并且其中,所述比例确定设备响应于所述比例超过第二阈值,减小所述分配比例,并且响应于所述比例不超过第二阈值,保持所述分配比例不变。
12.如权利要求8至11中的任一项所述的系统,其中,所述比例确定设备根据所述性能提高程度的预测值是否超过所述存储优化操作对所述机器的性能提高程度的目标值,调整所述分配比例。
13.如权利要求12所述的系统,其中,所述比例确定设备响应于所述性能提高程度的预测值超过所述性能提高程度的目标值,增大所述分配比例,并且响应于所述性能提高程度的预测值不超过所述性能提高程度的目标值,减小或维持所述分配比例。
14.如权利要求8所述的系统,其中,所述机器是使用该存储设备提供的数据存储服务的主机和该存储设备本身中的至少一个。
CN201310386111.6A 2013-08-30 2013-08-30 为存储优化操作分配存储设备的资源的方法和系统 Expired - Fee Related CN104424106B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310386111.6A CN104424106B (zh) 2013-08-30 2013-08-30 为存储优化操作分配存储设备的资源的方法和系统
US14/472,426 US9342245B2 (en) 2013-08-30 2014-08-29 Method and system for allocating a resource of a storage device to a storage optimization operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310386111.6A CN104424106B (zh) 2013-08-30 2013-08-30 为存储优化操作分配存储设备的资源的方法和系统

Publications (2)

Publication Number Publication Date
CN104424106A true CN104424106A (zh) 2015-03-18
CN104424106B CN104424106B (zh) 2017-08-08

Family

ID=52584931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310386111.6A Expired - Fee Related CN104424106B (zh) 2013-08-30 2013-08-30 为存储优化操作分配存储设备的资源的方法和系统

Country Status (2)

Country Link
US (1) US9342245B2 (zh)
CN (1) CN104424106B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506356A (zh) * 2016-06-14 2017-12-22 北京京东尚科信息技术有限公司 数据处理方法及其系统
CN107741917A (zh) * 2017-10-19 2018-02-27 郑州云海信息技术有限公司 一种改进的io限流处理方法和系统
US9979669B1 (en) * 2013-12-13 2018-05-22 Emc Corporation Projecting resource allocation to achieve specific application operation times in a virtually provisioned environment

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886314B2 (en) * 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US11232091B2 (en) 2016-09-29 2022-01-25 Vmware, Inc. Software-defined data center (SDDC) rack quick discovery after hardware management system (HMS) restart
US10462221B2 (en) 2017-02-25 2019-10-29 Vmware, Inc. Distributed storage resource management in a hyper converged infrastructure
US10684893B2 (en) * 2017-02-25 2020-06-16 Vmware, Inc. Methods and apparatus to manage compute resources in a hyperconverged infrastructure computing environment
US11422912B2 (en) 2019-04-19 2022-08-23 Vmware, Inc. Accurate time estimates for operations performed on an SDDC
US11424940B2 (en) 2019-06-01 2022-08-23 Vmware, Inc. Standalone tool for certificate management
CN110516946B (zh) * 2019-08-20 2022-04-26 拉扎斯网络科技(上海)有限公司 目标时间确定方法、装置、电子设备及存储介质
CN112257913A (zh) * 2020-10-16 2021-01-22 广东电网有限责任公司 中压线路负荷值预测方法、装置、设备及存储介质
US11625358B1 (en) * 2020-12-09 2023-04-11 Amazon Technologies, Inc. Automatic object archiving based on user selections

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1673975A (zh) * 2004-03-25 2005-09-28 株式会社日立制作所 存储系统
CN101271444A (zh) * 2008-04-29 2008-09-24 华南理工大学 多部件自组织软连接集群计算机智能资源管理方法
US20120315942A1 (en) * 2011-05-27 2012-12-13 International Business Machines Corporation Reducing spectrum interference between wireless networks
CN102904955A (zh) * 2012-10-16 2013-01-30 南京大学镇江高新技术研究院 云计算平台中Web应用的自适应伸缩控制系统及其方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017023B1 (en) * 2002-01-14 2006-03-21 Veritas Operating Corporation Generalized architecture for automatic storage configuration for diverse server applications
US20060161753A1 (en) * 2005-01-18 2006-07-20 Aschoff John G Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a virtualized storage subsystem
US8006061B1 (en) 2007-04-13 2011-08-23 American Megatrends, Inc. Data migration between multiple tiers in a storage system using pivot tables
WO2009073013A1 (en) 2007-12-07 2009-06-11 Apara Global Services Inc. Remote data storage management system
CN102511036B (zh) 2009-09-25 2015-09-30 国际商业机器公司 数据存储
US9047017B1 (en) * 2011-12-20 2015-06-02 Emc Corporation Techniques for automated evaluation and movement of data between storage tiers
US8983915B2 (en) 2011-08-01 2015-03-17 Actifio, Inc. Successive data fingerprinting for copy accuracy assurance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1673975A (zh) * 2004-03-25 2005-09-28 株式会社日立制作所 存储系统
CN101271444A (zh) * 2008-04-29 2008-09-24 华南理工大学 多部件自组织软连接集群计算机智能资源管理方法
US20120315942A1 (en) * 2011-05-27 2012-12-13 International Business Machines Corporation Reducing spectrum interference between wireless networks
CN102904955A (zh) * 2012-10-16 2013-01-30 南京大学镇江高新技术研究院 云计算平台中Web应用的自适应伸缩控制系统及其方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979669B1 (en) * 2013-12-13 2018-05-22 Emc Corporation Projecting resource allocation to achieve specific application operation times in a virtually provisioned environment
CN107506356A (zh) * 2016-06-14 2017-12-22 北京京东尚科信息技术有限公司 数据处理方法及其系统
CN107506356B (zh) * 2016-06-14 2019-03-01 北京京东尚科信息技术有限公司 数据处理方法及其系统
CN107741917A (zh) * 2017-10-19 2018-02-27 郑州云海信息技术有限公司 一种改进的io限流处理方法和系统
CN107741917B (zh) * 2017-10-19 2021-05-18 郑州云海信息技术有限公司 一种改进的io限流处理方法和系统

Also Published As

Publication number Publication date
US20150067294A1 (en) 2015-03-05
CN104424106B (zh) 2017-08-08
US9342245B2 (en) 2016-05-17

Similar Documents

Publication Publication Date Title
CN104424106A (zh) 为存储优化操作分配存储设备的资源的方法和系统
WO2021008285A1 (zh) 分布式系统的数据同步方法、装置、介质、电子设备
CN110869909B (zh) 应用机器学习算法来计算健康分数以进行工作负载调度的系统和方法
TWI746846B (zh) 資料儲存管理系統、方法及物件
CN109962969B (zh) 用于云计算存储系统的自适应缓存负载均衡的方法和装置
WO2017088717A1 (zh) 一种存储资源分配方法及存储资源分配系统
US11281497B2 (en) Determining an allocation of stage and destage tasks by training a machine learning module
US10209898B2 (en) Estimation of performance utilization of a storage device
JPH0293834A (ja) コンピユータ入出力サブシステムの性能を改良するための方法
CN110196770B (zh) 云系统内存数据处理方法、装置、设备及存储介质
WO2011059837A1 (en) Allocating storage memory based on future use estimates
CN103562872A (zh) 双活动系统的多个资源的资源分配
US10509723B1 (en) Expedited cache destage for power interruption in a virtual storage appliance
CN109788489A (zh) 一种基站规划方法及装置
US8700932B2 (en) Method for on-demand energy savings by lowering power usage of at least one storage device in a multi-tiered storage system
CN108733308A (zh) 用于管理盘池的方法和设备
CN103678139A (zh) 进行瘦供给的方法和装置
JP2015069385A (ja) ストレージ管理装置、制御方法及び制御プログラム
JP5324914B2 (ja) ストレージリソースを割り振る方法および装置
CN114036078A (zh) 用于管理存储系统中的缓存设备的方法和系统
CN108415772A (zh) 一种基于容器的资源调整方法、装置和介质
CN113315716A (zh) 拥塞控制模型的训练方法和设备及拥塞控制方法和设备
CN103927136B (zh) 输入输出io类型的识别方法和装置
CN107870877A (zh) 用于在存储系统中管理数据访问的方法和系统
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171120

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171120

Address after: American New York

Patentee after: Core USA second LLC

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170808

Termination date: 20190830