CN102378962A - 基于优先级的系统负载水平管理 - Google Patents

基于优先级的系统负载水平管理 Download PDF

Info

Publication number
CN102378962A
CN102378962A CN2010800161982A CN201080016198A CN102378962A CN 102378962 A CN102378962 A CN 102378962A CN 2010800161982 A CN2010800161982 A CN 2010800161982A CN 201080016198 A CN201080016198 A CN 201080016198A CN 102378962 A CN102378962 A CN 102378962A
Authority
CN
China
Prior art keywords
resource
priority
module
processing power
application
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
Application number
CN2010800161982A
Other languages
English (en)
Inventor
R·派克
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102378962A publication Critical patent/CN102378962A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了用于管理计算机系统资源的系统、方法和计算机程序。可以跨多个计算机系统资源(例如,处理器、服务器等)分配多个模块(例如,虚拟机或其它应用)。每个模块被分配优先级。此外,指定的利用水平被分配给计算机系统的每个资源。每个资源支持一个或多个模块,并且根据对应的分配的优先级对所支持的模块的操作区分优先级。此外,每个资源在指定的利用水平维护所支持的模块的操作。

Description

基于优先级的系统负载水平管理
发明背景
发明领域
本发明一般地涉及到系统负载水平的管理。
背景
诸如企业数据中心之类的计算机系统通常包括应用程序在其上执行的多个服务器。服务器通常以相对较低的效率操作。例如,一些服务器仅有10-30%的负载。虚拟化可用于通过将虚拟机分配给服务器来提高效率,但是如果所分配的虚拟机不忙时每个服务器仍仅有10-30%的负载。此外,对应用的需求随着时间变化,这导致了服务器负载的波动。
尽管通常需要以相对较高的效率操作服务器,但是以相对较低的效率运行服务器可以利于适应应用需求的潜在增长。如果服务器的效率被设置得太高,则服务器不能够适应应用增长的需求。例如,无法适应增长的需求可导致服务器变得不响应由应用提出的某些请求。另一方面,如果服务器的效率被设置得太低,则服务器可低于适应应用的增长的需求的必要效率地操作。
提出的一个用于管理服务器的负载水平的技术是转移应用的需求至另一个服务器以减少需求从其中转移的服务器的负载。但是,这一提出的技术需要大量的时间和精力。例如,搜索以找到具有可用于适应应用需求的充足资源的服务器是必要的。一旦找到这一服务器,可以使用过程以转移需求,等等。
概述
本文描述了用于管理计算机系统资源的系统、方法和计算机程序。可以跨多个计算机系统资源(例如,处理器、服务器等)分配多个模块(例如,虚拟机、SQL服务器实例、或其它应用)。每个模块被分配优先级。此外,指定的利用水平被分配给计算机系统的每个资源。每个资源支持一个或多个模块,并且根据对应的分配的优先级对所支持的模块的操作区分优先级。此外,每个资源在指定的利用水平下维护所支持的模块的总体操作。
在示例方法中,接收利用指示符。利用指示符指示与处理系统的资源相关联的参考利用水平。管理每个资源以将负载水平维护为与参考利用水平大致相等。基于参考利用水平以及与应用模块相关的优先级,在执行于资源上的应用模块中分配每个资源的处理能力。
在另一个示例方法中,由处理系统的资源接收参考利用水平。应用模块在资源上执行。基于与应用模块相关联的优先级在应用模块中分配资源的处理能力,以导致资源的负载水平与参考利用水平大致相等。
还描述了计算机程序产品。计算机程序产品包括具有记录于其上的用于使基于处理器的系统能够管理资源的计算机程序逻辑的计算机可读介质。计算机程序产品包括第一和第二程序逻辑模块。第一程序逻辑模块用于使基于处理器的系统能够在资源上执行应用模块。第二程序逻辑模块用于基于与应用模块相关联的优先级,使基于处理器的系统能够在应用模块中分配资源的处理能力,以导致资源的负载水平与参考利用水平大致相等。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键或必要特征,也不旨在用于限定所要求保护的主题的范围。此外,注意到本发明不限于在详细描述和/或本文的其它章节中所述的特定实施例。本文呈现这些实施例仅用于说明性的用途。基于本文所包含的描述,其它实施例对于相关领域的技术人员将是显而易见的。
附图简述
本文结合的并且组成本说明书的一部分的附图,与描述一起示出本发明,并且进一步用于解释本发明的原理以及使相关领域的技术人员能够实现和使用本发明。
图1是依照本发明的实施例的示例处理系统的框图。
图2示出依照本发明的实施例的用于管理处理系统的方法的流程图。
图3是依照本发明的实施例的图1所示的负载水平管理系统的示例实现的框图。
图4示出依照本发明的实施例的用于管理资源的方法的流程图。
图5是依照本发明的实施例的图1所示的资源的示例实现的框图。
图6示出依照本发明的实施例的具有被管理的负载水平的多个资源。
图7示出其中可以实现本发明的各实施例的计算机的示例性实现。
当结合其中相同的参考字符标识对应的元素的附图时,本发明的特征和优点将从以下阐述的详细描述中变得更加显而易见。在附图中,相同的参考标号一般指相同的、功能上相似的和/或结构上相似的元素。其中元素第一次出现的附图由对应的参考标号中最左侧的数字指示。
详细描述
I.序论
以下详细描述参考示出本发明的示例性实施例的附图。但是,本发明的范围不限于这些实施例,而是由所附权利要求书定义。因此,诸如所示实施例的修改版本之类的在附图所示之外的实施例仍然由本发明所包含。
本说明书中对“一个实施例”、“实施例”、“示例实施例”等的参考,指的是所述实施例可包括具体的特征、结构或特点,但是每个实施例不一定包括该具体的特征、结构或特点。此外,这些短语不一定指相同的实施例。此外,当结合实施例描述具体的特征、结构或特点时,可认为结合明确描述或者没有明确描述的其它实施例来实现这些特征、结构或特点是在本领域的技术人员的知识之内的。
II.基于优先级的系统负载水平管理的示例实施例
本发明的实施例能够管理计算机系统资源。可以跨多个计算机系统资源(例如,处理器、服务器等)分配模块(例如,虚拟机、SQL服务器实例、或其它应用)。每个模块被分配优先级,该优先级指示该模块相对于其它模块的优先级。此外,指定的利用水平被分配给计算机系统的每个资源。每个资源支持一个或多个模块,并且根据对应的分配的优先级水平对所支持的模块的操作区分优先级。此外,每个资源在指定的利用水平下维护所支持的模块的操作。用这一方式,可以实现对资源的更有效的利用。
图1是依照实施例的示例处理系统100的框图。处理系统100包括负载水平管理系统102、多个资源110a-110r以及管理(admin)系统112。每个资源110支持一个或多个应用。例如,第一资源110a支持应用模块104a-104m,第二资源110b支持应用模块106a-106n,等等。
管理系统112被配置为向负载水平管理系统102提供利用指示符114。利用指示符114是处理系统100的资源110的参考利用指示。例如,负载水平管理系统102可使用利用指示符114来确定与处理系统100的资源110相关联的参考利用水平。例如,参考利用水平可与资源110中每一个的目标负载水平相对应。
管理系统110可进一步被配置为向负载管理系统102提供一个或多个优先级指示符,或者可用其它方式提供优先级指示符。优先级指示符是应用模块104a-104m、106a-106n等中的一个的优先级指示,其指示了特定应用模块相对于其它模块的优先级。例如,管理系统112可响应于管理系统112的用户通过Web浏览器116或管理系统112处的其它用户界面选择相应的利用水平和/或优先级,提供利用指示符114和/或优先级指示符。负载水平管理系统102可以将优先级指示符转发给一个或多个资源110以用于进一步处理。
负载水平管理系统102被配置为管理资源110,从而使每个资源的负载水平与参考利用水平大致相等。例如,负载水平管理系统102可被配置为基于从每个资源110接收的负载水平指示符来确定每个资源110的瞬时或平均负载水平。负载水平管理系统102可将资源110的瞬时或平均负载水平与参考利用水平作比较以确定是否增加或减少该资源110的负载水平,从而使资源110的负载水平与参考利用水平大致相等.在另一个实施例中,负载水平管理系统102向每个资源110提供参考利用水平,并且每个资源110被配置为维护其负载水平与参考利用水平大致相等。
应用模块104a-104m、106a-106n等被配置为执行消耗应用模块与之相关联的相应资源110a-110r的处理能力的操作。例如,应用模块104a-104m消耗第一资源110a的处理能力,应用模块106a-106n消耗第二资源110b的处理能力,等等。应用模块104的示例包括但不限于,软件应用、虚拟机、SQL服务器实例等等。
资源110a-110r被配置为提供处理能力以便于由相应的应用模块104a-104m、106n等执行的操作。示例资源110包括但不限于,服务器、处理器、多个处理器等。
在第一示例实施例中,应用模块104a-104m、106a-106n等被实现为虚拟机,并且资源110a-110r被实现为处理器。例如,处理器可基于相应虚拟机的优先级来在虚拟机中分配其处理能力,以导致处理器的负载水平大致等于同处理器相关联的参考利用水平。
在第二示例实施例中,应用模块104a-104m、106a-106n等被实现为SQL服务器实例,并且资源110a-110r被实现为服务器。例如,服务器可基于相应SQL服务器实例的优先级来在SQL服务器实例中分配其处理能力,以导致服务器的负载水平大致等于同服务器相关联的参考利用水平。
这些示例实施例是仅出于说明的目的来提供的,并且不旨在进行限制。相关领域的技术人员将认识到应用模块104a-104m、106a-106n等可被实现为任意合适类型的模块。将进一步认识到,资源110a-110r可以是能够提供处理能力以便于由相应的应用模块104a-104m、106a-106n等执行的操作的任意合适类型的资源。
图2示出依照实施例的用于管理处理系统的方法的流程图200。流程图200可以由例如图1所示的负载水平管理系统102执行。为了说明的目的,根据实施例,关于图3所示的负载水平管理系统102’描述了流程图200,负载水平管理系统102’是负载水平管理系统102的示例。如图3所示,负载水平管理系统102’包括接口模块302和管理模块304。基于有关流程图200的讨论,进一步的结构及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图200如下。
如图2所示,流程图200的方法在步骤202处开始。在步骤202处,接收指示与处理系统的多个资源相关联的参考利用水平的利用指示符。例如,接口模块302可接收利用指示符。在实施例中,管理系统112被配置为提供用户界面元素以使得能够选择参考利用水平。接口模块320可响应于用户通过用户界面元素选择参考利用水平,来接收利用指示符114。
根据实施例,管理系统112可被配置为提供用户界面元素以使得能够选择与应用模块104a-104m、106a-106n等相关联的优先级中的一个或多个。接口模块320可响应于用户通过用户界面元素选择优先级,来接收与相应的优先级相对应的优先级指示符。上述的用户界面元素中的每一个可以是基于文本的界面元素、图形界面元素(例如,弹出式、下拉式、或等效菜单)、或其它用户界面元素。
在步骤204处,管理处理系统的资源以将每个资源的负载水平维护为与参考利用水平大致相等。例如,管理模块304可管理处理系统的资源。依照这一示例,管理模块304可向处理系统100的相应资源110a-110r提供维护指示符306a-306r。维护指示符306a-306r是资源110的负载水平维护指示。例如,每个资源110可使用相应的维护指示符306来确定是增加还是减少该资源110的负载水平来将资源110的负载水平维护为与参考利用水平大致相等。例如,每个资源110可被配置为将当前负载水平与由参考利用水平所指示的负载水平作比较,并且根据当前负载水平与参考利用水平之间的任何确定的差异来调节负载水平。
在示例实现中,可管理处理系统的资源以将每个资源的平均负载水平维护为与参考利用水平大致相等。例如,可以跨几分之一秒、数秒钟、数分钟、数小时等来平均负载水平。
基于参考利用水平以及与应用模块相关联的优先级,在执行在资源上的多个应用模块中分配每个资源的处理能力。例如,可在执行在第一资源上的第一多个应用模块中分配第一资源的处理能力。可在执行在第二资源上的第二多个应用模块中分配第二资源的处理能力,等等。例如,可为具有相对较高优先级的应用模块分配比具有相对较低优先级的应用模块更多的资源处理能力。在另一个示例中,可为具有相对较低优先级的应用模块分配比具有相对较高优先级的应用模块更少的资源处理能力。
图4示出依照实施例的用于管理资源的方法的流程图400。流程图400可以由例如图1所示的资源110a-110r中的任一个来执行。为了说明的目的,根据实施例,关于图5所示的资源110’描述了流程图400,资源110’是资源110的示例。如图5所示,资源110’包括接收模块502、执行模块504、以及分配模块506。基于有关流程图400的讨论,进一步的结构及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图400如下。
如图4所示,流程图400的方法在步骤402处开始。在步骤402处,接收参考利用水平。例如,接收模块502可通过维护指示符306或其它指示符来接收利用水平。
在步骤404处,在处理系统的资源上执行多个应用模块。例如,执行模块504可以在资源上执行多个应用模块。例如,资源可是资源110’。
在步骤406处,基于与多个应用模块相关联的多个优先级在多个应用模块中分配资源的处理能力,以导致资源的负载水平与参考利用水平大致相等。例如,分配模块506可在多个应用模块中分配资源的处理能力。分配模块506可从接收模块502处接收维护指示符306。例如,分配模块506可使用维护指示符306来确定资源总处理能力的数量来在多个应用模块中分配,以导致资源的负载水平与参考利用水平大致相等。
分配模块506可使用多个优先级来确定所确定的总处理能力的数量的一部分以分配给相应的应用模块。例如,分配模块506可基于与第一应用模块相关联的第一优先级,将所确定数量的第一部分分配给第一应用模块。分配模块506可基于与第二应用模块相关联的第二优先级,将所确定数量的第二部分分配给第二应用模块,等等。
在实施例中,接收模块502可接收指示在资源上执行的模块的优先级的优先级指示符。可在例如从负载水平管理系统102处接收的维护指示符306中指示优先级指示符。接收模块502可将优先级指示符或由优先级指示符指示的优先级转发给分配模块506以用于进一步处理。替代地,每个模块502可在先前已被分配过相应的优先级。
分配模块506可将资源110’的处理能力从具有第一优先级的第一应用模块转移到具有比第一优先级高的第二优先级的第二应用模块,以便于资源110’的处理能力可用于第二应用模块。在示例实现中,分配模块506可被配置为基于第二优先级超过第一优先级,在接收来自第二应用模块的请求508后,将处理能力从第一应用模块自动地转移到第二应用模块。例如,分配模块506可将第一应用模块的负载级别设置为接近于0,以便于处理能力的可用性。
可在任意时刻改变相应的应用模块的优先级以及参考利用水平。例如,参考图3,负载水平管理系统102’的接口模块302可接收经修订的优先级指示符,该指示符指示相应的至少一个应用模块的至少一个经修订的优先级。负载水平管理系统102’的管理模块304可通过维护指示符306向接收模块502提供至少一个经修订的优先级的指示。资源110’的分配模块506可基于至少一个经修订的优先级,在多个应用模块中分配资源的处理能力。
在另一个示例中,负载水平管理系统102’的接口模块302可接收经修改的利用指示符,其指示与资源110’相关联的经修订的参考利用水平。负载水平管理系统102’的管理模块304可通过维护指示符306向接收模块502提供经修订的利用水平的指示。资源110’的分配模块506可基于经修订的参考利用水平,在多个应用模块中分配资源的处理能力。响应于改变的优先级和/或改变的利用水平,可按比例调节分配给相应应用模块的资源部分
在一方面,例如可响应于用户通过用户界面元素在进行中修改参考利用水平,来接收经修订的利用指示符。在另一方面,可依照预定调度来接收经修订的参考利用水平。例如,参考利用水平可被设置为指示一天中的第一时间的相对较低的利用水平。参考利用水平可被修订为指示一天中的第二时间的相对较高的利用水平。因此,分配模块506可在多个应用模块中分配资源110’的处理能力以在第一时间和第二时间之间的时间段中导致资源110’的负载水平与相对较低的利用水平大致相等。分配模块506可在多个应用模块中重新分配资源110’的处理能力以在第二时间之后的时间段中导致资源110’的负载水平与相对较高的利用水平大致相等。
图6示出依照实施例的具有管理的负载水平的多个资源602。为了说明的目的,资源602被示为中央处理单元(CPU),并且不旨在进行限制。例如,资源602a-602d可表示常见插座中相应的处理器核,尽管本文描述的实施例的范围不限于这一方面。将意识到资源可以是处理器、服务器等。如图6所示,每个资源602被管理为具有与参考利用水平608大致相等的负载水平,为了说明的目的,参考利用水平608被示为65%。参考利用水平608可以被设为从0%到100%范围内的任何合适的水平。
资源602执行应用模块604,为了说明的目的将应用模块604描述为虚拟机。相关领域的技术人员将认识到应用模块604可以是虚拟机、SQL服务器实例等。如图6所示,在资源602a上执行应用模块604a和604b。在资源602b上执行应用模块604c和604d。在资源602c上执行应用模块604e、604f和604g。在资源602d上执行应用模块604h。每个资源602可执行任意数量的应用模块604。例如,资源602可执行成百或上千的模块。
每个应用模块604被分配优先级610,这一优先级610指示该模块相对于其它模块的优先级。为了说明的目的在图6中示出优先级610为数值,尽管将认识到优先级610可基于任意合适的数值范围。例如,优先级610可以是从1到指定数值(例如,10、50、10000等)的范围内的数值。在另一个示例中,优先级610可具有“高”、“中”或“低”的值。具有相对较高的优先级610的应用模块604可被认为具有相对较高的商业影响;反之,具有相对较低的优先级610的应用模块604可被认为具有相对较低的商业影响。例如,为商业执行关键或时间敏感的操作的应用模块604可被分配相对较高的优先级610。在另一个示例中,执行既不关键也非时间敏感的操作的应用模块604可被分配相对较低的优先级610。
例如,服务在线广告来为商业生成收益的前端Web服务器或广告服务器可与相对较高的优先级610相关联。执行诸如日志运送、搜索爬行或在因特网上检查信息等的后端服务的应用模块604可与相对较低的优先级610相关联。例如,等待数小时或者直到一天的最后来执行这些后端服务不会对商业造成本质的影响。
每个资源602根据对应分配的优先级610,来对在该资源602上执行的应用模块604的操作区分优先级。例如,资源602a根据优先级610a对应用模块604a的操作区分优先级。资源602a根据优先级610b对应用模块604b的操作区分优先级,等等。当来自较高优先级模块604的对处理能力的请求接近尾声时,较低优先级模块604可在进行中动态地“唤醒”以执行其操作,从而利用与模块604相关联的资源602的处理能力。在一方面,响应于资源602确定来自较高优先级模块604的对处理能力的请求接近尾声,资源602可向较低优先级模块604提供指令以唤醒该模块604。在接收来自较高优先级模块604的对处理能力的请求后,资源602可将资源602的处理能力转移回较高优先级模块604。事实上,资源可使较低优先级模块604离线(即到达0%的处理能力分配)以便于使所请求的处理能力用于较高优先级模块604。
执行处理能力在应用模块604中的分配,从而使每个资源602的负载水平与参考利用水平608大致相等。分配指示612指示被分配给相应的应用模块604的资源处理能力的部分。例如,分配指示612a指示资源602a将资源602a的10%的处理能力分配给应用模块604a。资源602a基于被分配给应用模块604a的优先级610a,来将这一处理能力分配给应用模块604a。分配指示612b指示资源602a将资源602a的55%的处理能力分配给应用模块604b。资源602a基于被分配给应用模块604b的优先级610b,来将这一处理能力分配给应用模块604b。在应用模块604a和604b中分配的资源602a的处理能力是10%+55%=65%,这等于参考利用水平608。
具有相对较高优先级610的应用模块604不必要消耗在其上执行应用模块604的资源602的处理能力的相对较高的比例。例如,示出应用模块604d和604g为消耗相应的资源602b和602c的相对很少的处理能力,尽管这些应用模块中的每一个都与相对较高的优先级610d、610g相关联。例如,应用模块604d具有7950的优先级610d以及资源602b的20%的处理能力分配。在另一个示例中,应用模块604g具有8300的优先级710g以及资源602c的25%的处理能力分配。
应当注意到资源602可被配置为在由较高优先级模块604请求处理能力的时候,将该处理能力从较低优先级模块604转移到较高优先级模块604。例如,依照本文描述的实施例,资源602可在由应用模块604d请求处理能力时,将资源从应用模块604c转移到应用模块604d。在另一个示例中,依照本文描述的实施例,资源602可在由应用模块604g请求处理能力时,将该处理能力从应用模块604e和604f中的至少一个转移到应用模块604g。
图7示出其中可实现各实施例的计算机700的示例性实现。图1所示的负载水平管理系统102、资源104、管理系统112、或图6所示的资源602中的任意一个或多个可与计算机700类似地实现,包括一个或多个计算机700的特征和/或替代特征。计算机700可以是例如常规个人计算机、移动计算机或工作站形式的通用计算设备,或者,计算机700可以是特殊用途的计算设备。此处所提供的对计算机700的描述只是为了说明,并不是限制性的。实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。
如图7所示,计算机700包括处理单元702、系统存储器704,以及将包括系统存储器704的各种系统组件耦合到处理单元702的总线706。系统总线706表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线体系结构中的任何一种的处理器或局部总线。系统存储器704包括只读存储器(ROM)708和随机存取存储器(RAM)710。基本输入/输出系统712(BIOS)存储在ROM708中。
计算机700还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器714、用于读或写可移动磁盘718的磁盘驱动器716、以及用于读或写诸如CDROM、DVD ROM或其他光介质之类的可移动光盘722的光盘驱动器720。硬盘驱动器714、磁盘驱动器716,以及光驱动器720分别通过硬盘驱动器接口724、磁盘驱动器接口726,以及光学驱动器接口728连接到系统总线706。驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等之类的其他类型的计算机可读介质来存储数据。
数个程序模块可被存储在硬盘、磁盘、光盘、ROM,或RAM上。这些程序包括操作系统730、一个或多个应用程序732、其他程序模块734,以及程序数据736。例如,如本文所述,应用程序732或程序模块734可包括用于实现负载水平管理系统102的计算机程序逻辑、应用模块104、106、108等、管理系统112、接口模块302、管理模块304、接收模块502、执行模块504、分配模块506、应用模块604、流程图200(包括流程图200的任何步骤)和/或流程图400(包括流程图400的任何步骤)。
用户可以通过诸如键盘738和定点设备740之类的输入设备向计算机700中输入命令和信息。其他输入设备(未示出)可包括话筒、游戏杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些及其他输入设备常常通过耦合到总线706的串行端口接口742连接到处理单元702,但是,也可以通过其他接口,诸如并行端口、游戏端口、通用串行总线(USB)端口,来进行连接。
监视器744或其他类型的显示设备也可以经由诸如视频适配器746之类的接口来连接到系统总线706。除了监视器之外,计算机700还可包括其他外围输出设备(未示出),如扬声器和打印机。
计算机700通过网络接口或适配器750、调制解调器752、或用于通过网络建立通信的其他装置连接到网络748(例如,因特网)。调制解调器752(可以是内置的或外置的),通过串行端口接口742连接到系统总线706。
如此处所用的,术语“计算机程序介质”以及“计算机可读介质”被用于泛指介质,诸如与硬盘驱动器714相关联的硬盘、可移动磁盘718、可移动光盘722,以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM)等。
如上文所指示的,计算机程序和模块(包括应用程序732及其他程序模块734)可以存储在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程序也可以通过网络接口750或串行端口接口742来接收。这样的计算机程序,当由应用程序执行或加载时,使得计算机700能实现此处所讨论的本发明的特征。相应地,这样的计算机程序表示计算机700的控制器。
实施例还涉及包括存储在任何计算机可用介质上的软件的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。本发明的各实施例使用现在已知的或将来已知的任何计算机可使用或计算机可读介质。计算机可读介质的示例包括,但不仅限于,诸如RAM、硬盘驱动器、软盘、CD ROM、DVD ROM、zip磁盘、磁带、磁存储设备、光存储设备、MEM(存储器)、基于纳米技术的存储设备等等之类的存储设备。
与传统的负载水平管理技术比较,本文所述的实施例具有各种益处。例如,基于与模块相关联的优先级,实施例可有利地在执行于资源上的应用模块(例如,虚拟机、SQL服务器实例或其它应用)中分配资源(例如,处理器、服务器等)的处理能力以实现指定的系统负载水平。例如,实施例可分配处理能力,以导致资源的负载水平与参考利用水平大致相等。基于常见的参考利用水平或不同的相应的参考利用水平,可以管理相应的资源的负载水平。
依照一些实施例,应用模块不需要从一个资源移动到另一个以适应应用模块的变化的负载水平。相反,基于与应用模块相关联的优先级,可在执行于资源上的应用模块中分配资源的处理能力,以导致每个资源的负载水平与参考利用水平大致相等。
本文所述的实施例是为了说明的目的参考在处理系统的资源上执行的应用模块所描述的,并且不旨在进行限制。相关领域的技术人员将认识到本文所述的负载水平管理技术可用于各种其它环境中。例如,本技术可用于基于与设备相关联的优先级来在多个软件和/或硬件设备中分配一个或多个非易失性存储设备(例如,硬盘驱动器或其分区、存储器设备等)的输入/输出(I/O)能力,以导致每个非易失性存储设备的负载水平与参考利用水平大致相等。在另一个实例中,本技术可用于管理与多个主机(例如,计算机)通信的资源的负载水平。依照分配给其的优先级,可在多个主机中分配资源的处理能力,从而使资源的负载水平与参考利用水平大致相等。
III.结论
尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

Claims (15)

1.一种管理资源的方法,包括:
接收参考利用水平(608);
在处理系统(100)的资源(110a-110r、602a-602d)上执行多个应用模块(104a-104m、106a-106n、108a-108p、604a-604h);以及
基于与所述多个应用模块(104a-104m、106a-106n、108a-108p、604a-604h)相关联的多个优先级(610a-610h),在所述多个应用模块(104a-104m、106a-106n、108a-108p、604a-604h)中分配所述资源(110a-110r、602a-602d)的处理能力,以导致所述资源的负载水平与参考利用水平(608)大致相等。
2.如权利要求1所述的方法,其特征在于,所述接收包括:
接收与包括所述资源的多个资源相关联的所述参考利用水平。
3.如权利要求1所述的方法,其特征在于,还包括:
从所述多个应用模块的第一应用模块处接收对更多的资源的处理能力的请求;以及
基于与所述第一应用模块相关联的第一优先级高于与第二应用模块相关联的第二优先级,将资源的处理能力的一部分从多个应用模块的所述第二应用模块转移到所述第一应用模块。
4.如权利要求1所述的方法,其特征在于,分配所述处理能力包括基于与所述第一应用模块相关联的第一优先级,本质上不将资源的处理能力分配给所述多个应用模块的第一应用模块。
5.如权利要求1所述的方法,其特征在于,分配所述处理能力包括基于与所述第一应用模块相关联的第一优先级,本质上将所有的资源的处理能力分配给所述多个应用模块的第一应用模块。
6.如权利要求1所述的方法,其特征在于,还包括:
接收与所述多个应用模块的至少一个应用模块相关联的经修订的优先级;以及
基于经修订的优先级在所述多个应用模块中重新分配所述资源的所述处理能力,以导致所述资源的负载水平与所述参考利用水平大致相等。
7.如权利要求1所述的方法,其特征在于,还包括:
接收经修订的参考利用水平;以及
基于与所述多个应用模块相关联的多个优先级在所述多个应用模块中重新分配资源的处理能力,以导致资源的负载水平与经修订的参考利用水平大致相等。
8.如权利要求8所述的方法,其特征在于,接收所述经修订的参考利用指示符是根据预定调度执行的。
9.如权利要求1所述的方法,其特征在于,分配所述处理能力包括基于与所述多个应用模块相关联的所述多个优先级在所述多个应用模块中分配所述资源的所述处理能力,以导致资源的平均负载水平与所述参考利用水平大致相等。
10.一种计算机程序产品,包括其中存储有控制逻辑的计算机可读介质,所述控制逻辑包括:
被安排为实现权利要求1-9中的任一项的方法步骤的计算机可读程序装置。
11.一种计算机系统,包括:
处理器;以及
与所述处理器通信的存储器,所述存储器存储用于指导所述处理器实现权利要求1-9的方法步骤中的任一个的多个处理指令。
12.一种系统,包括:
用于在处理系统(100)的资源(110a-110r、602a-602d)上执行多个应用模块(104a-104m、106a-106n、108a-108p、604a-604h)的装置(504);以及
用于基于与所述多个应用模块(104a-104m、106a-106n、108a-108p、604a-604h)相关联的多个优先级(610a-610h)在所述多个应用模块(104a-104m、106a-106n、108a-108p、604a-604h)中分配所述资源(110a-110r、602a-602d)的处理能力以导致所述资源(110a-110r、602a-602d)的负载水平与参考利用水平(608)大致相等的装置(506)。
13.如权利要求12所述的系统,其特征在于,所述参考利用水平与包括所述资源的多个资源相关联。
14.如权利要求12所述的系统,其特征在于,还包括:
用于响应于从第二应用模块处接收对更多的资源处理能力的请求,基于与所述第二应用模块相关联的第二优先级高于与所述第一应用模块相关联的第一优先级,将所述资源处理能力的一部分从所述多个应用模块的所述第一应用模块转移到所述多个应用模块的所述第二应用模块的装置。
15.如权利要求12所述的系统,其特征在于,所述用于分配的装置被配置为导致所述资源的平均负载水平与参考利用水平大致相等。
CN2010800161982A 2009-03-31 2010-03-26 基于优先级的系统负载水平管理 Pending CN102378962A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/414,897 2009-03-31
US12/414,897 US8595740B2 (en) 2009-03-31 2009-03-31 Priority-based management of system load level
PCT/US2010/028938 WO2010117691A2 (en) 2009-03-31 2010-03-26 Priority-based management of system load level

Publications (1)

Publication Number Publication Date
CN102378962A true CN102378962A (zh) 2012-03-14

Family

ID=42785937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800161982A Pending CN102378962A (zh) 2009-03-31 2010-03-26 基于优先级的系统负载水平管理

Country Status (7)

Country Link
US (2) US8595740B2 (zh)
EP (1) EP2414934B1 (zh)
JP (1) JP5680619B2 (zh)
KR (1) KR101606613B1 (zh)
CN (1) CN102378962A (zh)
CA (1) CA2753714C (zh)
WO (1) WO2010117691A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019861A (zh) * 2012-12-11 2013-04-03 华为技术有限公司 虚拟机分配方法及装置
CN104484220A (zh) * 2014-11-28 2015-04-01 杭州华为数字技术有限公司 虚拟化集群的动态资源调度的方法及装置
CN109117249A (zh) * 2018-07-27 2019-01-01 郑州云海信息技术有限公司 一种提升存储虚拟化系统性能的方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035802A1 (en) * 2009-08-07 2011-02-10 Microsoft Corporation Representing virtual object priority based on relationships
EP2390757A1 (en) * 2010-05-25 2011-11-30 Samsung Electronics Co., Ltd. Method and apparatus for managing an application being executed in a portable terminal
US9471389B2 (en) * 2011-06-30 2016-10-18 International Business Machines Corporation Dynamically tuning server placement
TWI556092B (zh) * 2011-09-30 2016-11-01 英特爾公司 用以減少電力消耗之基於優先順序的應用程式事件控制技術
JP5891900B2 (ja) * 2012-03-29 2016-03-23 富士通株式会社 アクセス制御方法、サーバ装置およびストレージ装置
US20130290977A1 (en) * 2012-04-26 2013-10-31 Siemens Aktiengesellschaft Computational Resource Allocation System And A Method For Allocating Computational Resources For Executing A Scene Graph Based Application At Run Time
US9098528B2 (en) * 2012-05-15 2015-08-04 Hitachi, Ltd. File storage system and load distribution method
US10007323B2 (en) 2012-12-26 2018-06-26 Intel Corporation Platform power consumption reduction via power state switching
US10088914B2 (en) * 2013-06-13 2018-10-02 Microsoft Technology Licensing, Llc Modifying input delivery to applications
US9961233B2 (en) * 2014-03-14 2018-05-01 Canon Kabushiki Kaisha Information processing apparatus, method for controlling information processing apparatus, and storage medium to display an initial screen
JPWO2016027452A1 (ja) * 2014-08-19 2017-06-01 日本電気株式会社 解析制御装置、解析制御方法及び記録媒体
US9928183B2 (en) 2014-09-26 2018-03-27 Ampere Computing Llc Priority framework for a computing device
DE112017007989T5 (de) 2017-08-22 2020-06-10 Intel Corporation Anwendungsprioritätsbasierte energieverwaltung für eine computervorrichtung
KR102092948B1 (ko) * 2017-09-14 2020-03-24 주식회사 케이티 앱의 리소스를 관리하는 서버 및 사용자 단말
US10635501B2 (en) 2017-11-21 2020-04-28 International Business Machines Corporation Adaptive scaling of workloads in a distributed computing environment
US10733015B2 (en) 2017-11-21 2020-08-04 International Business Machines Corporation Prioritizing applications for diagonal scaling in a distributed computing environment
US10887250B2 (en) 2017-11-21 2021-01-05 International Business Machines Corporation Reducing resource allocations and application instances in diagonal scaling in a distributed computing environment
US10812407B2 (en) 2017-11-21 2020-10-20 International Business Machines Corporation Automatic diagonal scaling of workloads in a distributed computing environment
US10721179B2 (en) 2017-11-21 2020-07-21 International Business Machines Corporation Adaptive resource allocation operations based on historical data in a distributed computing environment
US10893000B2 (en) * 2017-11-21 2021-01-12 International Business Machines Corporation Diagonal scaling of resource allocations and application instances in a distributed computing environment
KR102420667B1 (ko) * 2017-12-15 2022-07-14 현대자동차주식회사 단말기, 차량 및 그 제어방법
JP7017112B2 (ja) * 2018-03-29 2022-02-08 富士通株式会社 誤差補正方法、分散処理システムおよび情報処理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450765A (zh) * 2002-03-05 2003-10-22 日本电气株式会社 服务器负载平衡系统、装置以及内容管理装置
CN1591342A (zh) * 2003-09-02 2005-03-09 株式会社东芝 计算机系统和群集系统程序
CN1604040A (zh) * 2003-09-29 2005-04-06 国际商业机器公司 主事务处理系统中的动态事务控制
CN1669001A (zh) * 2002-05-31 2005-09-14 维里塔斯管理公司 用于服务器整合环境的业务连续性策略
US20080184254A1 (en) * 2007-01-25 2008-07-31 Bernard Guy S Systems, methods and apparatus for load balancing across computer nodes of heathcare imaging devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1165859A (ja) * 1997-08-11 1999-03-09 Tec Corp 業務プログラム管理方法及び装置並びに業務プログラム管理用プログラムを記録した記録媒体
US6898564B1 (en) * 2000-05-23 2005-05-24 Microsoft Corporation Load simulation tool for server resource capacity planning
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US6944678B2 (en) * 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
US7158972B2 (en) * 2001-12-11 2007-01-02 Sun Microsystems, Inc. Methods and apparatus for managing multiple user systems
WO2005116833A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic cpu resource management
US7296133B2 (en) * 2004-10-14 2007-11-13 International Business Machines Corporation Method, apparatus, and computer program product for dynamically tuning amount of physical processor capacity allocation in shared processor systems
JP2006113828A (ja) 2004-10-15 2006-04-27 Hitachi Ltd 作業負荷管理可能なクラスタシステム
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
FR2879881A1 (fr) * 2004-12-20 2006-06-23 France Telecom Systeme de procede de gestion des ressources d'un reseau mobile large bande comportant des acces fixes prolonges par des bornes d'acces de reseau local sans fil
US8024736B1 (en) * 2005-01-28 2011-09-20 Hewlett-Packard Development Company, L.P. System for controlling a distribution of unutilized computer resources
US8091088B2 (en) 2005-02-22 2012-01-03 Microsoft Corporation Method and system for hierarchical resource management involving hard and soft resource limits
US8104033B2 (en) * 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty
JP4377369B2 (ja) * 2005-11-09 2009-12-02 株式会社日立製作所 リソース割当調停装置およびリソース割当調停方法
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US7814498B2 (en) * 2006-05-01 2010-10-12 Microsoft Corporation Loading application resources
US20080127220A1 (en) * 2006-06-30 2008-05-29 Robert Paul Morris Methods, systems, and computer program products for creating an input-value-specific loadable instance of an application
US8589862B2 (en) * 2008-06-02 2013-11-19 Microsoft Corporation Application loading

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450765A (zh) * 2002-03-05 2003-10-22 日本电气株式会社 服务器负载平衡系统、装置以及内容管理装置
CN1669001A (zh) * 2002-05-31 2005-09-14 维里塔斯管理公司 用于服务器整合环境的业务连续性策略
CN1591342A (zh) * 2003-09-02 2005-03-09 株式会社东芝 计算机系统和群集系统程序
CN1604040A (zh) * 2003-09-29 2005-04-06 国际商业机器公司 主事务处理系统中的动态事务控制
US20080184254A1 (en) * 2007-01-25 2008-07-31 Bernard Guy S Systems, methods and apparatus for load balancing across computer nodes of heathcare imaging devices

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019861A (zh) * 2012-12-11 2013-04-03 华为技术有限公司 虚拟机分配方法及装置
CN104484220A (zh) * 2014-11-28 2015-04-01 杭州华为数字技术有限公司 虚拟化集群的动态资源调度的方法及装置
CN104484220B (zh) * 2014-11-28 2017-12-22 杭州华为数字技术有限公司 虚拟化集群的动态资源调度的方法及装置
CN109117249A (zh) * 2018-07-27 2019-01-01 郑州云海信息技术有限公司 一种提升存储虚拟化系统性能的方法

Also Published As

Publication number Publication date
US20140157281A1 (en) 2014-06-05
US20100251253A1 (en) 2010-09-30
JP2012522320A (ja) 2012-09-20
WO2010117691A2 (en) 2010-10-14
JP5680619B2 (ja) 2015-03-04
KR101606613B1 (ko) 2016-03-25
US9274844B2 (en) 2016-03-01
WO2010117691A3 (en) 2011-01-13
US8595740B2 (en) 2013-11-26
EP2414934A2 (en) 2012-02-08
EP2414934B1 (en) 2018-07-11
EP2414934A4 (en) 2014-05-28
KR20120017411A (ko) 2012-02-28
CA2753714C (en) 2017-04-04
CA2753714A1 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
CN102378962A (zh) 基于优先级的系统负载水平管理
US9542223B2 (en) Scheduling jobs in a cluster by constructing multiple subclusters based on entry and exit rules
CN100533387C (zh) 执行作业步的系统和方法
CN101089820B (zh) 信息处理装置及访问控制方法
US10333859B2 (en) Multi-tenant resource coordination method
CN103229122B (zh) 提供每内核电压和频率控制
CN1825273B (zh) 打印作业排队和调度系统及方法
US5535401A (en) Method and system of power and thermal management for a data processing system using object-oriented program design
RU2463648C2 (ru) Выборочное использование множества различающихся ячеек твердотельного запоминающего устройства
CN103019810A (zh) 具有不同执行优先级的计算任务的调度和管理
CN101981548B (zh) 借助细粒度的预充电管理来提高存储器吞吐量
CN102317916A (zh) 分散系统
CN103189845A (zh) 非一致存储器访问平台上的io资源的动态平衡
US9049164B2 (en) Dynamic message retrieval by subdividing a message queue into sub-queues
CN102402401A (zh) 一种磁盘io请求队列调度的方法
CN101458555B (zh) 一种调节时钟周期的方法和计算系统
CN104794000B (zh) 一种作业调度方法及系统
CN100397345C (zh) 用于管理资源元素队列的方法和控制器
US20070043869A1 (en) Job management system, job management method and job management program
CN108763013B (zh) 一种故障处理方法、装置、设备和计算机存储介质
US11347569B2 (en) Event-based framework for distributed applications
US20210011759A1 (en) Multi-core system and method of controlling operation of the same
Zhao et al. The Impact of Internet Technology on Enterprises Achieving Economies of Scale and Economies of Scope, and Its Mechanism of Action
CN116069739A (zh) 数据处理方法、装置、设备和系统
CN113986506A (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150717

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150717

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

RJ01 Rejection of invention patent application after publication

Application publication date: 20120314

RJ01 Rejection of invention patent application after publication