CN101169741A - 确定作业的调度优先级的方法和系统 - Google Patents
确定作业的调度优先级的方法和系统 Download PDFInfo
- Publication number
- CN101169741A CN101169741A CNA200710167436XA CN200710167436A CN101169741A CN 101169741 A CN101169741 A CN 101169741A CN A200710167436X A CNA200710167436X A CN A200710167436XA CN 200710167436 A CN200710167436 A CN 200710167436A CN 101169741 A CN101169741 A CN 101169741A
- Authority
- CN
- China
- Prior art keywords
- resource type
- management resource
- share
- user
- institute
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 87
- 238000009825 accumulation Methods 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims 5
- 108090000623 proteins and genes Proteins 0.000 description 23
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002238 attenuated effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical compound CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
- G06Q50/188—Electronic negotiation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32258—Resource, machine assignment preferences, actual and anticipated load
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32418—Machine workload balance, same tools for pool of machines for same operations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Operations Research (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Technology Law (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
提供了一种用于在具有众多所管理资源类型的集群化处理环境中确定环同类型的作业的调度优先级以便利于工作负荷管理的技术。所述技术包括将多个所管理资源类型的份额分配给所述集群化处理环境中的用户和用户组。所述技术还包括针对所述用户或用户组所提交的后续作业指派作业优先级,其中所计算的作业优先级是基于所述后续作业的类型属性和所述用户或用户组的所述多个所管理资源类型中的至少一个所管理资源类型的剩余份额的数量。
Description
技术领域
本发明一般涉及合理的份额调度(fair share scheduling),并且具体地涉及确定作业调度优先级用于合理的份额调度,其是基于处理环境中单个用户的多种类型的所管理资源的使用量。
背景技术
合理的份额调度是工作负荷管理产品中的功能特征。在诸如集群化环境之类的分布式处理环境中,工作负荷管理软件产品被用于调度用户程序或作业以在所述环境中的各种机器上运行。合理的份额调度使决策朝着下面的方向进行:根据预定义的比例在用户或用户组之间分配处理环境的处理资源。
在合理的份额调度中,用户或用户组被分配某个比例的环境资源,并且所述用户或用户组的作业调度优先级依赖于与所有用户或用户组所使用的资源相比而言所述用户或用户组所使用的资源量。因此,一个用户或用户组的作业调度优先级依赖于其它用户所消耗的资源量。资源的比例常常被表述为占总计资源使用量的百分比。
这种基于其它用户的资源消耗的调度可能产生针对单个用户的不稳定和不理想的作业调度。这种调度可能是不稳定的,因为它依赖于可能在任何时间点处发生急剧变化的其它用户的工作负荷。同样,它是不理想的,因为用户作业的调度是基于其它用户的资源消耗来进行的。
在合理的份额调度中,历史的资源使用量随着时间而衰减,从而使最近所使用的资源对调度决策具有更大的影响。必需有一种用于记录并衰减历史的资源使用量的机制,并且它常常是通过一种在许多有限长度的近期时间间隔上的逐步衰减函数来实现。对于具有许多用户的集群,大量历史的资源使用量数据可能需要被跟踪。
发明内容
基于前面所述内容,存在下述需求,即,对于单个用户或用户组而言更稳定且合理的增强的合理的份额调度能力。同样,存在下述需求,即,使衰减机制简化并使要跟踪的历史的资源使用量数据的量最小的方法。此外,还存在下述需求,即,对不同作业类型进行合理的份额调度,所述不同作业类型可以以不同的比例使用处理环境的一种或多种类型的资源。
通过提供一种在具有多个耦合的处理单元的集群化处理环境中确定不同类型作业的调度优先级的方法以便利于工作负荷管理,克服了现有技术的缺点并提供了另外的优点。所述方法包括例如将集群化处理环境中的众多所管理资源类型中的多个所管理资源类型中的每个所管理资源类型的一个或多个份额分配给所述集群化处理环境中的至少一个用户实体。所述方法还包括针对所述至少一个用户实体中的一个用户实体所提交的后续作业指派作业优先级,其中所述作业优先级是基于所述后续作业的类型属性以及所述用户实体的所述多个所管理资源类型中的至少一个所管理资源类型的剩余份额的数量。
在此还描述并要求保护对应于上面所概述的方法的系统和计算机程序产品。
通过本发明的技术实现了另外的特征和优点。本发明的其它实施例以及方面在此被详细地描述并被认为是所要求保护的本发明的一部分。
附图说明
本发明的一个或多个方面被特别地指出来并且在本说明书的结尾处在权利要求中作为例子被明确地要求保护。参照以下结合附图所做的详细描述,本发明的前述以及其它对象、特征、和优点是显而易见的,在附图中:
图1描绘了并入并使用本发明的一个或多个方面的处理环境的一个实施例;
图2描绘了根据本发明的一个方面的针对混合的机器集群的合理的份额调度的初始化过程的流程图;
图3描绘了根据本发明的一个方面的、在集群化处理环境里确定作业调度优先级以便利于工作负荷管理的一个实施例里与所管理资源类型相关联的数据的例子;
图4描绘了根据本发明的一个方面的、在集群化处理环境里确定作业调度优先级以便利于工作负荷管理的一个实施例里与所管理资源类型相关联的数据的另一例子;
图5描绘了根据本发明的一个方面的被用于将所管理资源类型的份额分配给用户实体的逻辑的一个实施例;
图6描绘了根据本发明的一个方面的、用于在集群化处理环境里确定作业调度优先级用于对多种资源类型进行合理的份额调度的过程的若干方面;
图7描绘了根据本发明的一个方面的、在集群化处理环境中利用确定作业调度优先级的技术对作业进行合理的份额调度的过程的一个实施例;
图8描绘了根据本发明的一个方面的与更新作业等待队列中的作业调度相关联的逻辑的一个实施例;
图9描绘了根据本发明的一个方面的资源类型量随时间的衰减值;
图10是根据本发明的一个方面的对资源类型量随时间的衰减值的另一描绘;
图11描绘了根据本发明的一个方面的、与累积资源类型使用量用于合理的份额调度相关联的逻辑的一个实施例;以及
图12描绘了并入本发明的一个或多个方面的计算机程序产品的一个例子。
具体实施方式
本发明的一个方面提供合理的份额调度,用于在具有多种类型的资源和多种作业类型的混合集群处理环境中进行工作负荷管理。针对每类待管理的资源,在混合的机器集群中可用的每类资源的量被划分成许多总计份额(total shares)。针对每类所管理的资源,使用所述集群的每个用户或组可以被分配某种数量的总计份额。每个用户和组针对每类所管理的资源的使用量被跟踪并被转换成已使用的份额。对于每个用户和组,针对每类资源的已使用的份额和已分配的份额的数量被用于朝着合理的份额调度的方向来影响作业调度优先级。因为不同的作业类型可以以不同的比例利用所述集群化处理环境中的所管理的资源类型,所以等待执行的已排队作业的作业类型被用作确定已排队作业的作业调度优先级的一个因素。
根据本发明的一个方面,提供了一种合理的份额调度能力,其能实现对单个用户或用户组的作业的稳定且合理的调度。所述调度除了取决于对于所述单个用户或用户组的资源分配和使用量外还取决于作业的类型(其可以指示出执行时所需的资源类型),而不是取决于对于其他用户或用户组的资源分配和资源使用量。对混合处理环境中的每类可用资源的度量被划分成许多份额。这些所管理的资源是被配置用于所述环境且可供使用的资源,而独立于资源消耗。每个所管理的资源类型的份额的一部分被分配给用户或用户组。接着,所述用户或用户组的待执行的每个作业被指派作业执行调度优先级。此优先级是基于用户或组针对每类所管理的资源的分配当前剩余多少份额。所确定的优先级独立于混合集群化处理环境中其他用户对所管理的资源的使用量。
因为与所分配的份额的数量相比,用户所提交的作业的调度优先级更受所述用户或所述用户所归属的用户组所使用的所管理资源的份额数量的影响,所以所述用户或用户组的资源使用量被跟踪和累积。此外,根据本发明的一个方面,指数衰减机制被应用到所累积的资源使用量数据,目的是给予近期的使用量较多的权重而给予过去较久的使用量较少的权重,从而,与受在更早时间处的过去使用量的影响相比,作业调度优先级更多地受所管理资源的近期使用量的影响。
参考图1描述了并入并使用本发明的一个或多个方面的处理环境的一个实施例。在一个例子中,所述处理环境是诸如集群化计算环境之类的分布式处理环境,其中所述环境的资源被共享以执行系统任务。一个示例性的集群化处理环境是混合集群化处理环境,其中处理器集群包括具有不同资源类型的处理器。虽然在此将集群化环境描述为并入并使用本发明的一个或多个方面,但是包括非集群化处理环境的其它类型的环境也可以从本发明的一个或多个方面受益。
图1描绘了集群化处理环境100,其包括例如经由一个或多个连接104彼此耦合的多个处理单元102。连接104包括但是不限于有线连接、无线连接或任何类型的网络连接,诸如局域网(LAN)、广域网(WAN)、令牌环、以太网连接等等。
所述处理单元可以包括例如个人计算机、膝上计算机、工作站、服务器、大型机、袖珍型计算机或任何其它类型的处理单元。作为一个具体例子,一个或多个所述处理单元是纽约Armonk的国际商业机器公司所提供的pSeries服务器,而所述混合集群化处理环境的一个或多个其它处理单元是纽约Armonk的国际商业机器公司所提供的Blue Gene系统(“pSeries”和“Blue Gene”是纽约Armonk的国际商业机器公司的注册商标)。每个处理单元可以是与另一个处理单元相同或者不同类型的处理单元。在一个例子中,不同处理单元包括不同的资源类型。在一个例子中,每个处理单元执行操作系统106,诸如LINUX、或由国际商业机器公司所提供的AIX(“AIX”是纽约Armonk的国际商业机器公司的注册商标)。一个处理单元的操作系统可以与另一个处理单元相同或者不同。此外,在其它例子中,一个或多个所述处理单元可以不包括操作系统。
根据本发明的一个方面,一个或多个所述处理单元(在此被称为管理器)执行作业调度器108。作业调度器108是例如负责调度用户实体的作业的程序。如在此所使用,术语“用户实体”是指用户或用户组。所述作业调度器通过使用合理的份额调度技术来调度所述作业。另外,所述处理单元包括处理器间通信单元110,其便利于管理器与所述集群化处理环境的其它处理单元之间的通信,其中所述其它处理单元包括位于所述作业调度器所管理的混合集群化处理环境中的多个所管理资源类型中的至少一个所管理资源类型。处理器间通信单元的例子包括以太网调制解调器、令牌环调制解调器、其它LAN调制解调器、其它WAN调制解调器、以及无线网络调制解调器。
在具有许多被用来运行用户程序或作业的计算机器的集群中,工作负荷管理软件可包括根据本发明的一个方面的合理的份额调度的实施例,以便利于对所述集群化处理环境中将在所有用户和用户组之间合理地进行分配的计算资源的合理利用。在高层次上,合理的份额调度收集资源使用量信息,并使用此信息来以管理或调节每个用户或用户组对资源的使用的方式确定作业调度优先级,目的是给每个用户实体提供理想的资源使用量比例。
在计算机器集群中,存在许多种类的计算资源。每个机器可以具有例如处理器、存储器、网络带宽、以及存储设备。集群还可以包括不同类型的计算机器。虽然合理的份额调度可以管理像中央处理单元(CPU)这样的一类资源,但是其不限于管理仅仅一类资源。例如,合理的份额调度可以通过将不同的权重附着到每个资源上来处理各资源的组合,诸如以例如“2×CPU+1×存储器”的方式来处理CPU和存储器的组合。将通过合理的份额调度来管理的各类、类型的资源或资源组合可以由具有管理权限的集群化处理环境中的用户来选择。
本发明的一个方面提供用于多种资源类型的合理的份额调度机制。如果所述资源类型基本上相互独立(例如因为所述资源由类型大不相同的机器所提供的原因),则这可能是理想的。例如,虽然IBM Blue Gene系统和Linux或AIX机器提供不同类型的资源,但是混合集群化处理环境可以包括一个IBM Blue Gene系统和许多Linux或AIX机器。根据本发明的一个方面,用于多种资源类型的合理的份额调度机制还可被用于管理在相同机器的同质集群中的不同资源,例如CPU和存储器。某些用户程序可能是CPU密集型的,而其它用户程序可能是存储器密集型的。在这种例子中,根据单独的CPU和存储器使用量来确定作业优先级可能是有利的。此外,所管理的资源的类型可能是诸如CPU资源之类的简单类型或像各种资源的组合这样的复合类型。
图2图示了用于对混合机器集群进行合理的份额调度的初始化过程的一个实施例的流程图。图2的所述初始化过程包括:例如,获得集群资源的类型的指示以在合理的份额调度下进行管理(步骤201)。混合集群化处理环境中的已授权用户(诸如管理员)可以输入所述集群的资源类型以基于所述合理的份额调度的期望目的来进行管理。图2的初始化过程包括对总计份额数量的指示,在步骤202中将把每类所管理的资源划分为所述份额。可影响用于每类所管理资源的总计份额的数量的因素包括份额分配的方便性以及对每类所管理资源的资源使用量改变的所期望的敏感度。在图2的初始化的步骤203中,获得每类集群资源将有显著影响的持续时间的指示。例如,对持续时间的这种指示可包括时间常数,其表征了被应用到所管理资源类型的所测量的使用的衰减函数。在另一个例子中,持续时间的指示可包括时间间隔。在一个实施例中,每类资源可具有它自己的衰减特性。图2的初始化过程还包括:获得指示了被分配给每个用户实体的每类所管理的资源的份额的数量的数据(步骤204)。针对每类资源将份额分配给每个用户或用户组是非常灵活的,从而在需要或者希望的条件下向一组用户提供对某些类型的资源的主要使用是可能的。
图3图示了根据本发明的一个方面的、在集群化处理环境里确定作业调度优先级以便利于工作负荷管理的一个实施例中与所管理资源相关联的数据的例子。在图3的例子中,两类所管理资源的每类具有它自己的与确定作业调度优先级有关的参数和初始化数据。另外,与每个用户实体所使用的所管理资源的份额的数量有关的数据还与每种资源类型相关联。
与资源类型1相关联的数据301包括例如:用户实体资源类型使用量数据USED_SHARES1和参数FAIR_SHARE_TOTAL_SHARES1、FAIR_SHARE_INTERVAL1、以及ALLOCATED_SHARES1。FAIR_SHARE_TOTAL_SHARES1指示总计份额数量,其中资源类型1将被划分为所述份额;FAIR_SHARE_INTERVAL1指示时间常数,其表征了将被应用到针对资源类型1的使用量数据的衰减函数;而ALLOCATED_SHARES1表示与被分配给每个用户实体的资源类型1的份额的数量相关联的数据。类似地,与资源类型2相关联的数据302包括例如:用户实体资源类型使用量数据USED_SHARES2和参数FAIR_SHARE_TOTAL_SHARES2、FAIR_SHARE_INTERVAL2、以及ALLOCATED_SHARES2,其中FAIR_SHARE_TOTAL_SHARES2指示总计份额数量,其中资源类型2将被划分为所述份额;FAIR_SHARE_INTERVAL2指示时间常数,其表征了将被应用到针对资源类型2的使用量数据的衰减函数;ALLOCATED_SHARES2表示与被分配给每个用户实体的资源类型2的份额的数量相关联的数据。
图4图示了在集群化处理环境里确定作业调度优先级以便利于工作负荷管理的一个实施例中与所管理资源相关联的数据的另一例子,其中许多公共参数与所管理资源类型相关联。例如,包括FAIR_SHARE_TOTAL_SHARES、FAIR_SHARE_INTERVAL、ALLOCATED_SHARES以及USED_SHARES1的数据401与资源类型1相关联,而包括FAIR_SHARE_TOTAL_SHARES、FAIR_SHARE_INTERVAL、ALLOCATED_SHARES以及USED_SHARES2的数据402与资源类型2相关联。在这个例子中,资源类型1和资源类型2二者都被划分为由参数FAIR_SHARE_TOTAL_SHARES指示的多个份额。同样,相同的时间常数FAIR_SHARE_INTERVAL表征了将被应用到针对资源类型1和资源类型2二者的使用量数据的衰减函数,而资源类型1和资源类型2对每个用户实体的分配由ALLOCATED_SHARES数据来表示。尽管与图3中的例子相比,图4中的例子具有更简单的初始化的优点,但是针对每类所管理资源的所使用的份额仍然被分别跟踪,原因是用户或组在一段时间上一般不会消耗相同量的每种资源类型。
合并了图3和图4中的两个例子的各方面的方法也属于本发明的范围。也即,在确定作业调度优先级的另一个实施例中与所管理资源相关联的数据可以同时包括与多种资源类型的管理相关联的公共参数以及与单个资源类型相关联的单独参数。
本发明的一方面的合理的份额调度技术基于在处理环境中可用的所管理资源的总计数量而不是基于用户所消耗的资源的总计数量来定义资源使用量份额。另外,基于被分配给用户实体的每种资源类型的份额的数量以及由所述用户实体所使用的每种资源类型的份额来指派作业调度优先级。参考附图来描述关于根据本发明的一方面的合理的份额调度技术的更多细节。
首先参考图5,描述了与将所管理资源类型的份额分配给用户实体相关联的逻辑的一个实施例。在一个例子中,由在处理环境的一个或多个处理单元中的作业调度器来执行所述逻辑。此外,针对由所述环境的用户或用户组所共享的每种资源类型来执行所述逻辑。首先,确定在所述处理环境中将共享的每种所管理资源类型的量,步骤500(图5)。在一个实施例中,它是所确定的每种资源类型的总计量。一类资源类型的总计量是从过去到现在的时间在处理环境中所有可用的所述类型的资源,所述资源被应用了衰减函数,从而在过去时间的资源类型的量在资源类型的总计量中较次要,原因是过去的时间变得离现在的时间越来越远。例如,以下公式被用来确定CPU资源的总计量:
此处,k是衰减常数,其确定衰减过程的速度并且是所述函数的输入;而t是所逝去的时间的量。
作为确定资源量的一个具体的例子,如果中央处理单元(CPU)资源将被共享,则确定在处理环境中可用的处理器的数量。可以通过例如分析处理单元所提供的统计信息来做出这个确定。例如,每个处理单元将所述处理单元上的可用的中央处理器的数量通知给执行作业调度器的管理器(或多个管理器)。所述作业调度器累积此信息并应用衰减函数以确定集群中的CPU资源的量。
针对每种所管理资源类型,所获得的资源的总计量接着被划分为总计数量的所期望的份额,步骤502。在一个例子中,由管理员来选择所期望的份额的总计数量。典型地,如果在环境中存在大量用户,则大量的总计份额是理想的。总计份额的数量越大,则每个份额的资源数量就越小,并且所使用的份额的数量对资源使用量就越敏感。
接着,份额被分配给处理环境的一个或多个用户实体,步骤504。这种分配也可以由管理员来指定并且可以被作为输入提供给调度器程序,或者所述程序可包括启发式公式以定义对于用户或用户组的分配。一个或多个因素可以被用于确定所述分配,所述因素包括但不限于:预算、重要性、管理员的选择等等。
在将所管理资源类型的份额分配给期望的用户和用户组之后,针对那些用户实体的每种所管理资源类型的所授权的资源比例被确定,步骤506。对于每种资源类型,通过将分配给用户实体的资源类型的份额的数量除以环境的资源类型的总计份额的数量来确定此比例。
图6图示了根据本发明的、在集群化处理环境中确定作业调度优先级用于对多种资源类型进行合理的份额调度的过程的若干方面。一般地,从集群中的机器中收集并在每个用户或组的中央点处累积针对每类所管理资源的资源使用量。在步骤601中,由已完成的作业所消耗的每类所管理集群资源的量被收集。在步骤602中,由每个用户实体所消耗的每类所管理的量被累积并且实施衰减函数。在步骤603中,根据可用的资源类型的总计量以及所述可用总计量被划分为的总计份额的数量,将来自步骤602的对所使用的资源的已累积和衰减的度量转换成针对每个用户实体的每种资源类型的所使用的份额。接着在步骤604中,关于每种所管理资源类型以及每个用户或组的所分配的和所使用的份额的信息与作业类型信息一起被用来针对后续提交的作业来计算作业调度优先级,以用合理的份额调度来便利于工作负荷的管理。根据表达式来计算作业调度优先级,所述表达式可以包括用户实体的至少一类所管理资源类型的剩余份额以及作业类型属性作为因子,并且所述表达式定义了合理的份额调度系统的特性,下面描述了所述表达式的一个例子。作业类型在所述优先级表达式中的影响便利于分别对不同资源类型的管理。同样,在作业调度优先级表达式中的作业类型属性的使用给客户提供了用于设计合理的份额调度的操作以满足该顾客的需要的灵活性。例如,作业类型属性可以被使用从而一种类型的资源比另一种类型的资源在确定后续提交的作业的调度优先级时具有更大的影响。
在另一个实施例中,可以周期性地执行以下步骤:收集由每个用户实体的作业所消耗的每种资源类型的量、累积并应用衰减函数到由每个用户实体使用的每种所管理资源的量、以及将所使用作业种类的所累积和所衰减的度量转换成所使用的份额。在这个实施例中,从最后一次对资源使用量信息的周期性收集开始,收集针对每个用户实体的作业所消耗的资源类型的量。
根据本发明,在用于包括Blue Gene系统和许多其它非Blue Gene机器系统的示例性的混合集群的合理的份额调度中使用确定调度优先级的一个实施例。在这个实施例中,所管理资源类型是其它机器的CPU资源和Blue Gene系统的资源。将在Blue Gene系统上运行的作业主要使用BlueGene系统的资源,而这些作业的作业类型属性指示出它们的作业类型是Blue Gene。将在其它非Blue Gene机器上运行的作业不使用任何BlueGene资源;这些作业的作业类型属性指示出它们的作业类型是非BlueGene作业。
Blue Gene系统包括例如计算机节点、输入/输出(I/O)节点、交换机和导线。这些部件和资源可被用于执行Blue Gene作业。可以定义组合资源类型的Blue Gene资源,其中所述组合资源类型包括这些Blue Gene部件的某种组合或全部,其中每个部件都被指派有权重因子。作业所使用的Blue Gene资源的量的度量的一个例子是所使用的计算机节点的数量和所跨时间周期的乘积。因为Blue Gene/L系统只允许在一个时刻在计算机节点上运行并行作业的一个任务,所以Blue Gene并行作业所使用的计算机节点的数量是在Blue Gene/L系统上运行的作业所使用的Blue Gene资源类型的量的相对度量。通过在这个例子中针对提交给混合集群的作业的合理的份额调度所定义的两类资源,当作业结束时所述作业所消耗的两类资源将被收集并向与所述作业相关联的用户和用户组收费。此使用量信息可以被用于计算后续所提交作业的作业优先级。
以下方程是根据本发明的一个方面的作业调度优先级表达式的两个例子。
JobPriority=JobIsBlueGene*UserHasBlueGeneShares*1000+
JobIsNotBlueGene*UserHasCpuShares*100
方程1
JobPriority=JobIsBlueGene*UserRemainingBlueGeneShares*100+
UserRemainingCpuShares*10
此处
UserRemainingBlueGeneShares=(UserAllocatedBlueGeneShares-
UserUsedBlueGeneShares)
UserRemainingCpuShares=(UserAllocatedCpuShares-
UserUsedCpuShares)
方程2
当作业是类型BlueGene时,变量JobIsBlueGene的值是1而变量JobIsNotBlueGene的值是0;否则,变量JobIsBlueGene的值是0而变量JobIsNotBlueGene的值是1。变量UserRemainingBlueGeneShares是BlueGene资源类型的所分配的份额与针对用户的Blue Gene资源类型所使用的份额之间的差值。如果变量UserRemainingBlueGeneShares的值是正,则变量UserHasBlueGeneShares等于1,否则变量UserHasBlueGeneShares等于0。变量UserRemainingCpuShares是非BlueGene资源类型的所分配的CPU份额与针对用户的所使用的CPU份额之间的差值。如果变量UserRemainingCpuShares的值是正,则变量UserHasCpuShares等于1;否则,变量UserHasCpuShares等于0。在方程1中,如果作业是类型BlueGene并且如果与所述作业相关联的用户还没有使用被分配给所述用户的Blue Gene资源类型的所有份额,则所述用户所提交的Blue Gene作业将被给予作业调度优先级1000。如果所提交的作业不是类型BlueGene并且如果与所提交的作业相关联的用户还没有使用被分配给所述用户的非BlueGene资源类型的全部CPU份额,则所述作业将被给予作业调度优先级100。然而,如果用户已经使用执行所述作业所需的资源类型的全部所分配的份额,则使用方程1所计算的所提交的作业的作业调度优先级等于0。如使用这个例子所示,两类资源可以在混合集群化环境中被独立地管理。
在方程2中,用户所提交的每个作业的作业调度优先级受用户具有的非BlueGene资源类型的CPU资源的剩余份额的数量的影响。然而,BlueGene作业的调度优先级也受用户的Blue Gene资源类型的剩余份额的影响。作业类型属性与每个作业的关联以及管理员所提供的作业调度优先级表达式的灵活性便利于顾客针对混合集群化环境中的多类资源设计合理的份额调度的特性以适合他们的具体需要。
在将所管理的资源类型的份额分配给用户实体之后,用户实体可以运行作业。基于用户实体在集群中的所管理资源类型的剩余份额来确定用户实体的作业的调度优先级,并且从所述用户实体所分配和所使用的份额计算所述用户实体的剩余份额。也即,将调度的作业的优先级是基于被分配给请求对所述作业进行调度的用户实体的所管理资源类型的份额的数量以及用户实体的已经被使用的份额的数量。一般,具有所管理资源类型的剩余份额给用户的所提交的作业提供更高的作业调度优先级。针对方程2的作业优先级表达式的例子,份额剩余的数量越大,则作业调度优先级就越高。根据本发明的一个方面,参考图7描述了在集群化处理环境中利用确定作业调度优先级的技术对作业进行合理的份额调度的过程的一个实施例。在一个示例性的系统中,图1中的处理器的作业调度器执行图7中所图示的作业调度过程。
首先,用户提交将在所述处理环境中运行的作业,步骤700,并且在步骤702中由例如作业调度器来计算所述作业的调度优先级。有许多确定作业的调度优先级的方式并且有许多可在进行确定时被使用的针对每种资源类型的变量。这些变量的例子包括:
(a)UserAllocatedShares-由管理员分配给用户的资源类型的份额的总计数量。
(b)UserUsedShares-由所述用户使用的资源类型的份额的数量,其由作业调度器来计算。
(c)UserRemainingShares-UserAllocatedShares与UserUsedShares变量的值之间的差值。
(d)UserHasShares-指示所述用户是否具有资源类型的剩余份额的导出值(例如,0指示没有剩余份额;1指示至少1个剩余份额)。
(e)UserSharesExceeded-指示用户对资源类型的使用量是否已经超过其资源类型的所分配份额的数量的值(例如,0指示使用量还没有超过用户的所分配份额的数量,1指示已经超过)。
(f)GroupAllocatedShares-由管理员分配给用户组的资源类型的份额的总计数量。
(g)GroupUsedShares-由所述组所使用的资源类型的份额的数量,其由作业调度器来计算。
(h)GroupRemainingShares-GroupAllocatedShares与GroupUsedShares变量的值之间的差值。
(i)GroupHasShares-指示用户组是否具有资源类型的剩余份额的导出值(例如,0指示没有剩余份额,1指示至少1个剩余份额)。
(j)GroupSharesExceeded-指示用户组对资源类型的使用量是否已经超过其资源类型的所分配份额的数量的值(例如,0指示使用量还未超过用户组的所分配份额的数量;1指示已经超过)。
在上面所呈现的方程1和方程2的例子中包括了在确定作业调度优先级时可被使用的若干其它变量。上面的变量中的一个或多个可以被用在作业调度优先级表达式里,以计算将在混合集群化处理环境里运行的作业的作业调度优先级。管理员可以指定一个或多个被用于计算作业调度优先级的作业优先级表达式。这些表达式的例子包括上面的方程1和方程2。然而,本领域的普通技术人员将意识到存在许多其它可能的表达式。
返回图7,在确定作业的调度优先级之后,作业被放置到按作业调度优先级来排序的等待队列,步骤704。接着,以较高优先级作业先被运行的方式来运行等待队列中的作业,步骤706。
当作业结束时,在步骤708中由作业调度器来收集针对该作业的所管理资源类型的资源使用量。特别地,在一个例子中,作业属于用户和用户组,并且收集和累积针对所述用户以及用户组由所述作业使用的资源,步骤710。作为一个例子,在作业终止时由访问与每种资源类型的使用相关的恰当信息的调度器来收集此使用量。
接着,所累积的资源使用量被转换成资源类型的所使用的份额,步骤712。例如,通过将用户的资源类型的累积资源使用量除以每个份额的所述资源类型的数量来计算资源类型的变量UserUsedShares的值(也即,每个份额的数量=总计资源量/份额的总计数量)。在一个例子中,如果资源类型具有时间敏感的特性,也即如果所述资源类型随时间消失(例如CPU时间),则对于资源类型的总计量(也即,总计资源量)实施与所使用资源的累积相同的衰减函数。类似地,通过将用户组的累积资源类型使用量除以每个份额的所述资源类型的数量来确定资源类型的GroupUsedShares变量的值。
在针对每种类型的资源将累积资源使用量转换成所使用的份额之后,处理继续进行计算下一个作业的作业优先级,步骤702。
在一个例子中,在周期性时间间隔处,由作业调度器来重新计算作业等待队列里的作业的优先级。参考图8描述了与更新作业等待队列里的作业的调度相关联的逻辑的一个实施例。首先,确定每隔多长时间重新计算作业优先级,步骤800。作为一个例子,由例如管理员选择每5分钟的时间间隔。还可选择其它间隔。
在指定的时间间隔的结束处,如上所述,通过使用包括变量的任何期望的表达式来重新计算等待队列里的所有作业(或者在优选情况下,其中的一部分作业)的作业优先级,步骤802。接着,根据新的作业调度优先级对等待队列里的作业进行重新排序,步骤804。此后,所述逻辑等待下一次重新计算作业调度优先级的机会,步骤806。当例如指定的时间间隔到期时,处理接着继续进行重新计算作业优先级,步骤802。
如前面所描述,当作业结束时,资源使用量被收集并被累积,并且接着所累积的使用量被转换成所使用的份额。所管理资源类型的此累积使用量实质上是历史性的并且影响作业调度决策。可以用许多方式来执行对所管理资源类型的使用量数据的收集和累积。然而,根据本发明的一个方面,近期的资源使用量比更早时间的使用量更有价值。也即,随着时间的流逝,相同的资源量具有较少的价值。例如,如在图9中所示,在当前时间处,资源使用量的量具有其最大值(900),而过去的相同量的使用量距离现在时间越远,则由于被应用到此数据的衰减函数的原因,此使用量的值就越小(902)。
在一个例子中,针对每个用户或用户组对所管理资源类型的历史使用量来记录仅仅一个累积数据值。此外,不需要丢弃任何旧的使用量数据,因为在累积数据中资源使用量数据的影响随着时间自然地减少。资源类型的累积数据包括来自所述资源类型的所有过去的使用量数据(或使用量数据的所选量)的贡献,并且不需要用于包括资源使用量数据的有限时间间隔。在使用量数据累积过程期间,基本上连续地应用衰减机制,从而所述累积数据反映整个的时间衰减的资源使用量。
在一个实施例中,所使用的衰减函数是指数函数exp(-k*t),其中k是确定衰减过程的速度的衰减常数并且是所述函数的输入,而t是自所述资源类型使用量第一次被报告或收集开始所逝去的时间量。
当针对资源类型收集资源使用量R1时,它对累积历史资源使用量的贡献根据衰减函数减少。当针对资源类型收集新的资源使用量数据R2时,新数据R2当时就被直接加到R1的所衰减的值上,并且随着时间流逝该累积值是一起衰减的。随着新的资源使用量被收集,此过程被重复进行。因此,不必跟踪所收集的每种资源使用量数据样本。跟踪资源类型的累积资源使用量数据就足够了。这种指数函数的此特性由以下方程示出:
R1*exp(-k*(t-t1))+
R2*exp(-k*(t-t2))+
R3*exp(-k*(t-t3))=S4,并且
S1=R1(在时间t1)
S2=S1*exp(-k*(t2-t1))+R2(在时间t2)
S3=S2*exp(-k*(t3-t2))+R3(在时间t3)
S4=S3*exp(-k*(t-t3))(在时间t)。
图10中示出此衰减函数的一个图示描述。如所示出,在这个例子中,连接于水平线1000的垂直线表示在过去不同时刻处所报告的资源类型的使用量的初始值,其在整个时间段中是相同的。在指数曲线下面的垂直线的各段表示被初始报告的资源使用量值的当前值。在当前时间1002处,初始报告的资源类型的使用量的值处于它的峰值。确定衰减时间常数的合理的份额间隔1004被选择。在一个例子中,合理的份额间隔等于整个期限的5%,其是将所报告资源使用量的量衰减到它的初始值的5%所需的时间。在时间1006处所报告的资源使用量在当前时间具有一个值,其小于初始报告值的5%。
参考图11描述了使用衰减函数来衰减资源类型的所累积的使用量。在一个实施例中,周期性地或者相应于例如作业的终止,而将新的资源类型的使用量报告给作业调度器,步骤1100。接着,在步骤1102中作业调度器将先前所累积的资源使用量的值衰减到当前时间,并且在步骤1104中将新的所报告的使用量值添加到累积值。例如,如果5分钟以前(t),所收集的使用量值是100 CPU分钟,接着通过乘法100×exp(-k*5)以衰减所述值,从而获得被衰减到当前时间的资源使用量的累积值的结果。接着,在当前时间(例如110 CPU分钟)的新的资源使用量值被添加到此结果以产生此资源类型的使用量的新的累积值。接着,处理继续进行步骤1100。
此外,为了计算所使用份额的数量,新的累积值被衰减到当前时间,步骤1106,并且来自步骤1106的所衰减的累积值被转换成许多所使用份额,步骤1108。这种处理由例如作业调度器来执行。
上面所详细描述的是合理的份额调度能力,其使得能够基于环境的总计可用资源而不是其他用户所消耗的资源量来对资源进行划分。这种划分资源和定义份额的方式更稳定和合理。它更稳定的原因是,它独立于当前工作负荷。它更合理的原因是,用户消耗的份额的数量取决于用户具有的每种资源类型的量以及用户已使用的每种资源类型的量,而不是取决于其他用户偶尔用到的所管理资源的量。
用户实体所使用的所管理资源类型的量被记录并被用于确定所管理资源类型的所使用份额的数量。在一个例子中,针对所管理资源类型的历史使用量应用衰减机制以给予近期的使用量更高的权重。有利地,被跟踪的数据量被极大地减少,因为针对每个用户实体对于每种资源类型跟踪仅仅一份数据,其包括例如在过去所收集的资源使用量以及当数据被更新时的时间戳。此外,不需要将资源类型的历史使用量限制到有限的时间间隔内。最为显著的贡献自然来自最近的历史资源使用量。这是一种用于记录使用量信息的简单和方便的技术,其增加性能并减少软件开发工作。
通过所应用的恰当的衰减,所记录的所管理资源类型的历史使用量被除以资源类型的每个份额的量,以获得所述用户或用户组或者二者的资源类型的所使用份额的数量。对资源类型的每个份额的量实施相同的衰减机制。如果不使用衰减,则从遥远的过去一直到当前时间的资源类型的总计量是无限的。通过在时间的每个瞬间应用到资源类型的量的衰减函数,以及从遥远的过去到当前时间的集成,资源类型的总计量是有限量。通过将这种有限量除以总计的份额数量,获得每个份额的资源类型的量。所管理资源类型的所使用和所分配的份额的数量被用于当尝试使用户实体能够使用它被授权使用的一定比例的资源之时确定作业调度优先级。因为所使用和所分配份额的数量持续地改变,所以有时作业调度优先级被重新计算。
本发明的一个或多个方面可被包括在制品中(例如一个或多个计算机程序产品),其具有例如计算机可用介质。此介质在此具有例如计算机可读程序代码装置或逻辑(例如,指令、代码、命令等等),以提供和便利于本发明的一个或多个方面的能力。所述制品可被包括为计算机系统的一部分或被单独出售。
参考图12描述了并入本发明的一个或多个方面的制品或计算机程序产品的一个例子。计算机程序产品1200包括例如一个或多个计算机可用介质1202以在其上存储计算机可读程序代码装置或逻辑1204,以提供并便利于本发明的一个或多个方面。此介质可以是电子的、磁的、光学的、电磁的、红外的、或者半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移除计算机磁盘、随即存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的例子包括只读存储器致密盘(CD-ROM)、读/写致密盘(CD-R/W)和数字多功能盘或数字视频盘(DVD)。
由一个或多个计算机可读程序代码装置或逻辑所定义的一个或多个相关的模块的逻辑汇编或程序指令序列指导本发明的一个或多个方面的执行。
此处所描述的合理的份额调度能力的一个或多个方面被包括或者可以被包括在各种各样的产品中,所述产品包括但不限于工作负荷管理产品,诸如由国际商业机器公司所提供的Tivoli Workload SchedulerLoadLeveler(“LoadLeveler”是纽约Armonk的国际商业机器公司的注册商标)。包括但不限于其它工作负荷管理产品的其它产品可包括本发明的一个或多个方面。
有利地,本发明一个或多个方面允许在处理环境中可用的每类资源的量被划分成有限数量的份额,其是所述处理环境中的资源类型的份额的总计数量。管理员针对每类所管理资源指定资源的总计量被划分为的份额的总计数量以及每个用户或用户组被分配的份额的数量。所分配的份额相对于份额的总计数量的比率指定了被分配给用户实体的资源类型的比例。所定义的比例独立于由其它用户实体所消耗的资源类型的量,而被指派给用户实体的作业的作业调度优先级独立于由其它用户实体对所管理资源类型的使用。这种指派资源比例权利给所管理资源类型的方式具有下述优点,其能够调节所使用份额的数量对资源使用量的敏感度以及能够容易并灵活地将份额分配给用户或组。给定具有固定量的所管理资源类型的集群,每个份额的资源类型的量是稳定的。此外,有利地,管理员被允许指定所使用和所分配的份额如何影响作业调度优先级以获得他们在用户和用户组之间合理地共享集群资源的目标。这给了管理员调节合理的份额调度将对机器集群中的作业调度具有多少影响的灵活性。通过本发明的一个或多个方面,实时资源在一段时间上被有效地共享,因为老早以前的资源使用量由于衰减的缘故对历史资源使用量数据的贡献很小。
虽然此处提供了一个或多个例子,但是在不偏离本发明的精髓的条件下可对这些例子做许多改变。例如,除了此处所提供的例子之外的处理环境可以包括本发明的一个或多个方面。例如,环境可以不是集群化环境;它可比此处的描述包括更多或更少的处理单元。此外,环境可以包括除了Linux或AIX之外的操作系统。此外,除了此处描述之外的网络或连接可被使用。此外,一个或多个处理单元可以不同于pSeries服务器或BlueGene系统。还存在许多其它改变。
例如,所述处理环境可包括用于存储程序代码的数据处理系统,其包括至少一个通过系统总线直接或间接耦合到存储器组件的处理器。作为另一个例子,处理环境可包括用于执行程序代码的数据处理系统,其包括至少一个通过系统总线直接或间接耦合到存储器组件的处理器。所述存储器组件包括例如在实际执行程序代码期间所使用的本地存储器、海量存储装置和高速缓冲存储器,其给至少某种程序代码提供临时存储以减少在执行期间必须从海量存储装置中进行检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、点击设备等等)可被直接或者通过中间I/O控制器耦合到系统。网络适配器也可以耦合到系统以使数据处理系统能够通过中间专用或公共网络来耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡只是网络适配器的可用类型中的一部分。
本发明的一个或多个方面的能力可以用软件、固件、硬件或它们的某种组合来实现。可以提供机器可读的至少一个程序存储设备,其包含可由机器执行以执行本发明的能力的至少一个指令程序。
此处所描绘的流程图仅是例子。在不偏离本发明的精髓的条件下可以对此处所描述的这些图或步骤(或操作)做出许多改变。例如,可以用不同的顺序来执行这些步骤,或者可以添加、删除或修改这些步骤。所有这些改变都被认为是所要求保护的本发明的一部分。
虽然此处已经详细描绘并描述了优选的实施例,但是本领域的技术人员将会很清楚,在不偏离本发明的精髓的条件下可以做各种修改、添加、替代以及类似操作,并且由此这些操作被认为属于如权利要求所限定的本发明的范围。
Claims (16)
1.一种在集群化处理环境中确定不同类型的作业的调度优先级以便利于工作负荷管理的方法,所述方法包括:
将众多所管理资源类型中的多个所管理资源类型中的每个所管理资源类型的一个或多个份额分配给集群化处理环境中的至少一个用户实体,其中所述众多所管理资源类型是所述集群化处理环境的资源;以及
针对所述至少一个用户实体中的一个用户实体所提交的后续作业指派作业优先级,其中所述作业优先级是基于所述后续作业的类型属性和所述用户实体的所述多个所管理资源类型中的至少一个所管理资源类型的剩余份额的数量。
2.根据权利要求1所述的方法,进一步包括接受用于所述集群化处理环境中的众多所管理资源类型的初始化参数。
3.根据权利要求2所述的方法,其中所述初始化参数包括用于所述每个所管理资源类型的至少一个唯一的参数。
4.根据权利要求2所述的方法,其中所述初始化参数中的至少一个在分配时被使用。
5.根据权利要求1所述的方法,进一步包括接受将在指派时使用的表达式,所述表达式由具有管理权限的用户输入。
6.根据权利要求1所述的方法,其中如果用户实体的所述众多所管理资源类型中的一个所管理资源类型的剩余份额的数量大于零,则所述指派使用下述表达式,其包括对应着所述众多所管理资源类型中的一个所管理资源类型的非零常数因子。
7.根据权利要求1所述的方法,其中所述指派使用包括比例因子的表达式,所述比例因子与用户实体的所述众多所管理资源类型中的一个所管理资源类型的剩余份额的数量成比例。
8.根据权利要求1所述的方法,进一步包括接受对所述众多所管理资源类型的指定,所述指定由具有管理权限的用户提供。
9.根据权利要求1所述的方法,进一步包括确定针对至少一个用户实体的每个所管理资源类型的剩余份额的数量,所述确定使用所述每个所管理资源类型的所使用份额的时间衰减累积。
10.根据权利要求9所述的方法,进一步包括接受用于所述集群化处理环境中的多个所管理资源类型的初始化常数,其中所述初始化参数的至少之一表征了所述每个所管理资源类型的至少一个所管理资源类型的所使用的份额的时间衰减累积。
11.一种用于在集群化处理环境中确定不同类型的作业的调度优先级以便利于工作负荷管理的系统,所述系统包括:
作业调度器,其适于:
将众多所管理资源类型中的多个所管理资源类型中的每个所管理资源类型的份额分配给集群化处理环境中的至少一个用户实体,其中所述众多所管理资源类型是所述集群化处理环境的资源;以及
针对所述至少一个用户实体中的一个用户实体所提交的后续作业指派作业优先级,其中所述作业优先级是基于所述后续作业的类型属性和所述用户实体的所述众多所管理资源类型中的至少一个所管理资源类型的剩余份额的数量。
12.根据权利要求11所述的系统,其中所述作业调度器进一步适于接受用于所述集群化处理环境中的众多所管理资源类型的初始化参数。
13.根据权利要求11所述的系统,其中所述作业调度器进一步适于接受将在指派时使用的表达式,所述表达式由具有管理权限的用户输入。
14.根据权利要求11所述的系统,其中所述作业调度器进一步适于接受对所述众多所管理资源类型的指定,所述指定由具有管理权限的用户提供。
15.根据权利要求11所述的系统,其中所述作业调度器进一步适于通过使用每个所管理资源类型的所使用份额的时间衰减累积来确定针对至少一个用户实体的所述每个所管理资源类型的剩余份额的数量。
16.至少一个机器可读程序存储设备,其包含可由所述机器执行以执行权利要求1至10所述的任何方法的至少一个指令程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/552,554 US9703285B2 (en) | 2006-04-27 | 2006-10-25 | Fair share scheduling for mixed clusters with multiple resources |
US11/552,554 | 2006-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101169741A true CN101169741A (zh) | 2008-04-30 |
CN101169741B CN101169741B (zh) | 2010-06-16 |
Family
ID=39331446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710167436XA Active CN101169741B (zh) | 2006-10-25 | 2007-10-24 | 确定作业的调度优先级的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101169741B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340423B (zh) * | 2008-08-13 | 2011-02-02 | 北京航空航天大学 | 一种基于元调度环的多集群作业调度方法 |
CN102243598A (zh) * | 2010-05-14 | 2011-11-16 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中的任务调度方法及系统 |
CN102567086A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团公司 | 一种任务调度的方法、设备和系统 |
CN104769549A (zh) * | 2012-09-07 | 2015-07-08 | 微软公司 | 基于调度策略的智能数据分级移动 |
CN106412919A (zh) * | 2008-08-15 | 2017-02-15 | 高通股份有限公司 | 网络mimo系统的频率-时间中的自适应聚类架构 |
CN108876157A (zh) * | 2018-06-25 | 2018-11-23 | 英特尔产品(成都)有限公司 | 调配生产资源的方法及其管理系统 |
WO2019041824A1 (zh) * | 2017-08-29 | 2019-03-07 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
CN111385226A (zh) * | 2020-03-18 | 2020-07-07 | 薛爱君 | 应用于在线办公的网络资源分配方法、系统及网络设备 |
-
2007
- 2007-10-24 CN CN200710167436XA patent/CN101169741B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340423B (zh) * | 2008-08-13 | 2011-02-02 | 北京航空航天大学 | 一种基于元调度环的多集群作业调度方法 |
CN106412919A (zh) * | 2008-08-15 | 2017-02-15 | 高通股份有限公司 | 网络mimo系统的频率-时间中的自适应聚类架构 |
CN102243598A (zh) * | 2010-05-14 | 2011-11-16 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中的任务调度方法及系统 |
CN102243598B (zh) * | 2010-05-14 | 2015-09-16 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中的任务调度方法及系统 |
CN102567086A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团公司 | 一种任务调度的方法、设备和系统 |
CN102567086B (zh) * | 2010-12-30 | 2014-05-07 | 中国移动通信集团公司 | 一种任务调度的方法、设备和系统 |
CN104769549A (zh) * | 2012-09-07 | 2015-07-08 | 微软公司 | 基于调度策略的智能数据分级移动 |
CN104769549B (zh) * | 2012-09-07 | 2019-01-08 | 微软技术许可有限责任公司 | 基于调度策略的智能数据分级移动 |
WO2019041824A1 (zh) * | 2017-08-29 | 2019-03-07 | 平安科技(深圳)有限公司 | 任务调度方法及服务器 |
CN108876157A (zh) * | 2018-06-25 | 2018-11-23 | 英特尔产品(成都)有限公司 | 调配生产资源的方法及其管理系统 |
CN111385226A (zh) * | 2020-03-18 | 2020-07-07 | 薛爱君 | 应用于在线办公的网络资源分配方法、系统及网络设备 |
CN111385226B (zh) * | 2020-03-18 | 2020-11-10 | 武汉华盛美业科技有限公司 | 应用于在线办公的网络资源分配方法、系统及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101169741B (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101169741B (zh) | 确定作业的调度优先级的方法和系统 | |
US9703285B2 (en) | Fair share scheduling for mixed clusters with multiple resources | |
Shen et al. | Nexus: A GPU cluster engine for accelerating DNN-based video analysis | |
US7194439B2 (en) | Method and system for correlating job accounting information with software license information | |
CN100461115C (zh) | 便于确定作业的调度优先级的方法和系统 | |
US7571120B2 (en) | Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms | |
US7356770B1 (en) | System and method of graphically managing and monitoring a compute environment | |
US20040205108A1 (en) | Distributed processing system and distributed job processing method | |
US20110154353A1 (en) | Demand-Driven Workload Scheduling Optimization on Shared Computing Resources | |
CN108701059A (zh) | 多租户资源分配方法和系统 | |
JP2012252422A (ja) | 予測プログラム、予測装置および予測方法 | |
CN102667724A (zh) | 利用加速器的、目标指向的工作负载性能管理 | |
US7716431B2 (en) | Analysis technique of execution states in computer system | |
Liu et al. | Minimal cost server configuration for meeting time-varying resource demands in cloud centers | |
Javanmardi et al. | An architecture for scheduling with the capability of minimum share to heterogeneous Hadoop systems | |
JP2009037369A (ja) | データベースサーバへのリソース割当て方法 | |
CN1783120A (zh) | 计算机系统的分析技术 | |
KR20030025963A (ko) | 분산컴퓨팅을 수행한 정보처리기에 대한 기여도 보상시스템 및 기여도 보상 방법 | |
CN100373340C (zh) | 分布计算机系统管理方法 | |
US10311389B2 (en) | Management computer, management method, and computer-readable non-transitory storage medium | |
Varrette et al. | Optimizing the Resource and Job Management System of an Academic HPC & Research Computing Facility | |
Lagerstrom et al. | PScheD Political scheduling on the CRAY T3E | |
Kumar et al. | Fuzzy based resource management framework for high throughput computing | |
CN103294535A (zh) | 最大化磁盘缓存效果的工作流作业调度装置及方法 | |
US20090144256A1 (en) | Workflow control in a resource hierarchy |
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 |