CN103106043A - 用于管理存储服务器的资源的方法和计算机系统 - Google Patents
用于管理存储服务器的资源的方法和计算机系统 Download PDFInfo
- Publication number
- CN103106043A CN103106043A CN201210219029XA CN201210219029A CN103106043A CN 103106043 A CN103106043 A CN 103106043A CN 201210219029X A CN201210219029X A CN 201210219029XA CN 201210219029 A CN201210219029 A CN 201210219029A CN 103106043 A CN103106043 A CN 103106043A
- Authority
- CN
- China
- Prior art keywords
- request
- priority
- levels
- resource
- executive level
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明的实施方式涉及用于管理存储服务器的资源的方法和计算机系统,以使存储服务器具有改进的总体系统性能。该方法包括:接收第一输入/输出(IO)请求;动态地为第一IO请求指派第一优先级水平,该第一IO请求与执行水平相关联,该执行水平与驻留在与存储服务器通信的主机上的应用有关;以及抑制第二优先级水平的第二IO请求以允许先前被指定用于执行第二IO请求的预定量的资源的至少一部分被重新分配用于执行第一IO请求,第二优先级水平与第一优先级水平不同。
Description
技术领域
本发明总体上涉及存储服务器,并且更具体地,涉及用于管理存储服务器的资源的方法、计算机系统和物理计算机存储介质。
背景技术
数据处理系统可具有地理上分散的很多节点。在这种情况下,可以通过逻辑地将每个环境分离到一系列松散连接的管理区域中来以分布式方式管理系统。每个环境可具有一个管理服务器用于管理本地资源,而管理系统包括跨系统协调活动以允许远程站点管理和操作的管理服务器。这样,一个区域中的本地资源可以被导出用于其他区域使用。管理系统可以被提供管理很多系统的规则的服务级别协议控制。
为了达到网络管理系统中服务级别协议描述的服务质量保证,在整个系统中可能需要沿多个网络路由进行性能测量。特别地,在应用运行时,管理系统测量资源消耗。测量沿着特定路由进行,并且与消耗带宽而执行的操作有关的度量和描述被积累。
发明内容
不同的应用可以具有由服务级别协议指示的不同服务质量要求。例如,一些应用可能要求比其他应用更快的响应时间和/或更高的输入/输出吞吐量。在其他情况下,一个应用可以要求比另一应用更大的带宽或更大的存储能力。过去,基于存储要求和应用的存储服务类别之间的静态映射来调节较低优先级的输入/输出(IO)请求被抑制。因此,在一些实例中,为了高优先级的IO请求将会忽略较低优先级的IO请求,并且系统将由于队列中高优先级IO请求的量而变得过载。由此,系统操作不如预想的高效并且低优先级的请求最低程度地达到。为了优化系统的总体性能,需要用于管理存储介质的改进的方法和系统。
一种改进的方法基于执行水平和IO请求所属的主应用的重要性向IO请求动态指派优先级,以及基于以下项来抑制低优先级IO请求:1)与低优先级请求的执行水平相比高优先级IO请求的执行水平,以及2)与其性能目标相比高优先级IO请求的相对执行水平,其被定义在高优先级IO请求当前被映射到的存储类别中。在一个实施方式中,仅作为示例,接收到第一IO请求。然后,第一优先级水平被动态指派给第一IO请求,同时将第一IO请求与执行水平相关联,该执行水平与驻留在与存储服务器通信的主机上的应用有关。当第一IO请求的执行水平没有达到或超过第一目标时,抑制第二优先级水平的第二IO请求,以允许先前被指定用于执行第二IP请求的预定量的资源的至少一部分被重新指派以用于执行第一IO请求,其中第二优先级水平与第一优先级水平不同。
在另一实施方式中,仅作为示例,提供了一种计算机系统。该计算机系统包括主机和存储服务器。主机被配置用于提供输入/输出(IO)请求。存储服务器与主机通信并被配置用于接收IO请求。存储服务器包括处理器,其被配置用于:接收第一输入/输出(IO);向第一IO请求动态指派第一优先级水平,第一IO请求具有一个执行水平;以及当第一IO请求的执行水平没有达到或超过第一目标时抑制第二优先级水平的第二IO请求,以允许先前被指定用于执行第二IO请求的预定数的资源的至少一部分被重新指派以用于执行第一IO请求,第二优先级水平与第一优先级水平不同。
在又一实施方式中,仅作为示例,提供了包含用于管理存储服务器的资源的计算机程序产品方法的物理计算机存储介质。存储介质包括用于接收第一输入/输出(IO)的计算机代码,用于向第一IO请求动态指派第一优先级水平的计算机代码,第一IO请求具有执行水平,该执行水平与驻留在与存储服务器通信的主机上的应用有关,以及用于在第一IO请求的执行水平没有达到或超过第一目标时抑制第二优先级水平的第二IO请求以允许将先前被指定用于执行第二IO请求的预定量的资源的至少一部分重新指派以用于执行第一IO请求的计算机代码,第二优先级水平与第一优先级水平不同。
附图说明
为了易于理解本发明的优点,将参考附图中所示特定实施方式给出以上简要描述的本发明的具体说明。理解这些图描述仅是本发明的典型实施方式以及并不因此被认为是限制其范围,将通过使用附图将用附加的特性和细节说明和解释本发明,其中:
图1是根据一个实施方式的示例分布式数据处理系统的图示;
图2是根据一个实施方式的示例数据处理系统的框图;以及
图3是根据一个实施方式的管理存储服务器的资源的方法的流程图。
具体实施方式
以下所示的实施方式提供了用于管理具有改进的总体系统性能的存储服务器的系统和方法。该系统和方法允许基于对与高优先级和低优先级IO请求相关联的性能反馈数据的分析,动态调节这些IO请求的存储类别。一般地,该方法包括接收第一输入/输出(IO)请求,其中第一IO请求与一个执行水平和第一优先级水平相关联,该执行水平与驻留在与存储服务器通信的主机上的应用有关。当第一IO请求的执行水平没有达到或超过第一目标时,第二优先级水平的第二IO请求被抑制,以允许将先前被指定用于执行第二IO请求的预定量的资源的至少一部分重新指派以用于执行第一IO请求,第二优先级水平与第一优先级水平不同。
现在参考图,特别是参考图1-图2,其提供了本发明的示范性实施方式可实现于其中的数据处理环境的示例框图。应当理解,图1-图2仅是示例并且不是要断言或暗示对可实现本发明的方面或实施方式的环境的任何限制。可以对所述环境做出很多修改而不背离本发明的精神和范围。
现在参考图,图1所示为示范性实施方式的方面可实现于其中的示例分布式数据处理系统的图示。分布式数据处理系统100可包括示范性实施方式的方面可实现于其中的计算机的网络。分布式数据处理系统100包含至少一个网络102,其是用于在分布式数据处理系统100中连接在一起的多个设备和计算机之间提供通信链接的介质。网络102可包括连接,例如有线、无线通信链接,或光纤线缆。
在所描述的示例中,主机/服务器104和主机/服务器106以及存储服务器108连接到网络102。主机/服务器104、106中的一个或两个是应用服务器,并且包括被配置用控制存储在存储服务器108上的数据的存储和访问的存储控制器109、111。在此方面,主机/服务器104、106被配置用于向存储服务器108提供输入/输出(“IO”)请求。在一个实施方式中,主机/服务器104、106向IO请求指派优先级水平和执行水平。例如,IO请求的优先级水平的范围可以是高优先级、中优先级或低优先级。因此,一个IO请求可以比另一IO请求具有更高或更低的优先级水平。如此处所用,执行水平可以在目标处设置,并且可以被数字地或者定性地测量。
存储服务器108可包括存储单元并且可包括任何存储系统。存储服务器108的示例可包括高级的存储设备,例如DS8000双节点控制器,或文件服务器,例如网络附加存储(NAS)设备。虽然示出了两个主机/服务器104、106,在其他实施方式中可包括更多或更少。分布式数据处理系统100可包括附加服务器以及未示出的其他设备。
在所述示例中,分布式数据处理系统100是互联网,网络102代表世界范围的网络的集合以及网关使用传输控制协议/互联网协议(TCP/IP)协议组以相互通信。互联网的核心是主节点或主计算机之间高速数据通信线的主干网,由路由数据和消息的成千上万的商用、政府、教育和其他计算机系统组成。当然,分布式数据处理系统100可包括也可以实现为包括许多不同类型的网络,例如,例如,内部网、局域网(LAN)、广域网(WAN)等。所示的实施方式还特别适用于用网络实现,例如SAN,其中线和交换机采用光纤通道、iSCSI、FCOCEE等技术。如上所述,图1是一个示例,并不是对本发明的不同实施方式的架构限制,因此图1所示的特定元件不应理解为对可实现本发明的示意实施方式的环境的限制。
现在参考图2,示出了示范性实施方式的方面可实现于其中的示例数据处理系统的框图。数据处理系统200是计算机的示例,例如图1中的主机/服务器104、106,可实现本发明的示意实施方式的处理的计算机可用代码或指令可位于其中。
数据处理系统200包括操作器209,其包括处理器206、主存储器208以及备选地包括图形处理器210。控制器209向系统200提供命令以运行数据库和/或备份应用。在所示实施方式中,处理系统200采用集线器架构,包括北桥和存储器控制器集线器(NB/MCH)202和南桥以及输入/输出(I/O)控制器集线器(SB/ICH)204。处理器206、主存储器208、以及图形处理器210连接到NB/MCH 202。图形处理器210可通过加速图形端口(AGP)连接到NB/MCH 202。
在所示示例中,局域网(LAN)适配器212连接到SB/ICH 204。音频适配器、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动230、通用串行总线(USB)端口以及其他通信端口232、以及PCI/PCIe设备234通过总线238和总线240连接到SB/ICH 204。PCI/PCIe设备可包括,例如,以太网适配器、插卡以及用于笔记本电脑的PC卡。PCI使用卡总线控制器,而PCIe不使用。ROM224可以例如是闪速基本输入输出系统(BIOS)。
HDD 226和CD-ROM驱动230通过总线240连接到SB/ICH 204。HDD 226和CD-ROM驱动230可使用,例如,集成驱动电子(IDE)或串行高级技术附件(SATA)借口。超级I/O(SIO)设备236可以连接到SB/ICH 204。
操作系统运行在处理器206上。操作系统配合并提供图2中数据处理系统200中多个组件的控制。作为主机,操作系统可以是市面有售的操作系统例如XP(Microsoft和Windows是微软公司在美国或其他国家的商标)。面向对象的编程系统,例如JavaTM编程系统,可与操作系统一起运行并从运行在数据处理系统200上的JavaTM程序或应用向操作系统提供调用(Java是Sun Microsystems公司在美国或其他国家的商标)。
作为服务器,数据处理系统200可以例如是eServerTMSystem计算机系统,运行高级交互执行体操作系统或操作系统(eServer、System p和AIX是国际商业机器公司在美国或其他国家的商标,而LINUX是Linus Torvalds在美国或其他国家的商标)。数据处理系统200可以是包括处理器206中的多个处理器的对称的多处理器(SMP)系统。备选地,可以采用单个处理器系统。而且,在一个示意实施方式中,数据处理系统200可以由一个或多个系统p服务器组成,带有主适配器网络以在图1的网络102中通信,以及RAID适配器的网络以与多个存储设备通信。
用于操作系统的计算机代码、面向对象的编程系统以及应用或程序(例如备份应用或数据库应用)位于存储设备上,例如HDD226,并且可被加载到主存储器208中用于被处理器206执行。使用计算机可用程序代码,处理器206可执行本发明的示意实施方式的处理,其可位于存储器中,例如,例如,主存储器208、ROM224或者例如一个或多个外围设备226和230。
总线系统,例如图2所示的总线238或总线240,可由一个或多个总线组成。当然,总线系统可使用任何类型的通信结构或架构实现,提供附于该结构或架构的不同组件或设备之间的数据传输。通信单元,例如,图2的调制解调器222或网络适配器212,可包括一个或多个用于发送和接收数据的设备。存储器可以例如是主存储器208、ROM 224或者如图2中NB/MCH 202中发现的高速缓存。
图3是根据一个实施方式的管理存储服务器的资源的方法300的流程图。在数据处理系统(例如图1的系统100)操作期间,存储服务器(例如,存储服务器108)可接收输入/输出(“IO”)请求,见框302。例如,主机/服务器(例如,主机/服务器104、106)提供IO请求,其被存储服务器(例如,存储服务器108)接收。应当理解,在系统操作期间,IO请求是持续提供的。因此,IO请求可以在参考框302提到的IO请求之前或之后被提供。在框302提到的IO请求之前被提供的IO请求可以称为“先前提交的IO请求”,在框302提到的IO请求之后提供的那些IO请求可以称为“后续IO请求”。先前提交的IO请求可以称为“第一IO请求”,在框304提到的IO请求可以称为“第二IO请求”。而且,后续的IO请求可以称为“第三IO请求”。应当理解,引用IO请求的序号是为了描述IO请求相对于彼此何时发生。
在框304,确定IO请求是否具有高优先级或低优先级。例如,基于服务协议的质量来计算IO请求的优先级以便动态地为IO请求指派优先级水平。如上所述,IO请求可以被预先指派初始优先级水平。在完成计算之后,优先级水平可改变为另一优先级水平。在任何情况下,当存储服务器接收IO请求时,该IO请求的优先级水平被提供给存储服务器。在一个示例中,IO请求可具有高于或低于先前提交的IO请求的优先级水平。在另一示例中,IO请求可具有高于或低于后续IO请求的优先级水平。
如果优先级水平高,在框306,确定IO请求是否被充分执行。在一个实施方式中,通过将高优先级IO请求的执行与低优先级IO请求的执行相比较来做出该确定。在另一实施方式中,通过将高优先级IO请求的执行与执行高优先级IO请求的先前尝试进行比较来做出该确定。在任何情况下,为了做出确定,分析与高优先级IO请求和/或低优先级IO请求的执行有关的历史数据。例如,分析历史数据包括确定IO请求的执行水平是否达到或超过了IO请求的先前运行中的目标。在一个实施方式中,该目标可以定量的值。在另一实施方式中,该目标可以是定性的值,例如“满意”或“不满意”。在其他实施方式中,采用其他目标。
如果IO请求未被充分执行,在框308,确定抑制低优先级IO请求的决定,并且计算低优先级IO请求应当被延迟多久。在一个实施方式中,在高优先级IO请求的执行水平没有达到或超过目标时,存储服务器同时等待执行高优先级IO请求。在另一实施方式中,当高优先级IO请求的执行水平相比低优先级IO请求的执行水平没有达到或超过目标时,存储服务器同时等待执行高优先级IO请求。在标识一个后续低优先级IO请求以便抑制之后,资源被重新分配以供存储服务器执行高优先级IO请求。特别地,已经将要用于执行低优先级IO请求的至少一部分资源被重新分配给框308的高优先级IO请求。在一个实施方式中,当确定要抑制低优先级IO请求时,被抑制的低优先级IO请求不被执行。在另一实施方式中,被抑制的低优先级IO请求通过应用有限的资源而被执行。因此,高优先级IO请求使用与涉及低优先级IO请求执行的有限资源成比例的重新分配的资源而被执行。在任何情况下,在框310,执行高优先级IO请求。
返回框306,如果高优先级IO请求被充分执行,则在框312确定资源是否可以被分配用于执行受抑制的低优先级IO请求。如果可以,在框314,计算应当将受抑制的低优先级IO请求的延迟缩短多少,或者延迟是否可以在下一执行周期被取消。一旦被计算,存储服务器继而向后续低优先级IO请求的执行重新分配资源。在框310,执行高优先级IO请求。在确定没有资源可被分配用于执行受抑制的低优先级IO请求的实施方式中,系统继续到框310以执行高优先级IO请求。
在框304,如果IO请求是低优先级IO请求,方法继续到框316以确定先前周期是否确定了要抑制低优先级IO请求。如果是,在框318,低优先级IO请求的执行被延迟,使得资源可被分配以用于先前提交的高优先级IO请求的执行。例如,当高优先级IO请求的执行水平没有达到或超过目标时,或者当高优先级IO请求的执行水平相比低优先级IO请求的执行水平没有达到或超过目标时,先前被指定用于执行先前提交的低优先级IO请求的预定量的资源的至少一部分被重新分配用于执行高优先级IO请求。在框320,在高优先级IO请求被执行之后,低优先级IO请求继而被执行。如果在框316没有确定抑制低优先级IO请求,方法继续到框320并且低优先级IO请求被执行。
本领域技术人员将理解图1-图2中的硬件可根据实现而不同。其他内部硬件或外部设备,例如闪存、等效非易失存储器或光盘驱动等等,可用于添加或替换图1-2中所示的硬件。此外,虽然示出了分布式系统,备选地可以采用单个系统。在这种实施方式中,可以不包括一些硬件(例如附加的服务器)。而且,示意实施方式的处理可应用于多处理器数据处理系统,除了上述的SMP系统,不背离本发明的精神和范围。
而且,数据处理系统200可采取很多不同的数据处理系统中的任何形式,包括主计算设备、服务器计算机设备、平板电脑、便携电脑、电话或其他通信设备、个人数字助理(PDA)等。在一些示意示例中,例如,数据处理系统200可以是移动计算设备配置有闪存以提供非易失存储器用于存储操作系统文件和/或用户产生的数据。基本上,数据处理系统200可以是没有架构限制的任何已知的或以后开发的数据处理系统。
本领域技术人员将理解,本发明的方面可实现为系统、方法或计算机程序产品。因此,本发明的方面可采用完整的硬件实施方式的形式,完整的软件实施方式(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施方式,在这里一般都可称为“电路”、“模块”或“系统”。此外,本发明的方面可采用包含在一个或多个其上包含计算机可读程序的计算机可读介质中的计算机程序代码的形式。
可使用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号信号介质或物理计算机可读存储介质。物理计算机可读存储介质可以是例如但不限于,电子的、磁的、光的、晶体的、聚合的、电磁的、红外的、或半导体系统、装置或设备或上述的任何合适的组合。物理计算机可读存储介质的示例可包括,但不限于电连接,具有一个或多个线、移动计算机盘、硬盘、RAM、ROM、EPROM、闪存、光纤、CD-ROM、光存储设备、磁存储设备或上述的任何组合。在本文档的上下文中,计算机可读存储介质可以是任何有形的介质,可包含或存储用于被指令执行系统、装置或设备使用或与指令执行系统、装置或设备连接的程序或数据。
可以使用任何适当的介质发送包含在计算机可读介质中的计算机代码,包括但不限于无线、有线、光纤线缆、射频(RF)等,或上述的任何合适的组合。可以用任何静态语言写用于执行本发明的方面的操作的计算机代码,例如“C”编程语言或其他类似的编程语言。计算机代码执行可以完全在用户的计算机上、部分在用户的计算机上、作为独立的软件包、部分在用户的计算机上且部分在远程计算机上或完全在远程计算机或服务器上。在后者的场景中,远程计算机可以通过任何类型的网络或通信系统连接到用户的计算机,包括但不限于局域网(LAN)或广域网(WAN)、汇聚网络或可连接外部计算机(例如,使用互联网服务提供商通过互联网)。
上文参考根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各方面。应当理解,流程图和/或框图的每个框,以及流程图和/或框图中的框的组合,可以被计算机程序指令实现。这些计算机程序指令可提供给通用计算机、专用计算机的处理器或其他可编程数据处理装置,以产生机器,使得指令通过计算机的处理器或其他可编程数据处理装置执行,创建用于实现流程图和/或框图框中指定的功能/行动的装置。
这些计算机程序指令也可以存储在计算机可读介质中,其可指挥计算机、其他可编程数据处理装置或其他设备按特定方式工作,使得存储在计算机可读介质中的指令生成包括实现流程图和/或框图框中指定的功能/行动的指令的一件产品。计算机程序指令也可被加载到计算机、其他可编程数据处理装置或其他设备上使一系列操作步骤在计算机、其他可编程装置或其他设备上执行以生成计算机实现的过程,使得运行在计算机或其他可编程装置上的指令提供用于实现流程图和/或框图框中指定的功能/行动的过程。
上图中的流程图和框图图示了根据本发明多个实施方式的系统、方法和计算机程序产品的架构、功能和可能实现的操作。这样,流程图或框图中每个框可代表一个模块、段或部分代码,其包括用于实现指定逻辑功能的一个或多个可执行指令。还应注意,在一些可替换实现中,框中标注的功能可以不按照图中的顺序发生。例如,相继示出的两个框,实际上可基本同时执行,或者该框有时可以根据所涉及的功能性按相反顺序执行。还应注意,框图和/或流程图中每个框,并且框图和/或流程图中框的组合可以通过执行指定功能或行动的基于专用硬件的系统,或者专用硬件和计算机指令的组合实现。
Claims (20)
1.一种管理存储服务器的资源的方法,包括:
接收第一输入/输出IO请求;
动态地为所述第一IO请求指派第一优先级水平,所述第一IO请求与执行水平相关联,所述执行水平与驻留在与所述存储服务器通信的主机上的应用有关;以及
抑制第二优先级水平的第二IO请求,以允许先前被指定用于执行所述第二IO请求的预定量的资源的至少一部分被重新分配用于执行所述第一IO请求,所述第二优先级水平与所述第一优先级水平不同。
2.根据权利要求1所述的方法,还包括:
当所述第一IO请求的执行水平没有达到或超过第一目标时,等待执行所述第一IO请求;以及
在所述资源被重新分配之后执行所述第一IO请求。
3.根据权利要求2所述的方法,其中抑制所述第二IO请求的步骤包括:利用所述预定量的资源的有限部分来执行所述第二IO请求。
4.根据权利要求3所述的方法,其中抑制所述第二IO请求的步骤包括:与用于执行所述第二IO请求的所述预定量的资源的所述有限部分成比例地重新分配资源以用于执行所述第一IO请求。
5.根据权利要求2所述的方法,其中抑制所述第二IO请求的步骤包括:在执行所述第一IO请求的步骤之后执行所述第二IO请求。
6.根据权利要求1所述的方法,还包括:
当所述第一IO请求的所述执行水平达到或超过第二目标时,执行所述第二IO请求。
7.根据权利要求1所述的方法,还包括:
接收第三输入/输出IO请求;
动态地为所述第三IO请求指派高于所述第一优先级水平的第三优先级水平;以及
当所述第三IO请求的执行水平没有达到或超过第三目标时,抑制所述第一IO请求以允许先前被指定用于执行所述第一IO请求的预定量的资源的至少一部分被重新分配用于执行所述第三IO请求。
8.根据权利要求7所述的方法,其中所述第一优先级水平高于所述第二优先级水平。
9.根据权利要求8所述的方法,其中所述第二优先级水平低于所述第三优先级水平。
10.根据权利要求1所述的方法,其中抑制的步骤还包括:当所述第一IO请求的所述执行水平没有达到或超过第一目标时,抑制所述第二IO请求。
11.根据权利要求1所述的方法,其中抑制的步骤还包括:当所述第一IO请求的所述执行水平相比所述第二IO请求的执行水平没有达到或超过目标时,抑制所述第二IO请求。
12.一种计算机系统,包括:
主机,被配置用于提供输入/输出IO请求;以及
存储服务器,其与所述主机通信并且被配置用于接收IO请求,所述存储服务器包括处理器,被配置为:接收第一输入/输出IO请求;动态地为所述第一IO请求指派第一优先级水平,所述第一IO请求与执行水平相关联,所述执行水平与驻留在与所述存储服务器通信的主机上的应用有关;以及抑制第二优先级水平的第二IO请求以允许先前被指定用于执行所述第二IO请求的预定量的资源的至少一部分被重新分配用于执行所述第一IO请求,所述第二优先级水平与所述第一优先级水平不同。
13.根据权利要求12所述的计算机系统,其中所述处理器还被配置为:当所述第一IO请求的所述执行水平没有达到或超过第一目标时,等待执行所述第一IO请求;以及在接收被重新分配的所述资源之后执行所述第一IO请求。
14.根据权利要求12所述的计算机系统,其中所述处理器还被配置为:与所述预定量的资源的有限部分成比例地重新分配资源以用于执行所述第一IO请求。
15.根据权利要求12所述的计算机系统,其中所述处理器还被配置为:当所述第一IO请求的所述执行水平达到或超过第二目标时,执行所述第二IO请求。
16.一种用于管理存储服务器的资源的系统,包括:
配置为用于接收第一输入/输出IO的装置;
配置为用于动态地为所述第一IO请求指派第一优先级水平的装置,所述第一IO请求与执行水平相关联,所述执行水平与驻留在与所述存储服务器通信的主机上的应用有关;以及
配置为用于抑制第二优先级水平的第二IO请求以允许先前被指定用于执行所述第二IO请求的预定量的资源的至少一部分被重新分配用于执行所述第一IO请求的装置,所述第二优先级水平与所述第一优先级水平不同。
17.根据权利要求16所述的系统,还包括:
配置为用于当所述第一IO请求的所述执行水平没有达到或超过第一目标时等待执行所述第一IO请求的装置;以及
配置为用于在接收重新分配的所述资源之后执行所述第一IO请求的装置。
18.根据权利要求16所述的系统,其中配置用于抑制所述第二IO请求的装置包括:配置为用于利用所述预定量的资源的有限部分执行所述第二IO请求的装置。
19.根据权利要求18所述的系统,其中配置为用于抑制所述第二IO请求的装置包括:配置为用于与用于执行所述第二IO请求的所述预定量的资源的所述有限部分成比例地重新分配资源以执行所述第一IO请求的装置。
20.一种用于管理存储服务器的资源的方法,包括:
接收第一输入/输出IO请求;
动态地为所述第一IO请求指派第一优先级水平,所述第一IO请求与执行水平相关联,所述执行水平与驻留在与所述存储服务器通信的主机上的应用有关;
当所述第一IO请求的执行水平没有达到或超过第一目标时,或者当高优先级IO请求的执行水平相比低优先级IO请求的执行水平没有达到或超过目标时,抑制第二优先级水平的第二IO请求,以允许先前被指定用于执行所述第二IO请求的预定量的资源的至少一部分被重新分配用于执行所述第一IO请求,所述第二优先级水平低于所述第一优先级水平;
执行所述第一IO请求;
接收第三IO请求;
动态地为所述第三IO请求指派高于所述第一优先级水平的第三优先级水平;以及
当所述第三IO请求的执行水平没有达到或超过第三目标时,或者当所述第三IO请求的所述执行水平相比所述第一IO请求的执行水平没有达到或超过目标时,抑制所述第一IO请求以允许先前被指定用于执行所述第一IO请求的预定量的资源的至少一部分被重新分配用于执行所述第三IO请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/172,648 US20130007755A1 (en) | 2011-06-29 | 2011-06-29 | Methods, computer systems, and physical computer storage media for managing resources of a storage server |
US13/172,648 | 2011-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103106043A true CN103106043A (zh) | 2013-05-15 |
CN103106043B CN103106043B (zh) | 2015-10-07 |
Family
ID=47392084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210219029.XA Active CN103106043B (zh) | 2011-06-29 | 2012-06-28 | 用于管理存储服务器的资源的方法和计算机系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20130007755A1 (zh) |
CN (1) | CN103106043B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761051A (zh) * | 2013-12-17 | 2014-04-30 | 北京同有飞骥科技股份有限公司 | 一种基于持续数据多输入输出流并发写入性能优化方法 |
CN105912396A (zh) * | 2015-02-20 | 2016-08-31 | 英特尔公司 | 用于动态地分配可配置计算资源的资源的技术 |
WO2017054540A1 (zh) * | 2015-09-29 | 2017-04-06 | 华为技术有限公司 | 一种数据处理方法、装置、服务器及控制器 |
CN109726005A (zh) * | 2017-10-27 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 用于管理资源的方法、服务器系统和计算机程序产品 |
CN112445569A (zh) * | 2019-09-02 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 部署方法、装置、电子设备及存储介质 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3634063B1 (en) * | 2011-10-03 | 2022-03-16 | Sun Patent Trust | Base station and communication method |
US9515899B2 (en) | 2012-12-19 | 2016-12-06 | Veritas Technologies Llc | Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources |
US9354813B1 (en) * | 2012-12-28 | 2016-05-31 | Emc Corporation | Data storage system modeling |
DE102013209019A1 (de) * | 2013-05-15 | 2014-11-20 | Dr. Johannes Heidenhain Gmbh | Verfahren zur Übertragung von Daten zwischen einer Positionsmesseinrichtung und einer zugeordneten Verarbeitungseinheit sowie Positionsmesseinrichtung hierfür |
CA2882446A1 (en) | 2014-02-21 | 2015-08-21 | Coho Data, Inc. | Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities |
GB2523568B (en) * | 2014-02-27 | 2018-04-18 | Canon Kk | Method for processing requests and server device processing requests |
GB2528318A (en) * | 2014-07-18 | 2016-01-20 | Ibm | Measuring delay |
US10585823B2 (en) * | 2014-09-30 | 2020-03-10 | EMC IP Holding Company LLC | Leveling IO |
US10102031B2 (en) * | 2015-05-29 | 2018-10-16 | Qualcomm Incorporated | Bandwidth/resource management for multithreaded processors |
US9588913B2 (en) | 2015-06-29 | 2017-03-07 | International Business Machines Corporation | Management of allocation for alias devices |
CN106168911A (zh) * | 2016-06-30 | 2016-11-30 | 联想(北京)有限公司 | 一种信息处理方法和设备 |
US20180131633A1 (en) * | 2016-11-08 | 2018-05-10 | Alibaba Group Holding Limited | Capacity management of cabinet-scale resource pools |
US10592123B1 (en) * | 2017-07-13 | 2020-03-17 | EMC IP Holding Company LLC | Policy driven IO scheduler to improve write IO performance in hybrid storage systems |
US10599340B1 (en) * | 2017-07-13 | 2020-03-24 | EMC IP Holding LLC | Policy driven IO scheduler to improve read IO performance in hybrid storage systems |
US10719245B1 (en) | 2017-07-13 | 2020-07-21 | EMC IP Holding Company LLC | Transactional IO scheduler for storage systems with multiple storage devices |
US10509739B1 (en) | 2017-07-13 | 2019-12-17 | EMC IP Holding Company LLC | Optimized read IO for mix read/write scenario by chunking write IOs |
US10613896B2 (en) | 2017-12-18 | 2020-04-07 | International Business Machines Corporation | Prioritizing I/O operations |
US10432798B1 (en) * | 2018-05-25 | 2019-10-01 | At&T Intellectual Property I, L.P. | System, method, and apparatus for service grouping of users to different speed tiers for wireless communication |
US10419943B1 (en) | 2018-06-15 | 2019-09-17 | At&T Intellectual Property I, L.P. | Overlay of millimeter wave (mmWave) on citizens broadband radio service (CBRS) for next generation fixed wireless (NGFW) deployment |
US10798537B2 (en) | 2018-07-09 | 2020-10-06 | At&T Intellectual Property I, L.P. | Next generation fixed wireless qualification tool for speed-tier based subscription |
US11360544B2 (en) * | 2018-10-03 | 2022-06-14 | Google Llc | Power management systems and methods for a wearable computing device |
US11314558B2 (en) * | 2019-07-23 | 2022-04-26 | Netapp, Inc. | Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof |
US11915043B2 (en) * | 2020-01-31 | 2024-02-27 | Rubrik, Inc. | Scheduler for handling IO requests of different priorities |
JP7327641B2 (ja) * | 2020-03-09 | 2023-08-16 | 日本電信電話株式会社 | 信号転送システム、信号転送装置、信号転送方法および信号転送プログラム |
US12079101B2 (en) * | 2022-04-22 | 2024-09-03 | EMC IP Holding Company, LLC | System and method for modeling and forecasting input/output (IO) performance using adaptable machine learning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095686A1 (en) * | 2004-10-29 | 2006-05-04 | Miller Wayne E | Management of I/O operations in data storage systems |
US7752622B1 (en) * | 2005-05-13 | 2010-07-06 | Oracle America, Inc. | Method and apparatus for flexible job pre-emption |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8031603B1 (en) * | 2005-06-30 | 2011-10-04 | Cisco Technology, Inc. | Technique for reducing resources allocated to an existing reservation in a data network |
US20110083121A1 (en) * | 2009-10-02 | 2011-04-07 | Gm Global Technology Operations, Inc. | Method and System for Automatic Test-Case Generation for Distributed Embedded Systems |
-
2011
- 2011-06-29 US US13/172,648 patent/US20130007755A1/en not_active Abandoned
-
2012
- 2012-06-27 US US13/534,125 patent/US8881165B2/en active Active
- 2012-06-28 CN CN201210219029.XA patent/CN103106043B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095686A1 (en) * | 2004-10-29 | 2006-05-04 | Miller Wayne E | Management of I/O operations in data storage systems |
US7752622B1 (en) * | 2005-05-13 | 2010-07-06 | Oracle America, Inc. | Method and apparatus for flexible job pre-emption |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761051A (zh) * | 2013-12-17 | 2014-04-30 | 北京同有飞骥科技股份有限公司 | 一种基于持续数据多输入输出流并发写入性能优化方法 |
CN103761051B (zh) * | 2013-12-17 | 2016-05-18 | 北京同有飞骥科技股份有限公司 | 一种基于持续数据多输入输出流并发写入性能优化方法 |
CN105912396A (zh) * | 2015-02-20 | 2016-08-31 | 英特尔公司 | 用于动态地分配可配置计算资源的资源的技术 |
CN105912396B (zh) * | 2015-02-20 | 2019-05-10 | 英特尔公司 | 用于动态地分配可配置计算资源的资源的技术 |
US10331492B2 (en) | 2015-02-20 | 2019-06-25 | Intel Corporation | Techniques to dynamically allocate resources of configurable computing resources |
WO2017054540A1 (zh) * | 2015-09-29 | 2017-04-06 | 华为技术有限公司 | 一种数据处理方法、装置、服务器及控制器 |
US10708378B2 (en) | 2015-09-29 | 2020-07-07 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, server, and controller |
US11102322B2 (en) | 2015-09-29 | 2021-08-24 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, server, and controller |
CN109726005A (zh) * | 2017-10-27 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 用于管理资源的方法、服务器系统和计算机程序产品 |
CN112445569A (zh) * | 2019-09-02 | 2021-03-05 | 阿里巴巴集团控股有限公司 | 部署方法、装置、电子设备及存储介质 |
CN112445569B (zh) * | 2019-09-02 | 2023-01-17 | 阿里巴巴集团控股有限公司 | 部署方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20130007757A1 (en) | 2013-01-03 |
CN103106043B (zh) | 2015-10-07 |
US8881165B2 (en) | 2014-11-04 |
US20130007755A1 (en) | 2013-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103106043B (zh) | 用于管理存储服务器的资源的方法和计算机系统 | |
US11429449B2 (en) | Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment | |
US10754704B2 (en) | Cluster load balancing based on assessment of future loading | |
US9852035B2 (en) | High availability dynamic restart priority calculator | |
CN111866085B (zh) | 基于区块链的数据存储方法、系统和装置 | |
US8341441B2 (en) | Reducing energy consumption in a cloud computing environment | |
US20110313902A1 (en) | Budget Management in a Compute Cloud | |
US20150220370A1 (en) | Job scheduling apparatus and method therefor | |
US20070101000A1 (en) | Method and apparatus for capacity planning and resourse availability notification on a hosted grid | |
RU2697700C2 (ru) | Равноправное разделение системных ресурсов в исполнении рабочего процесса | |
US10997113B1 (en) | Method and system for a resource reallocation of computing resources in a resource pool using a ledger service | |
US10936361B2 (en) | Cloud and datacenter migration wave planning using analytics and flow modeling | |
CN103970604A (zh) | 基于MapReduce架构实现图处理的方法和装置 | |
US10552217B2 (en) | Workload placement in a hybrid cloud environment | |
CN108366082A (zh) | 扩容方法及扩容装置 | |
US10977153B1 (en) | Method and system for generating digital twins of resource pools and resource pool devices | |
US8639958B2 (en) | On-demand storage system energy savings | |
CN112527509A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN111913670A (zh) | 负载均衡的处理方法、装置、电子设备及存储介质 | |
US9471389B2 (en) | Dynamically tuning server placement | |
US10114438B2 (en) | Dynamic power budgeting in a chassis | |
CN108733536B (zh) | 监控管理系统及方法 | |
US11663504B2 (en) | Method and system for predicting resource reallocation in a resource pool | |
US10218779B1 (en) | Machine level resource distribution | |
CN113254191A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |