基于优先级的系统负载水平管理.pdf

上传人:r5 文档编号:1037196 上传时间:2018-03-27 格式:PDF 页数:19 大小:626.09KB
返回 下载 相关 举报
摘要
申请专利号:

CN201080016198.2

申请日:

2010.03.26

公开号:

CN102378962A

公开日:

2012.03.14

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 9/44申请公布日:20120314|||专利申请权的转移IPC(主分类):G06F 9/44变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150717|||实质审查的生效IPC(主分类):G06F 9/44申请日:20100326|||公开

IPC分类号:

G06F9/44; G06F17/00; G06F9/06

主分类号:

G06F9/44

申请人:

微软公司

发明人:

R·派克

地址:

美国华盛顿州

优先权:

2009.03.31 US 12/414,897

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

高见

PDF下载: PDF下载
内容摘要

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

权利要求书

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: 一种计算机系统, 包括 : 处理器 ; 以及 2 与所述处理器通信的存储器, 所述存储器存储用于指导所述处理器实现权利要求 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 所述的系统, 其特征在于, 所述用于分配的装置被配置为导致所述 资源的平均负载水平与参考利用水平大致相等。

说明书


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

     发明背景发明领域 本发明一般地涉及到系统负载水平的管理。
     背景
     诸如企业数据中心之类的计算机系统通常包括应用程序在其上执行的多个服务 器。服务器通常以相对较低的效率操作。例如, 一些服务器仅有 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、 以及用于读或写诸如 CD ROM、 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. 结论
     尽管上文描述了本发明的各实施例, 但是, 应该理解, 它们只是作为示例来呈现 的, 而不作为限制。 对于相关领域的技术人员显而易见的是, 可以对其做出各种改变而不背 离本发明的精神和范围。因此, 此处所公开的本发明的宽度和范围不应被上述所公开的示 例性实施例所限制, 而应当仅根据所附权利要求书及其等同替换来定义。

基于优先级的系统负载水平管理.pdf_第1页
第1页 / 共19页
基于优先级的系统负载水平管理.pdf_第2页
第2页 / 共19页
基于优先级的系统负载水平管理.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《基于优先级的系统负载水平管理.pdf》由会员分享,可在线阅读,更多相关《基于优先级的系统负载水平管理.pdf(19页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102378962A43申请公布日20120314CN102378962ACN102378962A21申请号201080016198222申请日2010032612/414,89720090331USG06F9/44200601G06F17/00200601G06F9/0620060171申请人微软公司地址美国华盛顿州72发明人R派克74专利代理机构上海专利商标事务所有限公司31100代理人高见54发明名称基于优先级的系统负载水平管理57摘要本文描述了用于管理计算机系统资源的系统、方法和计算机程序。可以跨多个计算机系统资源例如,处理器、服务器等分配多个模块例如,虚拟机或其它应。

2、用。每个模块被分配优先级。此外,指定的利用水平被分配给计算机系统的每个资源。每个资源支持一个或多个模块,并且根据对应的分配的优先级对所支持的模块的操作区分优先级。此外,每个资源在指定的利用水平维护所支持的模块的操作。30优先权数据85PCT申请进入国家阶段日2011093086PCT申请的申请数据PCT/US2010/0289382010032687PCT申请的公布数据WO2010/117691EN2010101451INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书9页附图7页CN102378972A1/2页21一种管理资源的方法,包括接收参考利用水平608;在处。

3、理系统100的资源110A110R、602A602D上执行多个应用模块104A104M、106A106N、108A108P、604A604H;以及基于与所述多个应用模块104A104M、106A106N、108A108P、604A604H相关联的多个优先级610A610H,在所述多个应用模块104A104M、106A106N、108A108P、604A604H中分配所述资源110A110R、602A602D的处理能力,以导致所述资源的负载水平与参考利用水平608大致相等。2如权利要求1所述的方法,其特征在于,所述接收包括接收与包括所述资源的多个资源相关联的所述参考利用水平。3如权利要求1所述的。

4、方法,其特征在于,还包括从所述多个应用模块的第一应用模块处接收对更多的资源的处理能力的请求;以及基于与所述第一应用模块相关联的第一优先级高于与第二应用模块相关联的第二优先级,将资源的处理能力的一部分从多个应用模块的所述第二应用模块转移到所述第一应用模块。4如权利要求1所述的方法,其特征在于,分配所述处理能力包括基于与所述第一应用模块相关联的第一优先级,本质上不将资源的处理能力分配给所述多个应用模块的第一应用模块。5如权利要求1所述的方法,其特征在于,分配所述处理能力包括基于与所述第一应用模块相关联的第一优先级,本质上将所有的资源的处理能力分配给所述多个应用模块的第一应用模块。6如权利要求1所述。

5、的方法,其特征在于,还包括接收与所述多个应用模块的至少一个应用模块相关联的经修订的优先级;以及基于经修订的优先级在所述多个应用模块中重新分配所述资源的所述处理能力,以导致所述资源的负载水平与所述参考利用水平大致相等。7如权利要求1所述的方法,其特征在于,还包括接收经修订的参考利用水平;以及基于与所述多个应用模块相关联的多个优先级在所述多个应用模块中重新分配资源的处理能力,以导致资源的负载水平与经修订的参考利用水平大致相等。8如权利要求8所述的方法,其特征在于,接收所述经修订的参考利用指示符是根据预定调度执行的。9如权利要求1所述的方法,其特征在于,分配所述处理能力包括基于与所述多个应用模块相关。

6、联的所述多个优先级在所述多个应用模块中分配所述资源的所述处理能力,以导致资源的平均负载水平与所述参考利用水平大致相等。10一种计算机程序产品,包括其中存储有控制逻辑的计算机可读介质,所述控制逻辑包括被安排为实现权利要求19中的任一项的方法步骤的计算机可读程序装置。11一种计算机系统,包括处理器;以及权利要求书CN102378962ACN102378972A2/2页3与所述处理器通信的存储器,所述存储器存储用于指导所述处理器实现权利要求19的方法步骤中的任一个的多个处理指令。12一种系统,包括用于在处理系统100的资源110A110R、602A602D上执行多个应用模块104A104M、106A。

7、106N、108A108P、604A604H的装置504;以及用于基于与所述多个应用模块104A104M、106A106N、108A108P、604A604H相关联的多个优先级610A610H在所述多个应用模块104A104M、106A106N、108A108P、604A604H中分配所述资源110A110R、602A602D的处理能力以导致所述资源110A110R、602A602D的负载水平与参考利用水平608大致相等的装置506。13如权利要求12所述的系统,其特征在于,所述参考利用水平与包括所述资源的多个资源相关联。14如权利要求12所述的系统,其特征在于,还包括用于响应于从第二应用模块。

8、处接收对更多的资源处理能力的请求,基于与所述第二应用模块相关联的第二优先级高于与所述第一应用模块相关联的第一优先级,将所述资源处理能力的一部分从所述多个应用模块的所述第一应用模块转移到所述多个应用模块的所述第二应用模块的装置。15如权利要求12所述的系统,其特征在于,所述用于分配的装置被配置为导致所述资源的平均负载水平与参考利用水平大致相等。权利要求书CN102378962ACN102378972A1/9页4基于优先级的系统负载水平管理0001发明背景发明领域0002本发明一般地涉及到系统负载水平的管理。0003背景0004诸如企业数据中心之类的计算机系统通常包括应用程序在其上执行的多个服务器。

9、。服务器通常以相对较低的效率操作。例如,一些服务器仅有1030的负载。虚拟化可用于通过将虚拟机分配给服务器来提高效率,但是如果所分配的虚拟机不忙时每个服务器仍仅有1030的负载。此外,对应用的需求随着时间变化,这导致了服务器负载的波动。0005尽管通常需要以相对较高的效率操作服务器,但是以相对较低的效率运行服务器可以利于适应应用需求的潜在增长。如果服务器的效率被设置得太高,则服务器不能够适应应用增长的需求。例如,无法适应增长的需求可导致服务器变得不响应由应用提出的某些请求。另一方面,如果服务器的效率被设置得太低,则服务器可低于适应应用的增长的需求的必要效率地操作。0006提出的一个用于管理服务。

10、器的负载水平的技术是转移应用的需求至另一个服务器以减少需求从其中转移的服务器的负载。但是,这一提出的技术需要大量的时间和精力。例如,搜索以找到具有可用于适应应用需求的充足资源的服务器是必要的。一旦找到这一服务器,可以使用过程以转移需求,等等。0007概述0008本文描述了用于管理计算机系统资源的系统、方法和计算机程序。可以跨多个计算机系统资源例如,处理器、服务器等分配多个模块例如,虚拟机、SQL服务器实例、或其它应用。每个模块被分配优先级。此外,指定的利用水平被分配给计算机系统的每个资源。每个资源支持一个或多个模块,并且根据对应的分配的优先级对所支持的模块的操作区分优先级。此外,每个资源在指定。

11、的利用水平下维护所支持的模块的总体操作。0009在示例方法中,接收利用指示符。利用指示符指示与处理系统的资源相关联的参考利用水平。管理每个资源以将负载水平维护为与参考利用水平大致相等。基于参考利用水平以及与应用模块相关的优先级,在执行于资源上的应用模块中分配每个资源的处理能力。0010在另一个示例方法中,由处理系统的资源接收参考利用水平。应用模块在资源上执行。基于与应用模块相关联的优先级在应用模块中分配资源的处理能力,以导致资源的负载水平与参考利用水平大致相等。0011还描述了计算机程序产品。计算机程序产品包括具有记录于其上的用于使基于处理器的系统能够管理资源的计算机程序逻辑的计算机可读介质。。

12、计算机程序产品包括第一和第二程序逻辑模块。第一程序逻辑模块用于使基于处理器的系统能够在资源上执行应用模块。第二程序逻辑模块用于基于与应用模块相关联的优先级,使基于处理器的系统能够在应用模块中分配资源的处理能力,以导致资源的负载水平与参考利用水平大致相等。说明书CN102378962ACN102378972A2/9页50012提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键或必要特征,也不旨在用于限定所要求保护的主题的范围。此外,注意到本发明不限于在详细描述和/或本文的其它章节中所述的特定实施例。本文呈现这些实施例仅用于说明性的用途。。

13、基于本文所包含的描述,其它实施例对于相关领域的技术人员将是显而易见的。0013附图简述0014本文结合的并且组成本说明书的一部分的附图,与描述一起示出本发明,并且进一步用于解释本发明的原理以及使相关领域的技术人员能够实现和使用本发明。0015图1是依照本发明的实施例的示例处理系统的框图。0016图2示出依照本发明的实施例的用于管理处理系统的方法的流程图。0017图3是依照本发明的实施例的图1所示的负载水平管理系统的示例实现的框图。0018图4示出依照本发明的实施例的用于管理资源的方法的流程图。0019图5是依照本发明的实施例的图1所示的资源的示例实现的框图。0020图6示出依照本发明的实施例的。

14、具有被管理的负载水平的多个资源。0021图7示出其中可以实现本发明的各实施例的计算机的示例性实现。0022当结合其中相同的参考字符标识对应的元素的附图时,本发明的特征和优点将从以下阐述的详细描述中变得更加显而易见。在附图中,相同的参考标号一般指相同的、功能上相似的和/或结构上相似的元素。其中元素第一次出现的附图由对应的参考标号中最左侧的数字指示。0023详细描述0024I序论0025以下详细描述参考示出本发明的示例性实施例的附图。但是,本发明的范围不限于这些实施例,而是由所附权利要求书定义。因此,诸如所示实施例的修改版本之类的在附图所示之外的实施例仍然由本发明所包含。0026本说明书中对“一个。

15、实施例”、“实施例”、“示例实施例”等的参考,指的是所述实施例可包括具体的特征、结构或特点,但是每个实施例不一定包括该具体的特征、结构或特点。此外,这些短语不一定指相同的实施例。此外,当结合实施例描述具体的特征、结构或特点时,可认为结合明确描述或者没有明确描述的其它实施例来实现这些特征、结构或特点是在本领域的技术人员的知识之内的。0027II基于优先级的系统负载水平管理的示例实施例0028本发明的实施例能够管理计算机系统资源。可以跨多个计算机系统资源例如,处理器、服务器等分配模块例如,虚拟机、SQL服务器实例、或其它应用。每个模块被分配优先级,该优先级指示该模块相对于其它模块的优先级。此外,指。

16、定的利用水平被分配给计算机系统的每个资源。每个资源支持一个或多个模块,并且根据对应的分配的优先级水平对所支持的模块的操作区分优先级。此外,每个资源在指定的利用水平下维护所支持的模块的操作。用这一方式,可以实现对资源的更有效的利用。0029图1是依照实施例的示例处理系统100的框图。处理系统100包括负载水平管理系统102、多个资源110A110R以及管理ADMIN系统112。每个资源110支持一个或多个应用。例如,第一资源110A支持应用模块104A104M,第二资源110B支持应用模块说明书CN102378962ACN102378972A3/9页6106A106N,等等。0030管理系统11。

17、2被配置为向负载水平管理系统102提供利用指示符114。利用指示符114是处理系统100的资源110的参考利用指示。例如,负载水平管理系统102可使用利用指示符114来确定与处理系统100的资源110相关联的参考利用水平。例如,参考利用水平可与资源110中每一个的目标负载水平相对应。0031管理系统110可进一步被配置为向负载管理系统102提供一个或多个优先级指示符,或者可用其它方式提供优先级指示符。优先级指示符是应用模块104A104M、106A106N等中的一个的优先级指示,其指示了特定应用模块相对于其它模块的优先级。例如,管理系统112可响应于管理系统112的用户通过WEB浏览器116或。

18、管理系统112处的其它用户界面选择相应的利用水平和/或优先级,提供利用指示符114和/或优先级指示符。负载水平管理系统102可以将优先级指示符转发给一个或多个资源110以用于进一步处理。0032负载水平管理系统102被配置为管理资源110,从而使每个资源的负载水平与参考利用水平大致相等。例如,负载水平管理系统102可被配置为基于从每个资源110接收的负载水平指示符来确定每个资源110的瞬时或平均负载水平。负载水平管理系统102可将资源110的瞬时或平均负载水平与参考利用水平作比较以确定是否增加或减少该资源110的负载水平,从而使资源110的负载水平与参考利用水平大致相等在另一个实施例中,负载水。

19、平管理系统102向每个资源110提供参考利用水平,并且每个资源110被配置为维护其负载水平与参考利用水平大致相等。0033应用模块104A104M、106A106N等被配置为执行消耗应用模块与之相关联的相应资源110A110R的处理能力的操作。例如,应用模块104A104M消耗第一资源110A的处理能力,应用模块106A106N消耗第二资源110B的处理能力,等等。应用模块104的示例包括但不限于,软件应用、虚拟机、SQL服务器实例等等。0034资源110A110R被配置为提供处理能力以便于由相应的应用模块104A104M、106N等执行的操作。示例资源110包括但不限于,服务器、处理器、多个。

20、处理器等。0035在第一示例实施例中,应用模块104A104M、106A106N等被实现为虚拟机,并且资源110A110R被实现为处理器。例如,处理器可基于相应虚拟机的优先级来在虚拟机中分配其处理能力,以导致处理器的负载水平大致等于同处理器相关联的参考利用水平。0036在第二示例实施例中,应用模块104A104M、106A106N等被实现为SQL服务器实例,并且资源110A110R被实现为服务器。例如,服务器可基于相应SQL服务器实例的优先级来在SQL服务器实例中分配其处理能力,以导致服务器的负载水平大致等于同服务器相关联的参考利用水平。0037这些示例实施例是仅出于说明的目的来提供的,并且不。

21、旨在进行限制。相关领域的技术人员将认识到应用模块104A104M、106A106N等可被实现为任意合适类型的模块。将进一步认识到,资源110A110R可以是能够提供处理能力以便于由相应的应用模块104A104M、106A106N等执行的操作的任意合适类型的资源。0038图2示出依照实施例的用于管理处理系统的方法的流程图200。流程图200可以由例如图1所示的负载水平管理系统102执行。为了说明的目的,根据实施例,关于图3所示的负载水平管理系统102描述了流程图200,负载水平管理系统102是负载水平管理系统102的示例。如图3所示,负载水平管理系统102包括接口模块302和管理模块304。说明。

22、书CN102378962ACN102378972A4/9页7基于有关流程图200的讨论,进一步的结构及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图200如下。0039如图2所示,流程图200的方法在步骤202处开始。在步骤202处,接收指示与处理系统的多个资源相关联的参考利用水平的利用指示符。例如,接口模块302可接收利用指示符。在实施例中,管理系统112被配置为提供用户界面元素以使得能够选择参考利用水平。接口模块320可响应于用户通过用户界面元素选择参考利用水平,来接收利用指示符114。0040根据实施例,管理系统112可被配置为提供用户界面元素以使得能够选择与应用模块104。

23、A104M、106A106N等相关联的优先级中的一个或多个。接口模块320可响应于用户通过用户界面元素选择优先级,来接收与相应的优先级相对应的优先级指示符。上述的用户界面元素中的每一个可以是基于文本的界面元素、图形界面元素例如,弹出式、下拉式、或等效菜单、或其它用户界面元素。0041在步骤204处,管理处理系统的资源以将每个资源的负载水平维护为与参考利用水平大致相等。例如,管理模块304可管理处理系统的资源。依照这一示例,管理模块304可向处理系统100的相应资源110A110R提供维护指示符306A306R。维护指示符306A306R是资源110的负载水平维护指示。例如,每个资源110可使用。

24、相应的维护指示符306来确定是增加还是减少该资源110的负载水平来将资源110的负载水平维护为与参考利用水平大致相等。例如,每个资源110可被配置为将当前负载水平与由参考利用水平所指示的负载水平作比较,并且根据当前负载水平与参考利用水平之间的任何确定的差异来调节负载水平。0042在示例实现中,可管理处理系统的资源以将每个资源的平均负载水平维护为与参考利用水平大致相等。例如,可以跨几分之一秒、数秒钟、数分钟、数小时等来平均负载水平。0043基于参考利用水平以及与应用模块相关联的优先级,在执行在资源上的多个应用模块中分配每个资源的处理能力。例如,可在执行在第一资源上的第一多个应用模块中分配第一资源。

25、的处理能力。可在执行在第二资源上的第二多个应用模块中分配第二资源的处理能力,等等。例如,可为具有相对较高优先级的应用模块分配比具有相对较低优先级的应用模块更多的资源处理能力。在另一个示例中,可为具有相对较低优先级的应用模块分配比具有相对较高优先级的应用模块更少的资源处理能力。0044图4示出依照实施例的用于管理资源的方法的流程图400。流程图400可以由例如图1所示的资源110A110R中的任一个来执行。为了说明的目的,根据实施例,关于图5所示的资源110描述了流程图400,资源110是资源110的示例。如图5所示,资源110包括接收模块502、执行模块504、以及分配模块506。基于有关流程。

26、图400的讨论,进一步的结构及操作的实施例对于相关领域的技术人员将是显而易见的。描述流程图400如下。0045如图4所示,流程图400的方法在步骤402处开始。在步骤402处,接收参考利用水平。例如,接收模块502可通过维护指示符306或其它指示符来接收利用水平。0046在步骤404处,在处理系统的资源上执行多个应用模块。例如,执行模块504可以在资源上执行多个应用模块。例如,资源可是资源110。0047在步骤406处,基于与多个应用模块相关联的多个优先级在多个应用模块中分配说明书CN102378962ACN102378972A5/9页8资源的处理能力,以导致资源的负载水平与参考利用水平大致相。

27、等。例如,分配模块506可在多个应用模块中分配资源的处理能力。分配模块506可从接收模块502处接收维护指示符306。例如,分配模块506可使用维护指示符306来确定资源总处理能力的数量来在多个应用模块中分配,以导致资源的负载水平与参考利用水平大致相等。0048分配模块506可使用多个优先级来确定所确定的总处理能力的数量的一部分以分配给相应的应用模块。例如,分配模块506可基于与第一应用模块相关联的第一优先级,将所确定数量的第一部分分配给第一应用模块。分配模块506可基于与第二应用模块相关联的第二优先级,将所确定数量的第二部分分配给第二应用模块,等等。0049在实施例中,接收模块502可接收指。

28、示在资源上执行的模块的优先级的优先级指示符。可在例如从负载水平管理系统102处接收的维护指示符306中指示优先级指示符。接收模块502可将优先级指示符或由优先级指示符指示的优先级转发给分配模块506以用于进一步处理。替代地,每个模块502可在先前已被分配过相应的优先级。0050分配模块506可将资源110的处理能力从具有第一优先级的第一应用模块转移到具有比第一优先级高的第二优先级的第二应用模块,以便于资源110的处理能力可用于第二应用模块。在示例实现中,分配模块506可被配置为基于第二优先级超过第一优先级,在接收来自第二应用模块的请求508后,将处理能力从第一应用模块自动地转移到第二应用模块。。

29、例如,分配模块506可将第一应用模块的负载级别设置为接近于0,以便于处理能力的可用性。0051可在任意时刻改变相应的应用模块的优先级以及参考利用水平。例如,参考图3,负载水平管理系统102的接口模块302可接收经修订的优先级指示符,该指示符指示相应的至少一个应用模块的至少一个经修订的优先级。负载水平管理系统102的管理模块304可通过维护指示符306向接收模块502提供至少一个经修订的优先级的指示。资源110的分配模块506可基于至少一个经修订的优先级,在多个应用模块中分配资源的处理能力。0052在另一个示例中,负载水平管理系统102的接口模块302可接收经修改的利用指示符,其指示与资源110。

30、相关联的经修订的参考利用水平。负载水平管理系统102的管理模块304可通过维护指示符306向接收模块502提供经修订的利用水平的指示。资源110的分配模块506可基于经修订的参考利用水平,在多个应用模块中分配资源的处理能力。响应于改变的优先级和/或改变的利用水平,可按比例调节分配给相应应用模块的资源部分0053在一方面,例如可响应于用户通过用户界面元素在进行中修改参考利用水平,来接收经修订的利用指示符。在另一方面,可依照预定调度来接收经修订的参考利用水平。例如,参考利用水平可被设置为指示一天中的第一时间的相对较低的利用水平。参考利用水平可被修订为指示一天中的第二时间的相对较高的利用水平。因此,。

31、分配模块506可在多个应用模块中分配资源110的处理能力以在第一时间和第二时间之间的时间段中导致资源110的负载水平与相对较低的利用水平大致相等。分配模块506可在多个应用模块中重新分配资源110的处理能力以在第二时间之后的时间段中导致资源110的负载水平与相对较高的利用水平大致相等。0054图6示出依照实施例的具有管理的负载水平的多个资源602。为了说明的目的,资源602被示为中央处理单元CPU,并且不旨在进行限制。例如,资源602A602D可表示说明书CN102378962ACN102378972A6/9页9常见插座中相应的处理器核,尽管本文描述的实施例的范围不限于这一方面。将意识到资源可。

32、以是处理器、服务器等。如图6所示,每个资源602被管理为具有与参考利用水平608大致相等的负载水平,为了说明的目的,参考利用水平608被示为65。参考利用水平608可以被设为从0到100范围内的任何合适的水平。0055资源602执行应用模块604,为了说明的目的将应用模块604描述为虚拟机。相关领域的技术人员将认识到应用模块604可以是虚拟机、SQL服务器实例等。如图6所示,在资源602A上执行应用模块604A和604B。在资源602B上执行应用模块604C和604D。在资源602C上执行应用模块604E、604F和604G。在资源602D上执行应用模块604H。每个资源602可执行任意数量的。

33、应用模块604。例如,资源602可执行成百或上千的模块。0056每个应用模块604被分配优先级610,这一优先级610指示该模块相对于其它模块的优先级。为了说明的目的在图6中示出优先级610为数值,尽管将认识到优先级610可基于任意合适的数值范围。例如,优先级610可以是从1到指定数值例如,10、50、10000等的范围内的数值。在另一个示例中,优先级610可具有“高”、“中”或“低”的值。具有相对较高的优先级610的应用模块604可被认为具有相对较高的商业影响;反之,具有相对较低的优先级610的应用模块604可被认为具有相对较低的商业影响。例如,为商业执行关键或时间敏感的操作的应用模块604。

34、可被分配相对较高的优先级610。在另一个示例中,执行既不关键也非时间敏感的操作的应用模块604可被分配相对较低的优先级610。0057例如,服务在线广告来为商业生成收益的前端WEB服务器或广告服务器可与相对较高的优先级610相关联。执行诸如日志运送、搜索爬行或在因特网上检查信息等的后端服务的应用模块604可与相对较低的优先级610相关联。例如,等待数小时或者直到一天的最后来执行这些后端服务不会对商业造成本质的影响。0058每个资源602根据对应分配的优先级610,来对在该资源602上执行的应用模块604的操作区分优先级。例如,资源602A根据优先级610A对应用模块604A的操作区分优先级。资。

35、源602A根据优先级610B对应用模块604B的操作区分优先级,等等。当来自较高优先级模块604的对处理能力的请求接近尾声时,较低优先级模块604可在进行中动态地“唤醒”以执行其操作,从而利用与模块604相关联的资源602的处理能力。在一方面,响应于资源602确定来自较高优先级模块604的对处理能力的请求接近尾声,资源602可向较低优先级模块604提供指令以唤醒该模块604。在接收来自较高优先级模块604的对处理能力的请求后,资源602可将资源602的处理能力转移回较高优先级模块604。事实上,资源可使较低优先级模块604离线即到达0的处理能力分配以便于使所请求的处理能力用于较高优先级模块60。

36、4。0059执行处理能力在应用模块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。

37、的处理能力是105565,这等于参考利用水平608。说明书CN102378962ACN102378972A7/9页100060具有相对较高优先级610的应用模块604不必要消耗在其上执行应用模块604的资源602的处理能力的相对较高的比例。例如,示出应用模块604D和604G为消耗相应的资源602B和602C的相对很少的处理能力,尽管这些应用模块中的每一个都与相对较高的优先级610D、610G相关联。例如,应用模块604D具有7950的优先级610D以及资源602B的20的处理能力分配。在另一个示例中,应用模块604G具有8300的优先级710G以及资源602C的25的处理能力分配。0061应。

38、当注意到资源602可被配置为在由较高优先级模块604请求处理能力的时候,将该处理能力从较低优先级模块604转移到较高优先级模块604。例如,依照本文描述的实施例,资源602可在由应用模块604D请求处理能力时,将资源从应用模块604C转移到应用模块604D。在另一个示例中,依照本文描述的实施例,资源602可在由应用模块604G请求处理能力时,将该处理能力从应用模块604E和604F中的至少一个转移到应用模块604G。0062图7示出其中可实现各实施例的计算机700的示例性实现。图1所示的负载水平管理系统102、资源104、管理系统112、或图6所示的资源602中的任意一个或多个可与计算机700。

39、类似地实现,包括一个或多个计算机700的特征和/或替代特征。计算机700可以是例如常规个人计算机、移动计算机或工作站形式的通用计算设备,或者,计算机700可以是特殊用途的计算设备。此处所提供的对计算机700的描述只是为了说明,并不是限制性的。实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。0063如图7所示,计算机700包括处理单元702、系统存储器704,以及将包括系统存储器704的各种系统组件耦合到处理单元702的总线706。系统总线706表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线体系结构。

40、中的任何一种的处理器或局部总线。系统存储器704包括只读存储器ROM708和随机存取存储器RAM710。基本输入/输出系统712BIOS存储在ROM708中。0064计算机700还具有一个或多个以下驱动器用于读写硬盘的硬盘驱动器714、用于读或写可移动磁盘718的磁盘驱动器716、以及用于读或写诸如CDROM、DVDROM或其他光介质之类的可移动光盘722的光盘驱动器720。硬盘驱动器714、磁盘驱动器716,以及光驱动器720分别通过硬盘驱动器接口724、磁盘驱动器接口726,以及光学驱动器接口728连接到系统总线706。驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数。

41、据结构、程序模块,及其他数据的非易失存储器。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器RAM、只读存储器ROM等等之类的其他类型的计算机可读介质来存储数据。0065数个程序模块可被存储在硬盘、磁盘、光盘、ROM,或RAM上。这些程序包括操作系统730、一个或多个应用程序732、其他程序模块734,以及程序数据736。例如,如本文所述,应用程序732或程序模块734可包括用于实现负载水平管理系统102的计算机程序逻辑、应用模块104、106、108等、管理系统112、接口模块302、管理模块304、接收模块502、执行模块504、分配模块506。

42、、应用模块604、流程图200包括流程图200的任何步骤和/或流程图400包括流程图400的任何步骤。0066用户可以通过诸如键盘738和定点设备740之类的输入设备向计算机700中输入命令和信息。其他输入设备未示出可包括话筒、游戏杆、游戏手柄、圆盘式卫星天线、扫说明书CN102378962ACN102378972A8/9页11描仪等。这些及其他输入设备常常通过耦合到总线706的串行端口接口742连接到处理单元702,但是,也可以通过其他接口,诸如并行端口、游戏端口、通用串行总线USB端口,来进行连接。0067监视器744或其他类型的显示设备也可以经由诸如视频适配器746之类的接口来连接到系统。

43、总线706。除了监视器之外,计算机700还可包括其他外围输出设备未示出,如扬声器和打印机。0068计算机700通过网络接口或适配器750、调制解调器752、或用于通过网络建立通信的其他装置连接到网络748例如,因特网。调制解调器752可以是内置的或外置的,通过串行端口接口742连接到系统总线706。0069如此处所用的,术语“计算机程序介质”以及“计算机可读介质”被用于泛指介质,诸如与硬盘驱动器714相关联的硬盘、可移动磁盘718、可移动光盘722,以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器RAM、只读存储器ROM等。0070如上文所指示的,计算机程序和模块包括应用程序732及其他程。

44、序模块734可以存储在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程序也可以通过网络接口750或串行端口接口742来接收。这样的计算机程序,当由应用程序执行或加载时,使得计算机700能实现此处所讨论的本发明的特征。相应地,这样的计算机程序表示计算机700的控制器。0071实施例还涉及包括存储在任何计算机可用介质上的软件的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。本发明的各实施例使用现在已知的或将来已知的任何计算机可使用或计算机可读介质。计算机可读介质的示例包括,但不仅限于,诸如RAM、硬盘驱动器、软盘、CDROM、DVDROM、Z。

45、IP磁盘、磁带、磁存储设备、光存储设备、MEM存储器、基于纳米技术的存储设备等等之类的存储设备。0072与传统的负载水平管理技术比较,本文所述的实施例具有各种益处。例如,基于与模块相关联的优先级,实施例可有利地在执行于资源上的应用模块例如,虚拟机、SQL服务器实例或其它应用中分配资源例如,处理器、服务器等的处理能力以实现指定的系统负载水平。例如,实施例可分配处理能力,以导致资源的负载水平与参考利用水平大致相等。基于常见的参考利用水平或不同的相应的参考利用水平,可以管理相应的资源的负载水平。0073依照一些实施例,应用模块不需要从一个资源移动到另一个以适应应用模块的变化的负载水平。相反,基于与应。

46、用模块相关联的优先级,可在执行于资源上的应用模块中分配资源的处理能力,以导致每个资源的负载水平与参考利用水平大致相等。0074本文所述的实施例是为了说明的目的参考在处理系统的资源上执行的应用模块所描述的,并且不旨在进行限制。相关领域的技术人员将认识到本文所述的负载水平管理技术可用于各种其它环境中。例如,本技术可用于基于与设备相关联的优先级来在多个软件和/或硬件设备中分配一个或多个非易失性存储设备例如,硬盘驱动器或其分区、存储器设备等的输入/输出I/O能力,以导致每个非易失性存储设备的负载水平与参考利用水平大致相等。在另一个实例中,本技术可用于管理与多个主机例如,计算机通信的资源的负载水平。依照。

47、分配给其的优先级,可在多个主机中分配资源的处理能力,从而使资源的负载水平与参考利用水平大致相等。说明书CN102378962ACN102378972A9/9页120075III结论0076尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。说明书CN102378962ACN102378972A1/7页13图1说明书附图CN102378962ACN102378972A2/7页14图2说明书附图CN102378962ACN102378972A3/7页15图3说明书附图CN102378962ACN102378972A4/7页16图4说明书附图CN102378962ACN102378972A5/7页17图5说明书附图CN102378962ACN102378972A6/7页18图6说明书附图CN102378962ACN102378972A7/7页19图7说明书附图CN102378962A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1