CN100461115C - 便于确定作业的调度优先级的方法和系统 - Google Patents

便于确定作业的调度优先级的方法和系统 Download PDF

Info

Publication number
CN100461115C
CN100461115C CNB2007100062347A CN200710006234A CN100461115C CN 100461115 C CN100461115 C CN 100461115C CN B2007100062347 A CNB2007100062347 A CN B2007100062347A CN 200710006234 A CN200710006234 A CN 200710006234A CN 100461115 C CN100461115 C CN 100461115C
Authority
CN
China
Prior art keywords
resource
user
user subject
operating position
share
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.)
Active
Application number
CNB2007100062347A
Other languages
English (en)
Other versions
CN101063947A (zh
Inventor
钟恩慈
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101063947A publication Critical patent/CN101063947A/zh
Application granted granted Critical
Publication of CN100461115C publication Critical patent/CN100461115C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了便于确定作业的调度优先级的方法和系统。公平份额调度以将可用资源的总量划分为有限数量的份额,并向单个用户或用户群分配一部分份额,作为指定用户或用户群有权取得的资源比例的方式。用户或用户群的作业的调度优先级取决于已分配的和该单个用户或用户群的已使用的份额的可自定义表达式。累积用户或用户群的使用情况数据,并应用指数式衰减函数,以便通过一种数据和更新时间戳跟踪用户或用户群的历史的资源使用情况数据。

Description

便于确定作业的调度优先级的方法和系统
技术领域
一般而言,本发明涉及公平份额调度,具体来说,涉及基于单个用户的资源使用状况并便于对该使用状况进行跟踪的公平份额调度功能。
背景技术
公平份额调度是工作负荷管理产品中的功能特点。在诸如群集化环境之类的分布式处理环境中,工作负荷管理软件产品被用来调度用户程序或作业以在该环境的各种机器上运行。公平份额调度根据预先定义的比例向着在用户或用户群之间分配处理资源的方向驱动调度决策。
在公平份额调度中,给用户或用户群分配某一比例的环境的资源,该用户或用户群的作业的调度优先级取决于与由所有用户或用户群使用的资源相比较该用户或用户群所使用的资源数量。如此,一个用户或用户群的作业的调度优先级取决于由其他用户消耗的资源数量。资源的比例常常表达为总资源使用量的百分比。
这种基于其他人消耗的资源的调度可能对于单个用户产生不稳定的和不希望有的调度。这是不稳定的,因为它取决于其他人的工作负荷,而该工作负荷可能在任何时间点发生急速的变化。这是不希望有的,因为它基于其他用户的资源消耗情况。
在公平份额调度中,历史的资源使用情况随着时间的推移而衰减,从而就使得最近使用的资源对调度决策具有较大的影响。记录和衰减历史的资源使用情况的机制是必需的,它常常是通过在许多最近的有限长度的时间间隔内的步进式衰减函数来实现的。对于具有许多用户的群集,可能需要跟踪大量历史的资源使用情况数据。
发明内容
基于前面的内容,需要一种增强的公平共享调度功能,该功能对单个用户或用户群更加稳定和公平。此外,还需要一种简化衰减机制并最小化要跟踪的历史的资源使用情况数据的量的方法。
通过提供便于确定处理环境中的作业的调度优先级的方法,克服了现有技术的缺点,并提供了另外的优点。该方法包括,例如,向处理环境的用户实体分配资源的等于或多于零个使用份额,等于或多于零个使用份额是,基于处理环境中可用的资源总量,独立于一个或多个用户实体消耗的资源数量,为处理环境定义的多个使用份额的至少一部分;向用户实体的待执行的作业分配作业调度优先级,作业调度优先级基于用户实体的已分配和已使用的使用份额,并独立于其他用户实体的资源使用状况;执行作业;以及响应作业结束,收集资源使用情况数据,其中收集过程包括累积与用户实体的资源使用情况关联的数据,并且所述累积的数据被转换为用户实体的已使用的使用份额并用于计算用户实体的作业的作业调度优先级。
在再一个方面,提供了确定具有多个连接的计算单元的群集化计算环境中的作业的调度优先级的方法。该方法包括,选择群集化计算环境的资源的可用于分配给群集化计算环境的一个或多个用户实体的多个使用份额;获得群集化计算环境中可用资源数量的指示,所述数量独立于资源的消耗并受指数式衰减函数的影响;在选择的数量的使用份额之间分配资源数量;向群集化计算环境的用户实体分配选择的数量的使用份额中的等于或多于零个使用份额;确定用户实体的待执行的作业的作业调度优先级,该确定过程是基于与用户实体的已分配的使用份额相比的用户实体的已使用的使用份额,并独立于一个或多个其他用户实体的资源使用状况;基于作业调度优先级来对要执行的作业进行调度;以及响应作业的至少一次终止以及周期性地收集资源使用情况数据,其中,收集过程包括累积与用户实体的资源使用情况关联的数据,累积的数据包括用户实体的过去资源使用情况的贡献(如果有的话),其中,在累积过程中至少应用一次指数式衰减函数,收集的资源使用情况数据可用于确定所述用户实体的一个或多个其他作业的作业调度优先级。
这里还描述并声明了对应于一个或多个上文概括的方法的系统和计算机程序产品。
通过本发明的技术,来实现其他功能和优点。这里将详细描述本发明的其他实施例和方面,它们被视为所声明的发明的一部分。
附图说明
在本说明书结尾时在权利要求书中特别指出了并作为示例明确声明了本发明的一个或多个方面。通过下面的结合附图对本发明进行的详细说明,可以更好地理解本发明的前述和其他目的、特征和优点,其中:
图1描述了集成并使用了本发明的一个或多个方面的处理环境的一个实施例;
图2描述了根据本发明的一个方面的用于分配资源使用份额的逻辑的一个实施例;
图3描述了根据本发明的一个方面的与基于公平份额调度提交并执行作业关联的逻辑的一个实施例;
图4描述了根据本发明的一个方面的用于在公平份额调度中使用的作业优先级的作业优先级表达式的示例;
图5描述了根据本发明的一个方面的与重新计算作业优先级关联的逻辑的一个实施例;
图6描述了根据本发明的一个方面的资源随时间的衰减;
图7是根据本发明的一个方面的资源随时间的衰减的再一个图形描述;
图8描述了根据本发明的一个方面的与累积公平份额调度的资源使用情况的逻辑的一个实施例;以及
图9描述了集成了本发明的一个或多个方面的计算机程序产品的一个示例。
具体实施方式
根据本发明的一个方面,提供了公平份额调度功能,该功能可以对单个用户或用户群的作业进行稳定而公平的调度。调度取决于该单个用户或用户群的资源分配和使用情况,而不是其他用户或用户群的分配和使用情况。处理环境的可用资源被分成许多份额。这些资源是为环境配置并供使用的,且独立于资源消耗。给用户或用户群分配了一部分份额。然后,给用户或用户群的待执行的每一个作业分配作业执行优先级。此优先级基于已经给用户或用户群分配了多少份额,以及已经使用了多少份额,并独立于处理环境中的其他用户的资源使用情况。
由于作业调度优先级受到与已分配的数量相比的由用户或用户群使用的份额数量的影响,因此,跟踪和累积用户或用户群的资源使用情况。此外,根据本发明的一个方面,与较远的资源使用情况情况相比,作业调度优先级更容易受到当前使用情况的影响,对累积的数据应用指数式衰减机制,以对最近的资源使用情况赋予较大的权重,对较远的资源使用情况情况赋予较小的权重。
将参考图1描述集成并使用了本发明的一个或多个方面的处理环境的一个实施例。在一个示例中,处理环境是诸如群集化环境之类的分布式处理环境,其中,共享了环境的资源,以执行系统任务。虽然这里所描述的群集化环境是集成并使用本发明的一个或多个方面,但是,其他类型的环境,包括非群集化环境,也可以受益于本发明的一个或多个方面。
图1描述了群集化环境100,包括,例如通过一个或多个连接104彼此连接在一起的多个处理单元102,连接104包括但不仅限于有线连接、无线连接或任何种类的网络连接,如局域网(LAN)、广域网(WAN)、令牌环网、以太网连接等等。
在一个示例中,处理单元包括,例如个人计算机、膝上型电脑、工作站、大型机、小型计算机或任何其他种类的处理单元。作为一个特定示例,每一个处理单元都是由位于纽约的Armonk的IBM公司提供的pSeries
Figure C200710006234D0008161815QIETU
服务器。(“pSeries”是位于纽约的Armonk的IBM公司的注册商标。)每一个处理单元都可以是与另一个单元相同类型的处理单元,也可以是不同的类型。在一个示例中,每一个处理单元都执行诸如LINUX,或由IBM公司提供的AIX
Figure C200710006234D0008161834QIETU
之类的操作系统106。(“AIX”是位于纽约的Armonk的IBM公司的注册商标。)一个处理单元的操作系统可以与另一个处理单元的操作系统相同,也可以不同。此外,在其他示例中,一个或多个处理单元可以不包括操作系统。
根据本发明的一个方面,这里被称为“管理器”的一个或多个处理单元执行作业调度器108。作业调度器108是例如,负责调度用户实体的作业的程序。如这里所使用的,术语“用户实体”是指用户或用户群。作业调度器使用公平份额调度技术来调度作业。
本发明的一个方面的公平份额调度技术基于处理环境中可用的资源总量,而不是基于由用户消耗的资源总量,来定义资源使用份额。另外,还基于分配的份额,以及由单个用户使用的份额,分配作业调度优先级。下面将参考附图描述有关本发明的一个方面的公平份额调度的更多细节。
首先请参看图2,该图描述了与向用户实体分配资源份额关联的逻辑的一个实施例。在一个示例中,此逻辑是由执行处理环境的一个或多个处理单元的作业调度器执行的。此外,对于待由环境的用户和/或用户群共享的每一种类型的资源,都执行此逻辑。首先,就处理环境中的待共享的特定资源的数量作出判断,步骤200(图2)。在一个实施例中,它是确定的资源的总量。资源的总量是在应用了衰减函数的情况下从过去到目前处理环境中的可用的所有资源,以便随着时间越来越远离当前时间,资源数量越来越少。例如,为确定CPU资源的总量,使用了下列公式:CPU资源的总量=(处理器的总数)
Figure C200710006234D0009162107QIETU
,其中,k是确定衰减过程的速度的衰减常数,是函数的输入;而t是消逝时间量。
作为确定资源数量的一个特定示例,如果将共享中央处理器(CPU)资源,那么,确定处理环境中可用的处理器的数量。此确定是通过对由处理单元提供的统计信息进行分析来完成的。例如,每一个处理单元都将该处理单元上可用的中央处理器数量通知给执行作业调度器的一个或多个管理器。管理器累积此信息,应用衰减函数,并将结果输入到作业调度器。
然后,将获得的资源数量分成所需要的份额的总数,步骤202。在一个示例中,由管理员选择所需要的份额的总数。通常,如果在环境中有大量的用户,那么,需要大量的份额。份额的总数越大,所使用的份额的数量对资源使用情况就越敏感。份额的总数的示例包括100个份额,1000个份额,或任何所需要的数量。
然后,将份额分配给处理环境的一个或多个用户和/或用户群,步骤204。此分配也可以由管理员指定,并作为输入提供到调度程序,程序也可以包括定义分配的启发式或公式。可以使用一个或多个因素来确定分配方案,包括但不仅限于,预算、重要性、管理员的选择等等。各种分配方案的示例包括:给用户1分配10个份额;给用户2分配5个份额;给用户群1分配20个份额等等。
在向期望的用户和/或用户群分配份额之后,确定给那些用户和/或用户群的授予的资源比例。此比例是通过按环境的份额的总数划分分配给用户的份额数量来确定的。如此,如果有总的份额数为100,给用户1分配了10个份额,那么,用户1的比例为10%。类似地,用户2的比例是5%,用户群1的比例是20%等等。
在向用户实体分配份额之后,用户实体可以运行基于其已分配和已使用的份额调度的作业。即,要调度的作业的优先级是以请求调度的用户实体所具有的已分配的份额的数量以及用户实体的份额已经使用了多少为基础的。一般而言,仍具有剩余的份额,或剩余的份额越多,作业优先级就越高。下面将参考图3描述根据本发明的一个方面的公平份额调度技术的与调度作业关联的逻辑的一个实施例。作为一个示例,由作业调度器来执行逻辑(步骤300除外)。
首先,用户提交作业,以在处理环境中运行,步骤300,并例如,由作业调度器计算作业的优先级,步骤302。有许多方式可以确定作业优先级,有许多变量可以在确定时使用。这些变量的示例包括,例如:
(a)UserTotalShares-由管理员分配给用户的份额的总数。
(b)UserUsedShares-作业调度器计算出的由用户使用的份额的数量。
(c)UserRemainingShares-UserTotalShares和UserUsedShares的值之间的差。
(d)UserHasShares-表示用户是否具有剩余的份额的导出值(例如,0表示没有剩余的份额;1表示有至少1个剩余的份额)。
(e)UserSharesExceeded-表示用户是否超过了其份额数量的值(例如,0表示它没有超过其份额数量;1表示已经超过)。
(f)GroupTotalShares-由管理员分配给用户群的份额的总数。
(g)GroupUsedShares-作业调度器计算出的由用户群使用的份额的数量。
(h)GroupRemainingShares  -GroupTotalShares和GroupUsedShares的值之间的差。
(i)GroupHasShares-表示用户群是否具有剩余的份额的导出值(例如,0表示没有剩余的份额;1表示有至少1个剩余的份额)。
(j)GroupSharesExceeded-表示用户群是否超过了其份额数量的值(例如,0表示它没有超过其份额数量;1表示已经超过)。
在作业优先级表达式使用上述一个或多个值来计算作业优先级。参考图4描述了这些表达式的示例。管理员可以指定用于计算作业优先级的一个或多个作业优先级表达式,步骤400。这些表达式的示例包括:
10000UserHasShares(402);
10000(UserHasShares+GroupHasShares)(404);
100GroupRemainingShares(406)。
还可以有许多其他表达式。
基于所选择的表达式,如果用户仍具有未使用的份额,INQUIRY408,那么,其优先级高于已经使用完其所有份额的情况。在一个示例中,优先级值是所选择的优先级表达式的结果。例如,如果所选择的表达式是上面的402,并且如果UserHasShares=1,那么,优先级是10000。
回到图3,在确定作业的优先级之后,将作业放在按优先级排序的等待队列中,步骤304。然后,执行作业,优先级较高的作业首先执行,步骤306。
作业结束时,由作业调度器收集该作业的资源使用情况,步骤308。具体来说,在一个示例中,一个作业属于一个用户和一组用户,为该用户以及为该组收集和累积由该作业使用的资源,步骤310。作为一个示例,在作业结束时,由访问适当信息的调度器来收集此使用情况。在由Brelsford等人提出的待审批的共同提出的美国系列编号_____________标题为“Fault Tolerant Facility For The AggregationOf Data From Multiple Processing Units”的申请中描述了收集和累积资源使用情况数据的另一个示例,这里引用了该专利作为参考。
然后,将累积的资源使用情况数据转换为已使用的份额,步骤312。例如,通过将用户的累积的资源使用情况数据除以每一份额的资源来计算UserUsedShares(每一份额的资源=资源总量/份额总数。在一个示例中,资源总量也将接受与已使用的资源相同的衰减函数,如果它们是时间敏感的量,即,如果它们随时间而消失,如CPU的时间)。类似地,通过将组的累积的资源使用情况数据除以每一份额的资源,确定GroupUsedShares。
在将累积的资源使用情况转换为已使用的份额之后,继续进行计算下一个作业的作业优先级的处理,步骤302。
在一个示例中,由作业调度器每隔周期性的时间间隔重新计算作业等待队列中的作业的优先级。参考图5描述了与此处理关联的逻辑的一个实施例。首先,确定重新计算作业优先级的频率,步骤500。作为一个示例,例如由管理员选择了每隔5分钟的时间间隔。也可以选择其他时间间隔。
在指定的时间间隔结束时,如上文所描述的,使用任何所需要的表达式和/或变量,重新计算等待队列中的所有作业(或其一部分,如果愿意)的作业优先级,步骤502。然后,根据新的优先级,重新排序等待队列中的作业,步骤504。此后,逻辑等待下一次重新计算作业优先级的机会,步骤506。当例如时间间隔过期时,继续重新计算作业优先级,步骤502。
如前所述,当作业结束时,收集并累积资源使用情况数据,然后,将累积的使用情况数据转换为已使用的份额。此累积的资源使用情况数据本质上是历史性的,并影响调度决策。可以以许多方式执行资源使用情况的收集和累积。然而,根据本发明的一个方面,最近的资源使用情况数据比时间较远的资源使用情况数据的重要性更大。即,随着时间的流逝,相同量的资源的价值就会降低。例如,如图6所示,在当前时间,资源使用情况处于其最大值(600),而时间变得越久远,价值就越低(602)。
在一个示例中,为每一个用户或用户群的历史的资源使用情况数据只记录了一个累积的数据。此外,没有必要丢弃任何旧的数据,因为在累积的数据中,资源使用情况数据的影响自然地随时间而缩小。累积的数据包括所有过去的资源使用情况数据(或选择的量)的份额,不需要有限时间间隔。在数据累积过程中基本上连续地应用衰减机制,以便累积的数据反映总体的时间衰减的资源使用情况。
在一个实施例中,使用的衰减函数是指数函数:exp(-k*t),其中,k是确定衰减过程的速度的衰减常数,是函数的输入;而t是从第一次报告或收集资源使用情况开始消逝的时间量。
当收集资源使用情况R1时,其对累积的历史的资源使用情况的作用根据衰减函数而缩小。当收集新的资源使用情况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)。
图7显示了此衰减函数的一个图形描述。如图所示,与水平线700连接的垂直线代表了在过去不同的时间的报告的资源使用情况的初始值,在此示例中,在各个时间都相同。指数曲线下方的部分垂直线代表了最初报告的资源使用情况值的当前值。在当前时间702,其值处于高峰。选择确定了衰变常数的公平份额时间间隔704。在一个示例中,公平份额时间间隔等于寿命的5%,这是衰减到初始值的5%所需要的时间。在时间706报告的资源使用情况具有当前时间的值,该值小于最初报告的值的5%。
下面将参考图8描述使用衰减函数衰减累积的资源使用情况数据的过程。在一个实施例中,响应例如作业的结束或周期性地将新的资源使用情况数据报告给调度器,步骤800。然后,调度器将预先累积的值衰减到当前时间,步骤802,将新的值添加到累积的值,步骤804。例如,如果5分钟前(t),收集的值是100 CPU分钟,那么,通过乘以100 x exp(-k*5)衰减该值,以获得结果。然后,将当前时间的新的使用情况数据,例如,110 CPU分钟,添加到结果中,这是新的累积值。然后继续执行步骤800。
此外,为计算已使用的份额,新的累积值被衰减到当前时间,步骤806,再将衰减的累积值转换为已使用的份额,步骤808。此过程由例如调度器执行。
上文详细描述了公平份额调度功能,该功能允许对资源的划分基于环境的可用的资源总量,而不是基于其他人消耗的资源数量。这种分配资源和定义份额的方式更加稳定和公平。之所以更加稳定,是因为它独立于当前的工作负荷。之所以更加公平,是因为用户消耗的份额数量取决于用户具有的资源数量和用户已经使用的资源数量,而不是其他用户正巧使用的资源数量。
记录了由用户实体使用的资源数量,并用于确定已使用的份额的数量。在一个示例中,对历史的资源使用情况数据应用衰减机制,以对最近使用情况数据赋予较大的权重。优选情况下,被跟踪的数据量大大地减少,因为对于每一个用户实体,只跟踪一种数据,例如包括,过去收集的资源使用情况数据,以及当更新数据时的时间戳。此外,也没有必要将历史的资源使用情况数据限制在有限的时间间隔内。最大的贡献自然地来自最近的历史的资源使用情况数据。这是简易的记录使用情况信息的技术,提高了性能并减少了软件开发的劳动强度。
记录的历史的资源使用情况数据,在应用了适当的衰减的情况下,被按每个份额资源数量地划分,以获得用户和/或用户群的已使用的份额数量。每个份额资源数量也将接受相同的衰减机制。从久远的过去到当前时间的资源的总量是无穷的,没有衰减。在每一个瞬间向资源施加了衰减函数并从久远的过去到当前时间的资源集成的情况下,资源的总量是有限量。通过将此有限量按份额的总数分配,获得了每个份额的资源数量。已使用的和分配的份额的数量用于确定作业调度优先级,以便允许用户使用它有资格使用的资源的比例。由于已使用的和/或分配的份额的数量连续地变化,因此,不时地重新计算作业优先级。
本发明的一个或多个方面可以包括在具有计算机可使用的介质的产品中(例如,一个或多个计算机程序产品)。例如,介质中包含了用于提供和促进本发明的一个或多个方面的功能的计算机可读取的程序代码装置或逻辑(例如,指令、代码、命令等等)。产品可以作为计算机系统的一部分或单独地销售。
将参考图9描述集成了本发明的一个或多个方面的计算机程序产品的一个示例。计算机程序产品900包括,一个或多个计算机可使用的介质902,在其上存储了计算机可读取的程序代码装置或逻辑904,以提供和促进本发明的一个或多个方面。介质可以是电子的、磁性的、光学的、电磁的、红外线的或半导体系统(或设备)或传播介质。计算机可读的介质的示例包括半导体或固态存储器,磁带,可移动计算机磁盘,随机存取存储器(RAM),只读存储器(ROM),硬磁盘和光盘。光盘的示例包括光盘-只读存储器(CD-ROM),光盘读取/写入(CD-R/W)和DVD。
程序指令的序列或由一个或多个计算机可读取的程序代码装置或逻辑定义的一个或多个相互关联的模块指示了本发明的一个或多个方面的性能。
这里所描述的公平份额调度功能的一个或多个方面包括在或可以包括在各种产品中,包括但不仅限于,工作负荷管理产品,如由IBM公司提供的Tivoli Workload Scheduler 
Figure C200710006234D00161
(“LoadLeveler”是位于纽约的Armonk的IBM公司的注册商标。)其他产品包括但不仅限于,其他工作负荷管理产品,也可以包括本发明的一个或多个方面。
优选情况下,本发明的一个或多个方面允许处理环境中可用的资源的总量被分成有限数量的份额,这是处理环境中的资源的份额的总数。管理员指定了资源被分成的份额的总数以及给每一个用户或用户群分配的份额数量。分配的份额与份额的总数的比率指定了分配给用户实体的资源的比例。定义的比例独立于其他用户实体消耗的资源数量,作业调度优先级独立于其他用户实体对资源的使用。这种分配资源比例的方式能够调整使用的份额数量对资源使用情况的敏感性,使得向用户或用户群分配份额变得更加容易和灵活。份额的资源值是稳定的,假设一个群集的资源数量是固定的。此外,优选情况下,管理员被允许指定已使用的和分配的份额如何影响作业调度优先级,以实现在用户和用户群之间公平地共享群集资源的目标。这给管理员提供了调整公平份额调度对机器群集中的作业调度有多少影响的灵活性。利用本发明的一个或多个方面,在某一时间段有效地共享真实的资源,因为很久以前的资源使用情况数据由于衰减对历史的资源使用情况数据的贡献很小。
虽然这里提供了一个或多个示例,但是,这些只是示例而已。在不偏离本发明的精神的情况下,可以对这些示例作出许多变化。例如,这里所提供的示例之外的处理环境可以包括和/或受益于本发明的一个或多个方面。例如,环境可以不是群集化环境,和/或它可以包括比这里所描述的更多或更少的处理单元。再此外,环境可以包括Linux或
Figure C200710006234D00171
之外的操作系统。更进一步,也可以使用这里所描述的之外的其他网络和/或连接。更进一步,一个或多个处理单元可以不同于
Figure C200710006234D00172
服务器。还存在许多其他变化。
例如,可使用适用于存储和/或执行程序代码的数据处理系统,该系统包括至少一个通过系统总线直接或间接地连接到存储器元件处理器的。存储器元件包括,例如,在程序代码的实际执行过程中使用的本地存储器,大容量存储器,以及高速缓冲存储器,该高速缓冲存储器提供了至少某些程序代码的临时存储器,以便减少在执行过程中必须从大容量存储器检索代码的次数。
输入/输出或I/O设备(包括但不仅限于,键盘、显示器、指示设备,等等)可以直接或者通过I/O控制器连接到系统。网络适配器也可以连接到系统,以使得数据处理系统通过私有的或公共网络连接到其他数据处理系统或远程打印机或存储设备。调制解调器,电缆调制解调器和以太网卡只是几个可用的网络适配器类型。
本发明的一个或多个方面的功能可以以软件、固件、硬件或其某些组合来实现。可以提供至少一个由机器可读取的程序存储设备,其中包含了由机器可执行的至少一个指令程序以执行本发明的功能。
这里所描述的流程图只是示例。在不偏离本发明的精神的情况下,对这里所描述的这些图表或步骤(或操作)可以有许多更改。例如,可以以不同顺序执行各个步骤,也可以添加、删除或修改步骤。所有这些变化被视为权利要求要求保护的本发明的一部分。
虽然这里详细描述了优选实施例,但是,对于那些本领域技术人员来说显而易见的是,在不偏离本发明的精神的情况下,可以进行各种修改、添加,替换等等,因此,也被视为在如下面的权利要求所定义的本发明的范围内。

Claims (12)

1.一种便于确定处理环境中的作业的调度优先级的方法,所述方法包括:
向处理环境中的用户实体分配资源的等于或多于零个使用份额,所述等于或多于零个使用份额是,基于处理环境中可用的资源总量,独立于一个或多个用户实体消耗的资源数量,为处理环境定义的多个使用份额的至少一部分;
向用户实体的待执行的作业分配作业调度优先级,所述作业调度优先级基于用户实体的已分配和已使用的使用份额,并独立于其他用户实体的资源使用状况;
执行作业;以及
响应作业结束,收集资源使用情况数据,其中收集过程包括累积与用户实体的资源使用情况关联的数据,并且所述累积的数据被转换为用户实体的已使用的使用份额并用于计算用户实体的作业的作业调度优先级。
2.根据权利要求1所述的方法,其中,定义所述多个使用份额进一步包括:
获得处理环境中可用资源数量的指示,所述数量独立于资源的消耗并受指数式衰减函数的影响;以及
在多个使用份额之间分配资源数量。
3.根据权利要求1所述的方法,其中,分配作业调度优先级的过程包括计算作业调度优先级,所述计算使用基于用户实体是否具有未使用的份额的指示以及用户实体的剩余份额的数量中的至少一个的表达式。
4.根据权利要求3所述的方法,其中,下列各项中的至少一个适用:
用户实体的未使用的份额越多,作业调度优先级就越高;
具有未使用的份额的用户实体的作业调度优先级较高;以及
已经用完或超过它们的分配的份额的用户实体的作业调度优先级较低。
5.根据权利要求1所述的方法,进一步包括在一个或多个周期性的时间间隔重新计算作业调度优先级。
6.根据权利要求1所述的方法,其中,所述累积的数据包括用户实体的过去资源使用情况的贡献,其中,在累积过程中至少应用一次衰减函数。
7.根据权利要求6所述的方法,其中,所述衰减函数对最近的资源使用情况赋予较大的权重,对较远的资源使用情况赋予较小的权重。
8.根据权利要求6所述的方法,其中,衰减函数包括指数式衰减函数。
9.一种便于确定包括多个连接的计算单元的群集化计算环境中的作业的调度优先级的方法,所述方法包括:
选择群集化计算环境的资源中的多个使用份额,所述多个使用份额可用于分配给群集化计算环境的一个或多个用户实体;
获得群集化计算环境中可用资源数量的指示,所述数量独立于资源的消耗并受指数式衰减函数的影响;
在所选择的多个使用份额中分配资源数量;
向群集化计算环境中的用户实体分配选择的数量的使用份额中的等于或多于零个使用份额;
确定用户实体的待执行的作业的作业调度优先级,所述确定基于与用户实体的已分配的使用份额进行比较的、用户实体的已使用的使用份额,并独立于一个或多个其他用户实体的资源使用状况;
基于作业调度优先级来对要执行的作业进行调度;以及
响应作业的至少一次终止以及周期性地收集资源使用情况数据,其中,收集过程包括累积与用户实体的资源使用情况关联的数据,所述累积的数据包括,如果有的话,用户实体的过去资源使用情况的贡献,其中,在累积过程中至少应用一次指数式衰减函数,所述收集的资源使用情况数据可用于确定所述用户实体的一个或多个其他作业的作业调度优先级。
10.一种便于确定处理环境中的作业的调度优先级的系统,所述系统包括:
至少一个处理单元,用于:
向处理环境的用户实体分配资源中的等于或多于零个使用份额,所述等于或多于零个使用份额是,基于处理环境中可用的资源总量,独立于一个或多个用户实体消耗的资源数量,为处理环境定义的多个使用份额的至少一部分;
向用户实体的待执行的作业分配作业调度优先级,所述作业调度优先级基于用户实体的已分配和已使用的使用份额,并独立于其他用户实体的资源使用状况;
执行作业;以及
响应作业的结束,收集资源使用情况数据,其中收集过程包括累积与用户实体的资源使用情况关联的数据,并且所述累积的数据被转换为用户实体的已使用的使用份额并用于计算用户实体的作业的作业调度优先级。
11.根据权利要求10所述的系统,其中,至少一个处理单元被进一步用于定义多个使用份额,定义过程包括:
获得处理环境中可用资源数量的指示,所述数量独立于资源的消耗并受指数式衰减函数的影响;以及
在多个使用份额之间分配资源数量。
12.根据权利要求10所述的系统,其中,
所述累积的数据包括用户实体的过去资源使用情况的贡献,其中,在累积过程中至少应用一次指数式衰减函数。
CNB2007100062347A 2006-04-27 2007-02-07 便于确定作业的调度优先级的方法和系统 Active CN100461115C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/412,758 US8087026B2 (en) 2006-04-27 2006-04-27 Fair share scheduling based on an individual user's resource usage and the tracking of that usage
US11/412,758 2006-04-27

Publications (2)

Publication Number Publication Date
CN101063947A CN101063947A (zh) 2007-10-31
CN100461115C true CN100461115C (zh) 2009-02-11

Family

ID=38649772

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100062347A Active CN100461115C (zh) 2006-04-27 2007-02-07 便于确定作业的调度优先级的方法和系统

Country Status (3)

Country Link
US (2) US8087026B2 (zh)
JP (1) JP5068099B2 (zh)
CN (1) CN100461115C (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8087026B2 (en) 2006-04-27 2011-12-27 International Business Machines Corporation Fair share scheduling based on an individual user's resource usage and the tracking of that usage
US9703285B2 (en) * 2006-04-27 2017-07-11 International Business Machines Corporation Fair share scheduling for mixed clusters with multiple resources
JP4863475B2 (ja) * 2006-11-01 2012-01-25 キヤノン株式会社 情報処理装置およびその方法
EP2079020B1 (en) 2008-01-03 2013-03-20 Accenture Global Services Limited System amd method for automating ETL applications
JP5173713B2 (ja) * 2008-09-30 2013-04-03 ルネサスエレクトロニクス株式会社 マルチスレッドプロセッサ及びそのハードウェアスレッドのスケジュール方法
US8566332B2 (en) * 2009-03-02 2013-10-22 Hewlett-Packard Development Company, L.P. Populating variable content slots on web pages
US9489697B1 (en) * 2010-03-17 2016-11-08 Microroyalties, LLC Systems and methods of determining microroyalties
US9229783B2 (en) 2010-03-31 2016-01-05 International Business Machines Corporation Methods and apparatus for resource capacity evaluation in a system of virtual containers
US20120054729A1 (en) * 2010-08-31 2012-03-01 Symantec Corporation Safely Updating Latent Applications to Reduce Attack Surface
US8869164B2 (en) * 2010-09-02 2014-10-21 International Business Machines Corporation Scheduling a parallel job in a system of virtual containers
JP2012221340A (ja) * 2011-04-12 2012-11-12 Fujitsu Ltd 制御方法及びプログラム、並びにコンピュータ
CN102799467B (zh) * 2011-05-27 2017-07-21 金蝶软件(中国)有限公司 一种任务分配的方法及系统
US8762998B2 (en) 2011-06-14 2014-06-24 International Business Machines Corporation Computing job management based on priority and quota
US8805899B2 (en) 2011-11-09 2014-08-12 Microsoft Corporation Data channel utilization management in multi-user system
CN102402461A (zh) * 2011-12-08 2012-04-04 曙光信息产业(北京)有限公司 一种基于作业规模的均衡调度方法
US9092265B2 (en) 2012-02-26 2015-07-28 Palo Alto Research Center Incorporated Long-term resource provisioning with cascading allocations
US10169090B2 (en) * 2012-09-12 2019-01-01 Salesforce.Com, Inc. Facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments
US9348648B2 (en) 2012-09-12 2016-05-24 Salesforce.Com, Inc. Providing a routing framework for facilitating dynamic workload scheduling and routing of message queues for fair management of resources for application servers in an on-demand services environment
US11321118B2 (en) * 2012-10-24 2022-05-03 Messageone, Inc. System and method for controlled sharing of consumable resources in a computer cluster
US20220045966A1 (en) * 2012-10-24 2022-02-10 Messageone, Inc. System and Method for Optimizing Resource Utilization in a Clustered or Cloud Environment
US9491114B2 (en) 2012-10-24 2016-11-08 Messageone, Inc. System and method for optimizing resource utilization in a clustered or cloud environment
CN103841126B (zh) * 2012-11-20 2017-11-21 中国移动通信集团辽宁有限公司 一种共享资源的调配方法及装置
CN104111961B (zh) * 2013-04-22 2018-03-09 北京壹人壹本信息科技有限公司 一种刷新数据项显示的方法、装置
US9250964B2 (en) * 2013-08-27 2016-02-02 International Business Machines Corporation Concurrent computing with reduced locking requirements for shared data
CN104750558B (zh) * 2013-12-31 2018-07-03 伊姆西公司 在分层配额系统中管理资源分配的方法和装置
US9471371B2 (en) * 2014-02-27 2016-10-18 International Business Machines Corporation Dynamic prediction of concurrent hardware transactions resource requirements and allocation
US9465645B1 (en) * 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
US10366358B1 (en) 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
CN106201839B (zh) * 2015-04-30 2020-02-14 阿里巴巴集团控股有限公司 一种业务对象的信息加载方法和装置
US10296383B2 (en) 2015-07-10 2019-05-21 Samsung Electronics Co., Ltd. Computing system with resource management mechanism and method of operation thereof
KR101730271B1 (ko) 2015-12-18 2017-04-25 한국과학기술원 복수의 모바일 단말간 에너지 소모 형평성을 고려한 태스크 최적 분배 기법
CN106227597A (zh) * 2016-07-15 2016-12-14 乐视控股(北京)有限公司 任务优先级处理方法和装置
US10860373B2 (en) 2016-10-11 2020-12-08 Microsoft Technology Licensing, Llc Enhanced governance for asynchronous compute jobs
US10553238B2 (en) 2016-11-18 2020-02-04 Microroyalties, LLC Crowdsourced noise monitoring systems and methods
US10545802B2 (en) * 2017-03-10 2020-01-28 International Business Machines Corporation Event loop optimization through event ordering
US11010193B2 (en) * 2017-04-17 2021-05-18 Microsoft Technology Licensing, Llc Efficient queue management for cluster scheduling
CN108255589A (zh) * 2017-08-29 2018-07-06 平安科技(深圳)有限公司 任务调度方法及服务器
CN109086142B (zh) * 2018-09-25 2022-03-25 郑州云海信息技术有限公司 一种基于Openlava的资源调度方法及装置
KR102184136B1 (ko) * 2019-05-08 2020-11-27 국방과학연구소 계층적 스케줄링 시스템에서 자원 공급 모델의 주기를 결정하는 방법 및 장치
US11366687B2 (en) 2020-05-26 2022-06-21 Bank Of America Corporation Task allocations based on color-coded representations
CN111880843B (zh) * 2020-07-31 2023-07-07 重庆医科大学 基于Linux单命令行的生物大数据分析系统及方法
CN113419827A (zh) * 2021-05-11 2021-09-21 北京天云融创软件技术有限公司 一种高性能计算资源调度公平分享方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551539A (zh) * 2003-05-20 2004-12-01 Lg������ʽ���� Hdr系统的前向信道调度算法
WO2005055533A1 (en) * 2003-11-26 2005-06-16 Qualcomm Incorporated Quality of service scheduler for a wireless network
WO2005096149A1 (en) * 2004-04-02 2005-10-13 Symbian Software Limited Improvements in or relating to an operating system for a computing device
CN1756177A (zh) * 2004-09-29 2006-04-05 上海贝尔阿尔卡特股份有限公司 一种在无线网络中用于为用户装置进行资源调度的基站及其方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179702A (en) 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US7241044B1 (en) * 1991-11-14 2007-07-10 Hitachi, Ltd. Production control system of autonomous and decentralized type
US5963963A (en) 1997-07-11 1999-10-05 International Business Machines Corporation Parallel file system and buffer management arbitration
US5987492A (en) * 1997-10-31 1999-11-16 Sun Microsystems, Inc. Method and apparatus for processor sharing
US7206849B1 (en) * 1998-10-05 2007-04-17 Symbol Technologies, Inc. Communication in a wireless communications network when a mobile computer terminal may be unreachable
US6314460B1 (en) * 1998-10-30 2001-11-06 International Business Machines Corporation Method and apparatus for analyzing a storage network based on incomplete information from multiple respective controllers
GB2346983B (en) * 1999-02-18 2003-04-16 Ibm Client/server computing for transaction processing with superior coordinator o ptimization
US6571288B1 (en) * 1999-04-26 2003-05-27 Hewlett-Packard Company Apparatus and method that empirically measures capacity of multiple servers and forwards relative weights to load balancer
US6618742B1 (en) * 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
US6401223B1 (en) * 1999-05-21 2002-06-04 Unisys Corporation Programmable system for invalidating pending requests within a data processing system
US6594786B1 (en) * 2000-01-31 2003-07-15 Hewlett-Packard Development Company, Lp Fault tolerant high availability meter
CA2303739C (en) * 2000-04-04 2009-06-30 Webhancer Corporation Method and system for managing performance of data transfers for a data access system
US6785889B1 (en) 2000-06-15 2004-08-31 Aurema, Inc. System and method for scheduling bandwidth resources using a Kalman estimator with active feedback
US6909691B1 (en) * 2000-08-07 2005-06-21 Ensim Corporation Fairly partitioning resources while limiting the maximum fair share
US6625709B2 (en) * 2000-10-30 2003-09-23 Microsoft Corporation Fair share dynamic resource allocation scheme with a safety buffer
US6959320B2 (en) * 2000-11-06 2005-10-25 Endeavors Technology, Inc. Client-side performance optimization system for streamed applications
US7111059B1 (en) * 2000-11-10 2006-09-19 Microsoft Corporation System for gathering and aggregating operational metrics
US7617292B2 (en) * 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US7171668B2 (en) * 2001-12-17 2007-01-30 International Business Machines Corporation Automatic data interpretation and implementation using performance capacity management framework over many servers
JP4063651B2 (ja) * 2002-12-12 2008-03-19 富士通株式会社 ジョブスケジューリング方法および装置
US20040226015A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Multi-level computing resource scheduling control for operating system partitions
US8730923B2 (en) 2003-06-11 2014-05-20 Alcatel Lucent Method for controlling resource allocation in a wireless communication system
US7139784B2 (en) * 2003-07-29 2006-11-21 Hewlett-Packard Development Company, L.P. Dead timestamp identification and elimination
US20050055694A1 (en) 2003-09-04 2005-03-10 Hewlett-Packard Development Company, Lp Dynamic load balancing resource allocation
US8856793B2 (en) * 2004-05-11 2014-10-07 International Business Machines Corporation System, method and program for scheduling computer program jobs
US9703285B2 (en) * 2006-04-27 2017-07-11 International Business Machines Corporation Fair share scheduling for mixed clusters with multiple resources
US7698251B2 (en) * 2006-04-27 2010-04-13 International Business Machines Corporation Fault tolerant facility for the aggregation of data from multiple processing units
US8087026B2 (en) 2006-04-27 2011-12-27 International Business Machines Corporation Fair share scheduling based on an individual user's resource usage and the tracking of that usage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551539A (zh) * 2003-05-20 2004-12-01 Lg������ʽ���� Hdr系统的前向信道调度算法
WO2005055533A1 (en) * 2003-11-26 2005-06-16 Qualcomm Incorporated Quality of service scheduler for a wireless network
WO2005096149A1 (en) * 2004-04-02 2005-10-13 Symbian Software Limited Improvements in or relating to an operating system for a computing device
CN1756177A (zh) * 2004-09-29 2006-04-05 上海贝尔阿尔卡特股份有限公司 一种在无线网络中用于为用户装置进行资源调度的基站及其方法

Also Published As

Publication number Publication date
US8087026B2 (en) 2011-12-27
CN101063947A (zh) 2007-10-31
US20110314477A1 (en) 2011-12-22
US8332863B2 (en) 2012-12-11
JP5068099B2 (ja) 2012-11-07
JP2007299401A (ja) 2007-11-15
US20070256077A1 (en) 2007-11-01

Similar Documents

Publication Publication Date Title
CN100461115C (zh) 便于确定作业的调度优先级的方法和系统
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
US7668703B1 (en) Determining required capacity for a resource
JP2667376B2 (ja) クライアント/サーバ・データ処理システム
AU2017203274B2 (en) Burst mode control
US20110154353A1 (en) Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
US8103486B1 (en) Determining feasible variations for assigning applications to resources
KR100989494B1 (ko) 프로세스 매니지먼트 지원 시스템 및 시뮬레이션 방법
CN101169741B (zh) 确定作业的调度优先级的方法和系统
Lam et al. Computer capacity planning: theory and practice
Wang et al. GeoCol: A geo-distributed cloud storage system with low cost and latency using reinforcement learning
Everman et al. Evaluating and reducing cloud waste and cost—A data-driven case study from Azure workloads
Song et al. Optimal appointment rule design in an outpatient department
JP7458436B2 (ja) ソフトウェアのライセンスを管理するシステム及び方法
Yang et al. Acquisition planning and scheduling of computing resources
Genquan et al. Applying genetic algorithm to optimise personal worklist management in workflow systems
CN116909713A (zh) 一种任务调度方法、装置、设备及可读存储介质
CN118069380A (zh) 一种算力资源处理方法
Allen RM Schardt2:(1) Generally, channel utilization in direct access storage devices should not exceed 35 percent for on-line applications or 40 percent for batch applications.
CN101001246A (zh) 用于估计未来网格作业成本的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant