CN107430526A - 用于调度数据处理的方法和节点 - Google Patents
用于调度数据处理的方法和节点 Download PDFInfo
- Publication number
- CN107430526A CN107430526A CN201580078185.0A CN201580078185A CN107430526A CN 107430526 A CN107430526 A CN 107430526A CN 201580078185 A CN201580078185 A CN 201580078185A CN 107430526 A CN107430526 A CN 107430526A
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- job scheduling
- scheduling node
- data processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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)
- Debugging And Monitoring (AREA)
Abstract
一种用于跨处理机集合(202)来调度数据处理的方法和作业调度节点(200),每个处理机包括至少一个数据处理器。当接收(2:2)针对数据处理作业的请求时,作业调度节点(200)获得(2:5)每个处理机的当前处理器资源状态,处理器资源状态至少指示所述处理机中每个数据处理器的当前使用情况。作业调度节点(200)还基于所获得的处理器资源状态来选择(2:6)处理机集合中的至少一个空闲数据处理器,以执行数据处理作业,并且向所选择的至少一个数据处理器所位于的至少一个处理机(202a)分派(2:7)数据处理作业。
Description
技术领域
本公开总体上涉及用于跨一系列处理机来调度数据处理的作业调度节点、资源监视器以及其中的方法,每个处理机包括一个或多个数据处理器。
背景技术
在数据处理领域,诸如不同公司、企业、组织和机构等的客户需要硬件和软件资源来执行各种数据处理操作。在本公开中,术语“数据处理器”用于简单地表示可被用于涉及数据处理(例如涉及分析、计算、编译、转换和数据存储)的计算机执行操作的任何设备。
传统上,客户自身可能拥有并维护其需要用于数据处理的所有资源,但这可能相当昂贵和耗时。例如,需要相当多的知识和技能来首先找出需要什么类型的资源并获取和安装这些资源。因此,客户经常需要雇用熟练的工作人员和/或聘请顾问来实现资源的高效利用。此外,随着计算机和软件领域中技术的快速发展和进步,购买或租用的资源趋向于会非常快速地变得过时,并且必须经常被具有更好性能的新资源所替代,这自然是昂贵和耗时的。另一个问题是,客户可能在非常有限的时间段内需要大量的资源来每年进行一次或仅几次大型的操作(例如与经济学、统计学或库存盘点有关),而在剩余时间段内使用非常少的资源。因此,客户必须投资足够的资源来应对这种高峰使用,且还需应对需求和操作随着时间的推移发生变化的时刻。
近年来,客户有可能租用和利用共享资源进行数据处理,例如驻留在包括大范围处理器、计算机和数据存储在内的大型数据中心中的共享资源。有效地,所有需要的资源可以从这样的数据中心获得,并且客户不必对昂贵的资源中进行自己的投资。因此,将资源分配给客户以执行所请求的处理操作,并且可以在需要时再次向客户分配新的资源。
通常采用一些负载均衡功能来将传入的处理请求均匀分布在不同的处理机上,以避免数据中心等中的瓶颈并提高资源利用率。在本公开中,术语“处理机”用于表示数据中心等中的节点或服务器,该节点或服务器包括可用于对传入的处理请求进行数据处理的一个或多个数据处理器。处理机的集合通常被简称为“集群”。此外,所请求的处理操作被称为“数据处理作业”,或简称为“作业”,其根据处理请求可具有不同的持续时间和要求。
在本领域中基本上有两种类型的数据处理机:1)作为具有固定容量的固定式处理设备的物理机(PM),以及2)虚拟机(VM),虚拟机是具有灵活容量的临时处理设备,因为资源是专门针对每个处理请求来动态地创建和配置的。基本上只有在执行作业时VM才存在,且资源在完成作业后释放,而无论是否执行任何的作业,PM或多或少会永久存在。PM集合有时被称为“原生集群(native cluster)”,而VM集合被称为“虚拟集群”。此外,“混合集群”表示原生集群和虚拟集群的组合。虚拟机通常用于所谓的云计算背景中。因此,VM不是原生集群的一部分,并且可以将VM视为用于增强原生(或物理)集群的附加外部资源。以下描述将主要关注PM的使用。
通常采用作业调度功能或“作业调度器”来选择一个或多个合适的PM来执行所请求的数据处理作业,该所请求的数据处理作业可以由可由同一个PM执行或由不同的单独PM执行的多个任务组成。例如,数据处理作业的每个任务可以由单独的PM执行。换言之,作业调度器试图找到并选择应该能够执行该作业的一个或多个PM。
图1示出了具有不同共享资源的***100被用于处理和执行来自不同客户端102的处理请求(表示为“PR”)的通信场景。在该示例中,资源可从PM的原生集群100b和VM的虚拟集群100b获得。传入的处理请求PR被作业调度器104分发给合适的PM和VM。还可以使用多于一个作业调度器来为PM和VM的***100提供服务,并且可以应用一些负载均衡功能(未示出)来将传入的处理请求分散在作业调度器上。
然而,问题是针对所请求的处理作业的处理机选择可能不是最佳的或甚至不是成功的,因为所选择的处理机可能由于各种当前环境而不能令人满意地执行处理作业。因此,客户可能会体验到较差的性能,且在预期的性能没有完成或实现时,特别是当服务要求严格时,可能会违反某些服务水平协议(SLA)。另一个问题是,即使应用了某些负载均衡功能,一些处理机可能会负载过重且拥塞,而另一些处理机可能未被充分利用。例如,一些处理机可能趋向于接收长时间的处理作业,使得它们的资源被很大程度地占用。
发明内容
本文描述的实施例的目的是解决至少一些以上概述的问题和情况。可以通过使用所附独立权利要求中定义的方法和节点来实现该目的和其它目的。
根据一个方面,一种方法由作业调度节点执行,以用于跨处理机集合来调度数据处理,每个处理机包括至少一个数据处理器。在该方法中,作业调度节点接收针对数据处理作业的请求,并获得每个处理机的当前处理器资源状态,该处理器资源状态至少指示所述处理机中每个数据处理器的当前使用情况。作业调度节点然后基于所获得的处理器资源状态来选择处理机集合中的至少一个空闲数据处理器,以执行数据处理作业,并且向所选择的至少一个数据处理器所位于的至少一个处理机分派该数据处理作业。
根据另一方面,作业调度节点被布置为跨一系列处理机来调度数据处理。所述作业调度节点包括处理器和存储器,所述存储器包括能够由所述处理器执行的指令,由此所述作业调度节点能够用于:
-接收针对数据处理作业的请求,
-获得每个处理机的当前处理器资源状态,该处理器资源状态至少指示所述处理机中每个数据处理器的当前使用情况;
-基于所获得的处理器资源状态来选择所述处理机集合中的至少一个空闲数据处理器,以执行所述数据处理作业,以及
-向所选择的至少一个数据处理器所位于的至少一个处理机分派该数据处理作业。
根据另一方面,一种方法由资源监视器执行,以用于协助作业调度节点跨处理机集合来调度数据处理,每个处理机包括至少一个数据处理器。在该方法中,资源监视器收集每个处理机中数据处理器的当前使用情况,且向所述作业调度节点提供每个处理机的当前处理器资源状态,该处理器资源状态指示每个数据处理器的所述当前使用情况。由此,使得作业调度节点能够基于当前处理器资源状态来选择处理机集合中用于执行数据处理作业的至少一个数据处理器。
根据另一方面,资源监视器被布置为协助作业调度节点跨处理机集合来调度数据处理,每个处理机包括至少一个数据处理器。该资源监视器包括处理器和存储器,所述存储器包括能够由所述处理器执行的指令,由此所述资源监视器能够用于:
-收集每个处理机中数据处理器的当前使用情况,以及
-向作业调度节点提供每个处理机的当前处理器资源状态,该处理器资源状态指示每个数据处理器的所述当前使用情况,从而使作业调度节点能够基于当前处理器资源状态来选择处理机集合中用于执行数据处理作业的至少一个数据处理器。
可以根据不同的可选实施例来配置并实现上述方法和节点,以实现下文将要描述的其它特征和优点。
还提供了包括指令在内的计算机程序,当在作业调度节点和资源监视器中任一个的至少一个处理器上执行所述指令时,所述指令使所述至少一个处理器执行上述用于分数管理节点的方法。还提供了包含上述计算机程序在内的载体,其中,所述载体是电信号、光信号、无线电信号或非有形计算机可读存储介质之一。
附图说明
现在将通过示例性实施例并参考附图来更详细地描述该解决方案,在附图中:
图1是示出了根据现有技术的如何将处理请求向不同处理机分发的通信场景。
图2是示出了根据一些可能的实施例的可以如何使用该解决方案的示例的通信场景。
图3是示出了根据其他可能的实施例的调度矩阵的示例的表。
图4是示出了根据其他可能的实施例的作业调度节点中的过程的流程图。
图5是示出了根据其他可能的实施例的资源监视器中的过程的流程图。
图6是示出了根据其他可能的实施例的作业调度节点中更详细的过程的示例的流程图。
图7是示出了根据其他可能的实施例的作业调度节点可以如何确定中等寿命的处理作业是有风险还是无风险的示例的流程图。
图8是更详细地示出了根据其他可能的实施例的作业调度节点和资源监视器的框图。
具体实施方式
简言之,提供了一种解决方案,以确保至少基于数据处理器的当前使用情况,以最佳方式或至少充分高效的方式来选择用于执行数据处理作业的处理机中的数据处理器,以提高服务性能和资源利用率。该解决方案涉及被表示为“作业调度节点”的功能节点,该功能节点可用于跨处理机(通常为PM)中驻留的不同数据处理器来调度针对数据处理作业的传入请求,并相应地分派作业。
例如,处理机可以持有可在执行数据处理作业时使用的多个单独的数据处理器,该数据处理作业可由一个或多个单独任务组成。然而,该解决方案不限于处理机中的数据处理器的任何特定数量,并且在本公开中,处理机被定义为包括至少一个数据处理器。如上所述,数据中心或***可包括具有处理机和其中的数据处理器的形式的大量处理资源。作业的任务还可被调度和分派到不同的数据处理器(例如驻留在不同的处理机中),并且该解决方案不限于此。
将在一个作业调度节点中的功能的意义上来描述该解决方案及其实施例。然而,可以在该解决方案的范围内采用多个作业调度节点(例如以去中心化的方式分布),以通过本文所述的方式来处理任何数量的传入作业请求。更详细地,作业调度节点获得每个数据处理器的当前状态,其在下文中将被称为“处理器资源状态”。处理器资源状态至少指示数据处理器的当前使用情况,并且还可以可选地指示“数据局部性”,数据局部性指的是数据处理器取回用于执行所请求的数据处理作业中的任务所需的数据所花费的时间。
表示为“资源监视器”的另一节点可以用于定期收集所有数据处理器的当前状态,使得每个处理机的处理器资源状态在资源监视器中保持最新。在这种情况下,作业调度节点可以在需要调度传入的数据处理作业的任何时候从资源监视器获得处理器资源状态。
现在将参考图2来描述可以如何使用该解决方案的示例,图2示出了作业调度节点JSN 200、表示为PM1、PM2、PM3...的处理机集合202、资源监视器204、和数据库206,数据库206用于维护完成不同的所执行数据处理作业所花费的时间的长度的统计信息,其被称为“作业完成时间”JTC。更详细地示出了处理机202a中的一个以包括多个数据处理器(在该示例中,六个数据处理器P1~P6),尽管要描述的过程可应用于处理机202中的任何数量的数据处理器。假设处理机202是物理机,尽管解决方案不排除也将虚拟机用于某些作业。
首先示出的动作2∶1示出了向资源监视器204连续报告处理机202中的当前处理器使用情况,这可以以规则的时间区间进行或每当处理器使用情况在数据处理器中发生显著改变时进行。可以在每个处理机202中布置本地使用情况监视器(或“节点监视器”)等,以处理对当前处理器使用情况的报告。在该示例中,假设资源监视器204维护每个处理机202的当前处理器资源状态,该当前处理器资源状态至少指示处理机中每个数据处理器的所报告的当前使用情况。备选地,作业调度节点200可以维护处理机的处理器资源状态,从而省略资源监视器204。
可在每个处理机PM1、PM2、PM3...的标为M1、M2、M3...的调度矩阵中分别维护当前处理器资源状态,其中调度矩阵包含与每个数据处理器的当前使用情况有关的信息且可选地还包含与处理器的上述数据局部性有关的信息。图3中示出了这种矩阵的一个示例,将在下面进行描述。每当作为动作2∶1报告新的资源状态时,可以更新调度矩阵,因此可在该过程期间的任何时间对该动作2∶1进行重复。
数据处理器的当前使用情况由处理器是否具有待执行的等待作业或任务的队列(表示为“Q”)来确定,该队列在每个处理器P1~P6旁边示意性地示出。例如,如果处理器处的队列是空的,例如在处理器P1处的Q1,则处理器被认为是空闲的,还参见处理器P5。否则,认为处理器被占用,例如在该示例中具有队列Q4的处理器P4以及还有处理器P2、P3和P6。
另一动作2∶2示出了作业调度节点200从客户端(未示出)接收针对数据处理作业的传入请求。在此解决方案中,可根据作业的大小或持续时间对所有传入的作业请求进行分类或归类。更详细地,可以将所请求的作业识别为“短寿命”、“中等寿命”或“长寿命”,并且可以根据作业持续时间来执行调度。本文描述的解决方案可仅适用于短寿命作业和一些中等寿命作业,然而至少长寿命的作业可被立即分派给虚拟机,而不执行本过程中的以下动作。
一般而言,短寿命的作业的持续时间少于一秒,例如从数据库等取回一些数量有限的信息,而长寿命的作业的持续时间可在几小时甚至几天的范围内,例如实时游戏或者对可由SLA控制的诸如电影之类的媒体的定期流传输。在该上下文中,中等寿命的作业可被定义具有在某个预定区间内的持续时间,而短寿命和长寿命的作业分别低于和高于该区间。
另一动作2∶3因此示出了作业调度节点200将所请求的作业识别为其持续时间期望在预定区间内的中等寿命的作业。备选地,在该动作中,所请求的作业可被识别为短寿命的作业。此外,在可能的实现中,如果作业是中等寿命的作业,作业调度节点200可以通过在另一动作2∶4中检查JCT数据库206(在JCT数据库206中,维持先前执行的类似作业的持续时间)来估计作业完成时间JCT。
还可以针对中等寿命的作业来识别所需或所预期的完成时间,例如根据主要的服务要求或所假设的客户期望。如果针对作业所估计的JCT大体上等于或大于中等寿命的数据处理作业的所需或所预期的完成时间,则作业调度节点200然后可进行到根据以下动作来调度作业。如果是这样,可以假设针对该作业所获得的实际JCT是关键的,并且存在实际JCT可能超过所需或所预期的完成时间的风险,并且在这种情况下该作业可被识别为“有风险”的作业。因此,通过根据以下动作来调度作业,对于这种中等寿命的作业而言迎合尽可能短的JCT被认为是值得的。否则如果作业不是时间关键的,可以将作业立即分派给虚拟机,例如短寿命和长寿命的作业。
另一动作2∶5示出了作业调度节点200从资源监视器204获得每个处理机202的当前处理器资源状态。当前处理器资源状态因此至少指示处理机中每个数据处理器的当前使用情况,如在动作2∶1中所报告的。特别地,处理器资源状态指示哪些数据处理器是空闲的且哪些数据处理器被占用。
作业调度节点200然后在接下来的动作2∶6中基于所获得的处理器资源状态来选择处理机集合中的至少一个空闲数据处理器,以执行数据处理作业。在该动作中,如果作业由多个单独的任务组成,则作业调度节点200可以为每个任务来选择数据处理器,使得选择若干个数据处理器来联合执行数据处理作业。在该示例中,选择处理机202a中的空闲处理器P1和P5。
上面提到处理器资源状态还可以指示指代取回所需数据所花费的时间的数据局部性,该时间也可被称为输入/输出时间,或简称为“I/O时间”。如果存在可从中进行选择的若干空闲处理器,则作业调度节点200可以选择具有最紧密的数据局部性(即最短的I/O时间)的该至少一个空闲数据处理器,这将确保以最短的可能的JCT来执行作业。此外,处理器资源状态还可以指示每个数据处理器的用户标识,并且在这种情况下,作业调度节点200还可以基于所述用户标识来选择该至少一个空闲数据处理器。用户标识基本上指示了处理器的所有权。例如,对于客户端而言,一些用户标识可以比其他用户标识优先,并且如果可能的话,它们的数据处理器可以首先并最早被选择。
在一些实现中,当为作业选择处理器时,用户标识可被给予最高优先级,即是决定性的,而在其他情况下,空闲或I/O时间可以是决定选择哪个处理器的最关键方面。因此,当选择用于执行数据处理作业的至少一个数据处理器时,可以使用空闲、I/O时间和用户标识的任何优先级顺序,并且在这方面本解决方案不受限制。
最终的动作2∶7示出了作业调度节点200将作业或其单独任务(如果有的话)分派给所选择的该至少一个数据处理器所位于的至少一个处理机,在该示例中分派给处理机202a。在分派作业或任务之前,作为动作2∶6的一部分,作业调度节点200可以“探测”所选择的数据处理器,以探明它们是否准备好执行作业或任务。在本公开中,“探测”意味着作业调度节点200向所选择的数据处理器发送预约,以避免与可能选择相同处理器的其他数据处理作业发生冲突。例如,作业调度节点200可以通过添加随机因子来调整每个处理器的I/O时间,并且使用经调整的(即增加的)I/O时间作为在动作2∶6中选择至少一个空闲数据处理器的基础。稍后将在下文中参考图6来描述可以如何采用该探测过程的更详细的示例。
图3示出了可以如何在可以维护处理机的当前处理器资源状态的情况下配置上述调度矩阵。在该示例中,调度矩阵指示处理器P1当前空闲并且具有1秒的数据局部性或I/O时间,处理器P2当前被占用并具有2秒的数据局部性或I/O时间,处理器P3当前被占用并且具有8秒的数据局部性或I/O时间,等等。图3中的调度矩阵可以是图2中的M1,其指示处理机PM1的当前资源状态。
因此,可以使用该调度矩阵以及反映其他处理机PM2、PM3...的类似调度矩阵M2、M3...来作为选择用于作业以及用于作业的单独任务(如果有的话)的一个或多个适合数据处理器的基础。在该示例中,可能选择处理器P1,因为它被指示为当前空闲。调度矩阵还包括与每个数据处理器的用户标识有关的信息(表示为“所有者ID”),包括用于处理器P1和P1的爱立信(Ericsson)和用于处理器P3的另一个用户标识xx。如上所述,用户标识可被用作选择数据处理器的另一基础。
现在将参考图4中的流程图来描述可以如何使用该解决方案的示例,该流程图示出了由作业调度节点(例如上述作业调度节点200)执行的用于完成上述功能的动作的过程。作业调度节点可用于跨处理机集合来调度数据处理,每个处理机包括至少一个数据处理器。
第一动作400示出了作业调度节点接收针对数据处理作业的请求,其对应于如上所述的动作2∶2。在之后的动作402中,作业调度节点获得每个处理机的当前处理器资源状态,处理器资源状态至少指示所述处理机中每个数据处理器的当前使用情况。如上所述,当前处理器资源状态可以在诸如图2中的资源监视器204之类的资源监视器中维护,或在作业调度节点自身中维护。该动作基本上对应于如上所述的动作2∶5。
在另一动作404中,作业调度节点基于获得的处理器资源状态来选择处理机集合中的至少一个空闲数据处理器,以用于执行数据处理作业,例如在数据处理作业中识别出的多个单独任务。该动作基本上对应于如上所述的动作2∶6。例如,如果数据处理作业仅包含一个单个任务,则可以为该任务选择一个单个处理器。
最终示出的动作406示出了作业调度节点向所选择的该至少一个数据处理器所位于的至少一个处理机分派数据处理作业,其对应于如上所述的动作2∶7。例如,作业中的一个任务可被分派给PM1中当前空闲的处理器P1,而作业中的另一个任务可被分派给PM1中当前同样空闲的处理器P5。
在上述动作2∶1、2∶4、2∶5、2∶7、402和406中执行的通信中可以使用各种通信协议,例如组播、基于查询的客户端-服务器协议、远程过程调用(RPC)探查等。然而,该解决方案不限于使用经过实际实现的任何特定通信协议。
各种可选实施例可被用在作业调度节点中的上述过程中。在可能的实施例中,处理器资源状态还可以指示指代取回所需数据所花费的时间的数据局部性,且在这种情况下作业调度节点可以选择具有最紧密数据局部性(即最短I/O时间)的该至少一个空闲数据处理器。上面已经描述了数据局部性如何可被用作选择数据处理器以实现针对作业的最短可能实际JCT的基础。
在另一可能的实施例中,当前处理器资源状态可被维护在每个处理机的调度矩阵中,调度矩阵包含与所述处理机的每个数据处理器的当前使用情况和数据局部性有关的信息。在另一可能的实施例中,处理器资源状态还可以指示每个数据处理器的用户标识,并且在这种情况下,作业调度节点还可以基于所述用户标识来选择该至少一个空闲数据处理器。调度矩阵还可包含例如如图3中所示的这种用户标识。
在又一可能的实施例中,作业调度节点可识别数据处理作业中的多个任务,为每个任务选择数据处理器,并将每个任务向对应的数据处理器分别分派。上面已经描述了可如何将不同的任务调度和分派给不同数据处理器的一些示例。此外,作为另一可能的实施例,在该情况下作业调度节点可以确定所识别出的任务的执行顺序并按所述顺序将任务分派给相应的所选数据处理器。
在另一可能的实施例中,如果数据处理作业被识别为具有在预定区间内的持续时间的中等寿命作业,则作业调度节点可以估计数据处理作业的作业完成时间,如上面的动作2∶4所述。然后,当所估计的作业完成时间大体上等于或大于数据处理作业的所需完成时间时,作业调度节点可以执行该方法,这意味着当在针对作业所实际实现的JCT在某种意义上很关键的情况下,该作业可被识别为是有风险的作业。该实施例基本上对应于图2中的动作2∶3。稍后在下文中将参考图7来描述可能如何进行这一操作的更详细的示例。在另一可能的实施例中,作业调度节点可以基于对先前执行的数据处理作业的作业完成时间的记录统计(其例如由图2中的JCT数据库206维护)来估计作业完成时间。该实施例基本上对应于图2中的动作2∶4。
现在将参考图5中的流程图来描述当使用诸如图2中的资源监视器204之类的资源监视器时可以如何使用该解决方案的另一示例,图5中的流程图示出了由资源监视器执行的用于协助上述功能的动作的过程。资源监视器可用于协助作业调度节点(例如作业调度节点200)跨处理机集合来调度数据处理,每个处理机包括至少一个数据处理器。
第一动作500示出了资源监视器收集每个处理机中的数据处理器的当前使用情况,其基本上对应于图2中的动作2∶1。在另一动作502中,资源监视器向作业调度节点提供每个处理机的当前处理器资源状态,其基本上对应于图2中的动作2∶5。处理器资源状态指示每个数据处理器的所述当前使用情况。由此,基本上如以上针对动作2∶6所描述的,使得作业调度节点能够基于当前处理器资源状态来选择处理机集合中用于执行数据处理作业的至少一个数据处理器。
现在将参考图6中的流程图来描述可如何实际实现图2的动作2∶2~2∶7的更详细的示例,包括可由作业调度节点执行的动作。第一动作600示出了作业调度节点接收针对数据处理作业的请求,其对应于如上所述的动作2∶2和400。在下一动作602中,作业调度节点确定或估计作业是否可以被归类为长寿命的作业。如果是,则作业调度节点在动作604中将所请求的数据处理作业分派给虚拟集群中的虚拟机。
如果在动作602中作业不能被归类为长寿命的作业,则在另一动作606中,作业调度节点进行到确定或估计该作业是否可以被归类为中等寿命的作业。如果是,则作业调度节点在动作608中基本上以针对上述动作2∶4描述的方式来估计作业的JCT。然后在另一动作610中,作业调度节点还确定或估计作业是否可以被识别为有风险的中等寿命的作业,例如当估计的JCT大体上等于或大于数据处理作业的所需完成时间时,这意味着该作业可以被识别为有风险的作业。如果其未被识别为有风险的作业,则作业调度节点可以通过进行到动作604来将所请求的数据处理作业分派给虚拟集群中的虚拟机。如果在动作606中作业不能被归类为具有中等寿命,则可以省略动作608和610。
因此,如果作业是短寿命的作业,并且在动作606中不能被归类为中等寿命的作业,或者如果在动作610中作业可被识别为有风险的中等寿命的作业,则作业调度节点进行到在动作612中生成作业的任务图。如上所述,可以在数据处理作业中识别多个任务,并且作业调度节点可以为作业中的每个任务选择数据处理器。作业调度节点还可以确定应该按哪个顺序执行任务,这由任务图确定。
在下一动作614中,作业调度节点基本上如上文针对动作2∶2和400分别所述地获得每个处理机的当前处理器资源状态。接下来,作业调度节点在该过程中进入探测阶段。如上所述,探测意味着作业调度节点向数据处理器发送预约,以避免与其他数据处理作业的冲突。该探测过程可以如下进行。
另一动作616示出了作业调度节点探测具有最紧密数据局部性的n*m个处理器,其中n是>1的整数。可根据以下步骤a~d来更详细地对其进行执行。
a.选择(n+h)*m个处理器,其中n是作为探测比的整数,h是正小数(positivedecimal)(优选地小于1),且m表示在作业中识别出的任务数。在所选择的处理器的用户标识不限制作业调度节点的选择的意义上,可能需要所选择的处理器是“非约束的”。
b.通过向每个处理器的I/O时间添加随机因子“IO_random”来调整每个所选择的处理器的I/O时间,这可能与作业调度节点与所选数据处理器之间所需的某些通信开销成正比,这里表示为“Latency_communication”,即
IO_random=i*Latency_communication,
其中i是0%到100%之间的某个百分比,且新调整的IO_time(表示为IO_time′)是
IO_time’=IO_time+IO_random.
c.根据新的I/O时间(IO_time′)按升序排序(n+h)*m个处理器的列表。
d.向前n*m个处理器发送探测。例如,在此步骤中可以使用称为远程过程调用(RPC)的协议来发送探测。
另一动作618示出了作业调度节点从至少m个空闲数据处理器接收肯定应答,从而指示对应任务已被预留以供各个处理器执行。因此,已经选择了m个空闲数据处理器,其准备好执行作业的任务而没有冲突的风险,例如由与另一作业调度节点的调度冲突造成的冲突。最终动作620示出了作业调度节点将m个任务分派给到相应的m个空闲数据处理器,基本上如上文针对动作2∶7和406所述。
现在将参照图7的流程图来描述可如何实际实现图6的动作608~610的更详细的示例,包括可由作业调度节点执行的动作。第一动作700示出了作业调度节点接收针对被识别为中等寿命作业的数据处理作业的请求,例如根据如上所述的动作600、602和606。作业调度节点现在将通过如下检查JCT数据库来确定中等寿命的作业是有风险的还是无风险的。上面描述了可以在图2所示的JCT数据库206中维护对完成不同的执行数据处理作业所花费的时间的长度(JCT)的统计。
在下一动作702中,作业调度节点将传入作业的输入数据大小(也可称为“集群大小”)与包含不同JCT在内的JCT数据库中的条目进行比较,该不同JCT已被针对先前执行作业的不同输入数据大小或集群大小而记录。如果在与传入作业具有相同输入数据大小的JCT数据库的条目中找到匹配,则可以根据该条目来估计传入作业的JCT。如果没有找到完全匹配,但是在JCT数据库中有两个高于和低于传入作业的输入数据大小的条目,则可以通过在这两个条目的JCT之间的插值(interpolation)来估计传入作业的JCT。因此,另一动作704示出了作业调度节点确定JCT数据库中的上述匹配或插值是否成功。
如果JCT数据库中的匹配和插值都不成功,则在另一动作706中,作业调度节点将通过对针对最接近传入作业的输入数据大小的输入数据大小所记录的JCT的外推(extrapolation)来估计传入作业的JCT。如果在动作704中JCT数据库中的匹配或插值成功,或者在动作706中已通过外推估计JCT之后,在动作708中,作业调度节点进行到确定针对传入作业估计的JCT是否低于中等寿命的数据处理作业的所需或所预期的完成时间Texpected。如果是,在动作710中,该中等寿命的作业可被确定或识别为无风险的作业。该确定对应于上述动作610中的“否”,并且作业604可以将作业分派给虚拟集群。另一方面,如果传入作业的JCT不低于Texpected,则在动作712中,该中等寿命的作业可被确定或识别为有风险的作业(对应于动作610中的“是”),使得可以通过上述方式来执行动作612~620的另一调度过程。
图8中的框图示出了可如何分别构造作业调度节点800和资源监视器802以实现上述方案及其实施例的详细但非限制性的示例。在该图中,作业调度节点800和资源监视器802可以被配置为在适当时根据采用如上所述的解决方案的示例和实施例中的任何一个来操作,并且如下所述。作业调度节点800和资源监视器802中的每一个被示为包括处理器“P”、存储器“M”和通信电路“C”,通信电路“C”具有用于以本文所述的方式发射和接收无线电信号的适当设备。
因此,作业调度节点800和资源监视器802中的每一个中的通信电路C包括被配置为使用取决于实现的用于数据通信的适当协议来通过通信接口彼此通信的设备。然而,解决方案不限于任何特定类型的接口或协议。
作业调度节点800包括被配置或被布置为通过上述方式至少执行图4中的流程图的动作400~406的装置。此外,资源监视器802包括被配置或被布置为通过上述方式至少执行图5中的流程图的动作500~502的装置。图4和图5的动作可以通过作业调度节点800和资源监视器802中的相应处理器P中的功能模块来执行。
作业调度节点800被布置为跨一系列处理机来调度数据处理。作业调度节点800因此包括处理器P和存储器M,所述存储器包括能够由所述处理器执行的指令,由此作业调度节点800如下操作。
作业调度节点800可用于接收针对数据处理作业的请求。该接收操作可以由作业调度节点800中的接收模块800a执行,例如通过针对上述动作400、2∶2、600和700中的任一个描述的方式来执行。作业调度节点800还可用于获得每个处理机的当前处理器资源状态,该处理器资源状态至少指示所述处理机中每个数据处理器的当前使用情况。该获得操作可以由作业调度节点800中的获得模块800b执行,例如通过针对上述动作402、2∶5和614中的任一个描述的方式来执行。
作业调度节点800还可用于基于所获得的处理器资源状态来选择处理机集合中的至少一个空闲数据处理器,以执行数据处理作业。该选择操作可以由作业调度节点800中的选择模块800c来执行,例如通过针对上述动作404、2∶6和612~618中的任一个描述的方式来执行。
作业调度节点800还可用于将数据处理作业分派给所选择的至少一个数据处理器所位于的至少一个处理机。该分派操作可以由作业调度节点800中的分派模块800d执行,例如通过针对上述动作406、2∶7和620中任一个所描述的方式来执行。如上所述,可以在该解决方案的范围内采用(例如以去中心化的方式分布的)多个作业调度节点,以处理任何数量的传入作业请求。这样的实现场景中的每个作业调度节点可以像上述作业调度节点800一样配置和操作。
资源监视器802被布置为协助作业调度节点800跨处理机集合来调度数据处理,每个处理机包括至少一个数据处理器。资源监视器802包括处理器P和存储器M,所述存储器包括能够由所述处理器执行的指令,由此资源监视器802如下操作。
资源监视器802可操作以收集每个处理机中的数据处理器的当前使用情况。该收集操作可以由资源监视器802中的收集模块802a执行,例如通过针对上述动作500和2∶1中任一个描述的方式来执行。资源监视器802还可用于向作业调度节点800提供每个处理机的当前处理器资源状态,处理器资源状态指示每个数据处理器的所述当前使用情况,从而使作业调度节点800能够基于当前处理器资源状态来选择处理机集合中用于执行数据处理作业的至少一个数据处理器。该提供操作可以由资源监视器802中的提供模块802b执行,例如通过针对上述动作502和2∶5中的任一个描述的方式来执行。此外,如果适用,资源监视器802可用于向多个作业调度节点提供上述处理器资源状态。
应当注意,图8分别示出了作业调度节点800和资源监视器802中的各种功能模块,并且本领域技术人员能够使用合适的软件和硬件来实际实现这些功能模块。因此,解决方案通常不限于作业调度节点800和资源监视器802的所示结构,并且其中的功能模块800a~d和802a~b可以被配置为根据在本公开中所描述的任何特征和实施例来酌情操作。
上述功能模块800a~d和802a~b可以通过相应计算机程序的程序模块分别在作业调度节点800和资源监视器802中实现,该计算机程序包括代码装置,当由处理器P运行时,该代码装置使作业调度节点800和资源监视器802执行上述动作和过程。每个处理器P可包括单个中央处理单元(CPU)或可包括两个或更多个处理单元。例如,每个处理器P可以包括通用微处理器、指令集处理器和/或相关芯片集和/或专用微处理器,如专用集成电路(ASIC)。每个处理器P还可包括用于高速缓存目的的存储器。
每个计算机程序可以由作业调度节点800和资源监视器802中的每一个中的计算机程序产品携带,该计算机程序产品是具有计算机可读介质并连接到处理器P的存储器的形式。因此,作业调度节点800和资源监视器802中的每一个中的计算机程序产品或存储器M包括其上(例如以计算机程序模块等的形式)存储计算机程序的计算机可读介质。例如,每个节点中的存储器M可以是闪存、随机存取存储器(RAM)、只读存储器(ROM)、或电可擦除可编程ROM(EEPROM),并且在备选实施例中,程序模块可以分布在相应作业调度节点800和资源监视器802内的具有存储器形式的不同计算机程序产品上。
通过包括指令的计算机程序,本文描述的解决方案可以在作业调度节点800和资源监视器802中的每个上实现,当在至少一个处理器上执行时,所述指令使所述至少一个处理器酌情执行根据上述实施例中的任一个的动作。在作业调度节点800和资源监视器802中的每一个处,该解决方案还可以在包含上述计算机程序的载体中实现,其中,载波是电信号、光信号、无线电信号或计算机可读存储介质之一。
虽然解决方案是参照特定示例性实施例描述的,但是该描述一般仅旨在示出本发明的概念,并且不应视为限制解决方案的范围。例如,在本公开中使用了术语“作业调度节点”、“数据处理作业”、“处理机”、“处理器资源状态”、“资源监视器”、“调度矩阵”和“数据局部性”,然而也可以使用具有这里描述的特征和特性的任何其它对应的实体、功能和/或参数。本解决方案由所附权利要求限定。
Claims (20)
1.一种由作业调度节点(200)执行的用于跨处理机集合(202)来调度数据处理的方法,每个处理机包括至少一个数据处理器,所述方法包括:
-接收(2∶2、400)针对数据处理作业的请求,
-获得(2∶5、402)每个处理机的当前的处理器资源状态,所述处理器资源状态至少指示所述处理机中每个数据处理器的当前使用情况;
-基于所获得的处理器资源状态来选择(2∶6、404)所述处理机集合中的至少一个空闲数据处理器,以执行所述数据处理作业,以及
-向所选择的至少一个数据处理器所位于的至少一个处理机分派(2∶7、406)所述数据处理作业。
2.根据权利要求1所述的方法,其中,所述处理器资源状态还指示数据局部性,所述数据局部性指代取回所需数据所花费的时间,以及所述作业调度节点(200)选择具有最紧密数据局部性的至少一个空闲数据处理器。
3.根据权利要求2所述的方法,其中,所述当前的处理器资源状态被维护在每个处理机的调度矩阵中,所述调度矩阵包含与所述处理机的每个数据处理器的当前使用情况和数据局部性有关的信息。
4.根据权利要求1~3中任一项所述的方法,其中,所述处理器资源状态还指示每个数据处理器的用户标识,且所述作业调度节点(200)还基于所述用户标识来选择所述至少一个空闲数据处理器。
5.根据权利要求1~4中任一项所述的方法,其中,所述作业调度节点(200)识别所述数据处理作业中的多个任务,为每个任务选择数据处理器,并将每个任务分别分派给对应的数据处理器。
6.根据权利要求5所述的方法,其中,所述作业调度节点(xx)确定识别出的任务的执行顺序,并按所述顺序来分派任务。
7.根据权利要求1~6中任一项所述的方法,其中,当所述数据处理作业被识别为具有在预定区间内的持续时间的中等寿命作业时,所述作业调度节点(200)估计(2∶4)所述数据处理作业的作业完成时间,并且当所估计的作业完成时间大体上等于或大于所述数据处理作业的所需完成时间时执行所述方法。
8.根据权利要求7所述的方法,其中,所述作业调度节点(200)基于对先前执行的数据处理作业的作业完成时间的记录统计(206)来估计作业完成时间。
9.一种作业调度节点(800),被布置为跨一系列处理机来调度数据处理,所述作业调度节点(800)包括处理器(P)和存储器(M),所述存储器包括能够由所述处理器执行的指令,由此所述作业调度节点(800)能够用于:
-接收(800a)针对数据处理作业的请求,
-获得(800b)每个处理机的当前的处理器资源状态,所述处理器资源状态至少指示所述处理机中每个数据处理器的当前使用情况;
-基于所获得的处理器资源状态来选择(800c)所述处理机集合中的至少一个空闲数据处理器,以执行所述数据处理作业,以及
-向所选择的至少一个数据处理器所位于的至少一个处理机分派(800c)所述数据处理作业。
10.根据权利要求9所述的作业调度节点(800),其中,所述处理器资源状态还指示数据局部性,所述数据局部性指代取回所需数据所花费的时间,以及所述作业调度节点(800)能够用于选择具有最紧密数据局部性的至少一个空闲数据处理器。
11.根据权利要求10所述的作业调度节点(800),其中,所述当前的处理器资源状态被维护在每个处理机的调度矩阵中,所述调度矩阵包含与所述处理机的每个数据处理器的当前使用情况和数据局部性有关的信息。
12.根据权利要求9~11中任一项所述的作业调度节点(800),其中,所述处理器资源状态还指示每个数据处理器的用户标识,且所述作业调度节点(800)能够用于还基于所述用户标识来选择所述至少一个空闲数据处理器。
13.根据权利要求9~12中任一项所述的作业调度节点(800),其中,所述作业调度节点(800)能够用于识别所述数据处理作业中的多个任务,为每个任务选择数据处理器,并将每个任务分别分派给对应的数据处理器。
14.根据权利要求13所述的作业调度节点(800),其中,所述作业调度节点(800)能够用于确定识别出的任务的执行顺序,并按所述顺序来分派任务。
15.根据权利要求9~14中任一项所述的作业调度节点(800),其中,当所述数据处理作业被识别为具有在预定区间内的持续时间的中等寿命作业时,所述作业调度节点(200)能够用于估计所述数据处理作业的作业完成时间,并且当所估计的作业完成时间大体上等于或大于所述数据处理作业的所需完成时间时执行所述方法。
16.根据权利要求15所述的作业调度节点(800),其中,所述作业调度节点(800)能够用于基于对先前执行的数据处理作业的作业完成时间的记录统计(206)来估计作业完成时间。
17.一种由资源监视器(204)执行的用于协助作业调度节点(200)跨处理机集合来调度数据处理的方法,每个处理机包括至少一个数据处理器,所述方法包括:
-收集(2∶1、500)每个处理机中数据处理器的当前使用情况,以及
-向所述作业调度节点(200)提供(2∶3、502)每个处理机的当前的处理器资源状态,所述处理器资源状态指示每个数据处理器的所述当前使用情况,由此使所述作业调度节点(200)能够基于当前的处理器资源状态来选择所述处理机集合中用于执行数据处理作业的至少一个数据处理器。
18.一种资源监视器(802),被布置为协助作业调度节点(800)跨处理机集合来调度数据处理,每个处理机包括至少一个数据处理器,所述资源监视器(802)包括处理器(P)和存储器(M),所述存储器包括能够由所述处理器执行的指令,由此所述资源监视器(802)能够用于:
-收集(802a)每个处理机中数据处理器的当前使用情况,以及
-向所述作业调度节点(800)提供(802b)每个处理机的当前的处理器资源状态,所述处理器资源状态指示每个数据处理器的所述当前使用情况,由此使所述作业调度节点(800)能够基于当前的处理器资源状态来选择所述处理机集合中用于执行数据处理作业的至少一个数据处理器。
19.一种计算机程序,包括指令,所述指令当在至少一个处理器上执行时使所述至少一个处理器执行根据权利要求1~8和17中任一项所述的方法。
20.一种包含权利要求19所述的计算机程序在内的载体,其中,所述载体是电信号、光信号、无线电信号或计算机可读存储介质之一。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2015/050355 WO2016153401A1 (en) | 2015-03-24 | 2015-03-24 | Methods and nodes for scheduling data processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107430526A true CN107430526A (zh) | 2017-12-01 |
CN107430526B CN107430526B (zh) | 2021-10-29 |
Family
ID=52829288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580078185.0A Active CN107430526B (zh) | 2015-03-24 | 2015-03-24 | 用于调度数据处理的方法和节点 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10606650B2 (zh) |
EP (1) | EP3274828B1 (zh) |
CN (1) | CN107430526B (zh) |
WO (1) | WO2016153401A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045804A (zh) * | 2019-11-26 | 2020-04-21 | 泰康保险集团股份有限公司 | 一种任务分配方法、装置、介质及电子设备 |
CN113010269A (zh) * | 2021-03-29 | 2021-06-22 | 深信服科技股份有限公司 | 一种虚拟机调度方法、装置、电子设备及可读存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10594798B2 (en) * | 2016-06-16 | 2020-03-17 | Veniam, Inc. | Systems and methods for managing containers in a network of moving things |
JP6924083B2 (ja) * | 2017-06-22 | 2021-08-25 | 株式会社日立製作所 | 情報処理システムおよびリソース割り当て方法 |
CN116324723A (zh) * | 2020-10-10 | 2023-06-23 | 瑞典爱立信有限公司 | 用于管理网络节点的负载的方法和装置 |
CN114546623B (zh) * | 2022-03-01 | 2022-12-27 | 淮安市第二人民医院 | 一种基于大数据***的任务调度方法和*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074387A1 (en) * | 2001-09-18 | 2003-04-17 | Matsushita Electric Industrial Co., Ltd. | Distributed processing system, job distribution method and distribution program |
US20030149716A1 (en) * | 2002-02-06 | 2003-08-07 | International Business Machines Corporation | Thread dispatch mechanism and method for multiprocessor computer systems |
US20050071843A1 (en) * | 2001-12-20 | 2005-03-31 | Hong Guo | Topology aware scheduling for a multiprocessor system |
CN101339523A (zh) * | 2007-07-05 | 2009-01-07 | 国际商业机器公司 | 多处理器环境中的流水线处理方法和设备 |
US20090094611A1 (en) * | 2005-12-15 | 2009-04-09 | Anders Danne | Method and Apparatus for Load Distribution in Multiprocessor Servers |
US7752622B1 (en) * | 2005-05-13 | 2010-07-06 | Oracle America, Inc. | Method and apparatus for flexible job pre-emption |
CN101916209A (zh) * | 2010-08-06 | 2010-12-15 | 华东交通大学 | 一种多核处理器集群任务资源分配方法 |
US20120131591A1 (en) * | 2010-08-24 | 2012-05-24 | Jay Moorthi | Method and apparatus for clearing cloud compute demand |
US8300798B1 (en) * | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
US20140237477A1 (en) * | 2013-01-18 | 2014-08-21 | Nec Laboratories America, Inc. | Simultaneous scheduling of processes and offloading computation on many-core coprocessors |
CN104331331A (zh) * | 2014-11-02 | 2015-02-04 | 中国科学技术大学 | 任务数目和性能感知的可重构多核处理器的资源分配方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2601586B2 (ja) * | 1991-10-15 | 1997-04-16 | 富士通株式会社 | 配置要素の配置配線方法 |
CN101236513B (zh) * | 2007-01-30 | 2012-07-18 | 阿里巴巴集团控股有限公司 | 一种分布式任务***和分布式任务管理方法 |
EP2256632B1 (en) * | 2009-05-26 | 2013-07-31 | Telefonaktiebolaget L M Ericsson (publ) | Multi-processor scheduling |
US8418181B1 (en) * | 2009-06-02 | 2013-04-09 | Amazon Technologies, Inc. | Managing program execution based on data storage location |
EP2874498B1 (en) * | 2012-07-17 | 2017-03-22 | Rich Products Corporation | Dough packaging and method for dough processing |
US9513967B2 (en) * | 2014-09-18 | 2016-12-06 | International Business Machines Corporation | Data-aware workload scheduling and execution in heterogeneous environments |
US9256467B1 (en) * | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
-
2015
- 2015-03-24 WO PCT/SE2015/050355 patent/WO2016153401A1/en active Application Filing
- 2015-03-24 EP EP15716181.1A patent/EP3274828B1/en active Active
- 2015-03-24 CN CN201580078185.0A patent/CN107430526B/zh active Active
- 2015-03-24 US US15/555,843 patent/US10606650B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030074387A1 (en) * | 2001-09-18 | 2003-04-17 | Matsushita Electric Industrial Co., Ltd. | Distributed processing system, job distribution method and distribution program |
US20050071843A1 (en) * | 2001-12-20 | 2005-03-31 | Hong Guo | Topology aware scheduling for a multiprocessor system |
US20030149716A1 (en) * | 2002-02-06 | 2003-08-07 | International Business Machines Corporation | Thread dispatch mechanism and method for multiprocessor computer systems |
US7752622B1 (en) * | 2005-05-13 | 2010-07-06 | Oracle America, Inc. | Method and apparatus for flexible job pre-emption |
US20090094611A1 (en) * | 2005-12-15 | 2009-04-09 | Anders Danne | Method and Apparatus for Load Distribution in Multiprocessor Servers |
US8300798B1 (en) * | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
CN101339523A (zh) * | 2007-07-05 | 2009-01-07 | 国际商业机器公司 | 多处理器环境中的流水线处理方法和设备 |
CN101916209A (zh) * | 2010-08-06 | 2010-12-15 | 华东交通大学 | 一种多核处理器集群任务资源分配方法 |
US20120131591A1 (en) * | 2010-08-24 | 2012-05-24 | Jay Moorthi | Method and apparatus for clearing cloud compute demand |
US20140237477A1 (en) * | 2013-01-18 | 2014-08-21 | Nec Laboratories America, Inc. | Simultaneous scheduling of processes and offloading computation on many-core coprocessors |
CN104331331A (zh) * | 2014-11-02 | 2015-02-04 | 中国科学技术大学 | 任务数目和性能感知的可重构多核处理器的资源分配方法 |
Non-Patent Citations (2)
Title |
---|
YAN KANG: "Improving scheduling of tasks using Delay Adjust in a Heterogeneous environment", 《2010 3RD INTERNATIONAL CONFERENCE ON BIOMEDICAL ENGINEERING AND INFORMATICS》 * |
刘亚秋等: "云计算环境下基于时间期限和预算的调度算法", 《计算机工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111045804A (zh) * | 2019-11-26 | 2020-04-21 | 泰康保险集团股份有限公司 | 一种任务分配方法、装置、介质及电子设备 |
CN111045804B (zh) * | 2019-11-26 | 2024-03-19 | 泰康保险集团股份有限公司 | 一种任务分配方法、装置、介质及电子设备 |
CN113010269A (zh) * | 2021-03-29 | 2021-06-22 | 深信服科技股份有限公司 | 一种虚拟机调度方法、装置、电子设备及可读存储介质 |
CN113010269B (zh) * | 2021-03-29 | 2024-02-23 | 深信服科技股份有限公司 | 一种虚拟机调度方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10606650B2 (en) | 2020-03-31 |
CN107430526B (zh) | 2021-10-29 |
EP3274828A1 (en) | 2018-01-31 |
WO2016153401A1 (en) | 2016-09-29 |
US20180039520A1 (en) | 2018-02-08 |
EP3274828B1 (en) | 2020-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430526A (zh) | 用于调度数据处理的方法和节点 | |
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
US8087026B2 (en) | Fair share scheduling based on an individual user's resource usage and the tracking of that usage | |
US9703285B2 (en) | Fair share scheduling for mixed clusters with multiple resources | |
US8484348B2 (en) | Method and apparatus for facilitating fulfillment of web-service requests on a communication network | |
CN109471727A (zh) | 一种任务处理方法、装置及*** | |
US10503558B2 (en) | Adaptive resource management in distributed computing systems | |
JP2008519322A (ja) | 電気通信サービスおよび/またはネットワーク管理用のプラットフォームにおけるリソースの管理方法、対応プラットフォーム、およびそのコンピュータ・プログラム生成物 | |
CN102760074A (zh) | 高负荷业务流程可扩展性 | |
US20220276904A1 (en) | Job execution with managed compute environments | |
US8949429B1 (en) | Client-managed hierarchical resource allocation | |
CN111459641B (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
US8175906B2 (en) | Integrating performance, sizing, and provisioning techniques with a business process | |
CN108337275A (zh) | 用于分发服务器的任务分发方法、装置以及设备 | |
CN115543577B (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN115756822A (zh) | 高性能计算应用性能调优的方法及*** | |
Choi et al. | Gpsf: general-purpose scheduling framework for container based on cloud environment | |
CN113301087A (zh) | 资源调度方法、装置、计算设备和介质 | |
US10866837B2 (en) | Distributed job framework and task queue | |
JP5670290B2 (ja) | 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム | |
Chandak et al. | An overview of task scheduling and performance metrics in grid computing | |
Vondra et al. | Maximizing utilization in private iaas clouds with heterogenous load through time series forecasting | |
WO2022177455A1 (en) | Method and system for optimizing resource and traffic management of a computer execution environment in a vran | |
Gandhi et al. | An improved hybrid cloud workflow scheduling algorithm based on ant colony optimization | |
CN112783634B (zh) | 任务处理***、方法及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |