CN103425519A - 分布式计算方法和分布式计算系统 - Google Patents

分布式计算方法和分布式计算系统 Download PDF

Info

Publication number
CN103425519A
CN103425519A CN2012101527484A CN201210152748A CN103425519A CN 103425519 A CN103425519 A CN 103425519A CN 2012101527484 A CN2012101527484 A CN 2012101527484A CN 201210152748 A CN201210152748 A CN 201210152748A CN 103425519 A CN103425519 A CN 103425519A
Authority
CN
China
Prior art keywords
calculation element
calculation
current available
task
distributed
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
Application number
CN2012101527484A
Other languages
English (en)
Other versions
CN103425519B (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to CN201210152748.4A priority Critical patent/CN103425519B/zh
Publication of CN103425519A publication Critical patent/CN103425519A/zh
Application granted granted Critical
Publication of CN103425519B publication Critical patent/CN103425519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种分布式计算方法和分布式计算系统。该方法包括如下步骤:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。

Description

分布式计算方法和分布式计算系统
技术领域
本发明一般地涉及分布式计算方法和分布式计算系统。具体而言,本发明涉及一种能够合理地分配任务并且减少分配任务相关的计算和通信开销的分布式计算方法和分布式计算系统。
背景技术
关键词检索系统(KWS,keyword spotting system)和关键词检索方法用于从语音数据中检索用户给出的关键词。实时的关键词检索技术广泛应用在语音搜索,网络服务,及监听等众多领域。实时性意味着服务器能在用户输入语音的同时对其中出现的关键词进行反应。其中,计算延迟是实时性的关键问题。在传统的关键词检索技术中,一种手段是通过多核技术等以增加硬件成本为代价的方法来减少计算延迟。因此,上述手段受硬件发展的限制,很难达到较大尺度,经济性不好。另一种手段是通过分布式计算来提高关键词检索的实时性能,其相对而言成本较低,可以充分利用现有资源,具有良好的可伸缩性及经济性。但是利用分布式计算的关键词检索系统面临如下问题:如何对于具有不同响应时延的计算装置进行合理的任务分配、如何根据计算装置的负载情况合理地调整任务分配、如何减少分配任务相关的计算和通信开销并具有简单可行的容错机制。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的目的是针对现有技术的上述问题,提出了一种分布式计算系统和分布式计算方法,尤其适合于关键词检索系统和关键词检索方法。本发明综合考虑计算装置的当前任务量和机器时延来进行任务分配、具有简单而有效的容错机制、并且任务分配相关的计算和通信开销大幅减小。针对各个任务彼此独立、各个任务的计算量基本相同的任务,例如基于时间帧序列计算的关键词检索任务,提出以工作组作为单位进行任务分配,以简化计算装置的通信代价,并使得任务分配更为合理。
为了实现上述目的,根据本发明的一个方面,提供了一种分布式计算方法,包括如下步骤:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
根据本发明的一个具体实施例,所述确定当前可用计算装置集合包括:将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
根据本发明的一个具体实施例,将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
根据本发明的一个具体实施例,所述根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用包括:对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;在计算装置满足预定条件
Figure BDA00001645984700031
的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
根据本发明的一个具体实施例,所述确定步骤还包括:根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi;所述分配步骤包括:根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
根据本发明的一个具体实施例,在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
根据本发明的另一个方面,提供了一种分布式计算系统,包括:分布式计算装置集群,所述分布式计算装置集群中包括多个分布式计算装置;等待队列,所述等待队列中按顺序排列待计算的任务;以及任务分配装置,所述任务分配装置被配置为:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
根据本发明的一个具体实施例,所述任务分配装置被进一步配置为:将当前可用计算装置集合初始化为分布式计算装置集群中的所有计算装置;根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
根据本发明的一个具体实施例,所述系统还包括容错装置,所述容错装置被配置为:将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
根据本发明的一个具体实施例,所述任务分配装置被进一步配置为:对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
另外,根据本发明的另一方面,还提供了一种存储介质。所述存储介质包括机器可读的程序代码,当在信息处理设备上执行所述程序代码时,所述程序代码使得所述信息处理设备执行根据本发明的上述方法。
此外,根据本发明的再一方面,还提供了一种程序产品。所述程序产品包括机器可执行的指令,当在信息处理设备上执行所述指令时,所述指令使得所述信息处理设备执行根据本发明的上述方法。
附图说明
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。附图中:
图1示出了根据本发明的分布式计算方法的流程图;
图2示出了根据本发明的分布式计算系统200的示意图;
图3示出了可用于实施根据本发明实施例的方法和系统的计算机300的示意性框图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行详细描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。另外,还需要指出的是,在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。
下面将参照图1描述根据本发明的分布式计算方法的流程。
图1示出了根据本发明的分布式计算方法的流程图。如图1所示,根据本发明的分布式计算方法包括如下步骤:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组(步骤S1);确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置(步骤S2);以及将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算(步骤S3)。
以关键词检索任务为例,其中计算的任务以语音帧为单位,输入帧经预处理后,按顺序放入等待队列,每个任务的输入是语音帧的特征和状态,输出是似然性。可见,各个任务之间彼此独立、各个任务的计算量基本相同,因此,可以根据任务的个数来判断任务的计算量,并且可以并行执行各个任务。
在传统的基于分布式计算的关键词检索中,每一个任务被单独地从队列中提取出来,并放入分布式计算系统进行计算,因此,分配任务的通信开销很大,造成极大的浪费,并一定程度上影响任务的实时性效果。
对此,本发明的发明人提出当前工作组的概念。当前工作组是指当前分布式计算装置集群正在处理的任务的集合。每次分配任务时,从等待队列中批量取出一批任务,这些任务被一次性加入到当前工作组中。通过将当前任务组中业已存在的任务与新加入进来的待分配任务一起考虑,并考虑分布式计算装置集群中当前可用的计算装置的响应时延,来分配待分配的新任务。这样,任务分配相关的计算和通信开销大大减少,并且任务的分配的结果能够更加合理,避免响应时延小的计算装置承担了过多的计算任务。下面,将对根据本发明的分布式计算方法做进一步详细说明,以更好地理解本发明的特征和优点。
在步骤S1中,从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组。
在步骤S2中,确定当前可用计算装置集合。
所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置。在判断分布式计算装置集群中的计算装置是否可用时,主要考虑的因素包括:计算装置的平均响应时延和当前负载、待分配的新任务数等。
具体地,可通过如下子步骤确定当前可用计算装置集合:
S21:将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;
S22:根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;
S23:将被判断为不可用的计算装置从当前可用计算装置集合中移除,重复步骤S22、S23直至当前可用计算装置集合中的所有计算装置都可用。
经上述步骤S21-S23后得到的当前可用计算装置集合中的所有计算装置都可用,故可进行步骤S3,将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
其中,步骤S22可以通过如下方式具体实现。
对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;
在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
为了更好地描述本发明,对如下示例进行描述。
假设分布式计算装置集群现有三个可用计算装置:C1、C2、C3。计算装置的响应时延分别为C1为t1=1ms,C2为t2=2ms,C3为t3=2ms。当前运行任务量:C1为n1=2个单位任务,C2为n2=1个单位任务,C3为n3=35个单位任务。本次待分配新任务Nnew=100个单位任务。
则将当前可用计算装置集合初始化为包括C1、C2、C3。
计算C1、C2、C3的选择概率,即被分配任务的概率如下:
p 1 = 1 t 1 1 t 1 + 1 t 2 + 1 t 3 = 1 2
p 2 = 1 t 2 1 t 1 + 1 t 2 + 1 t 3 = 1 4
p 3 = 1 t 3 1 t 1 + 1 t 2 + 1 t 3 = 1 4
判断计算装置是否满足预定条件:
Figure BDA00001645984700075
C1预算任务: ( 100 + 2 + 1 + 35 ) × 1 2 = 69
C2预算任务: ( 100 + 2 + 1 + 35 ) × 1 4 = 34
C3预算任务: ( 100 + 2 + 1 + 35 ) × 1 4 = 34
C1、C2预算任务大于当前运行任务量,故可向其分配新任务;C3预算任务量小于当前运行任务量,故不能接受新任务。将被判断为不可用的计算装置C3从当前可用计算装置集合中移除。
对C1,C2重新计算分配概率:
p 1 = 1 t 1 1 t 1 + 1 t 2 = 2 3
p 2 = 1 t 2 1 t 1 + 1 t 2 = 1 3
重新根据公式进行判断:
C1预算任务: ( 100 + 2 + 1 ) × 2 3 = 68
C2预算任务: ( 100 + 2 + 1 ) × 1 3 = 35
C1、C2预算任务大于当前运行任务量2和1,故不再移除,此时当前可用计算装置集合中的所有计算装置都可用。将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
新增100个单位任务的分配方法为:C1接受66个,C2接受34个。
此外,为了具有一定的容错功能,根据本发明的分布式计算方法还包括:将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;以及对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群(步骤S4)。这样可以减轻每次分配任务时的计算负担,并且能够使得响应慢或没有响应的计算装置不会因为不断增加的新任务而死机,其通过一定时间的调整可能自行恢复正常。通过对其进行例如周期性的检测,可以将恢复正常的计算装置重新移回分布式计算装置集群,从而可以利用更多的计算装置。
并且,还进行了如下的容错设计:在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
此外,根据本发明的分布式计算方法还包括:将已计算完毕的任务从当前工作组中移除(步骤S5)。
此外,为了控制分布式计算装置集群的整体负载水平,可设置当前工作组中的任务数不超过预定阈值。所述预定阈值可根据任务的实际类型、分布式计算装置集群的硬件条件等因素灵活设置。
此外,上述确定当前可用计算装置集合步骤中计算的计算装置i的选择概率pi表示该计算装置i被分配任务的概率,其还可被应用于分配新任务。即可根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
下面将参照图2描述根据本发明的分布式计算系统200的结构。
图2示出了根据本发明的分布式计算系统200的示意图。所述分布式计算系统200包括:分布式计算装置集群201,所述分布式计算装置集群201中包括多个分布式计算装置;等待队列202,所述等待队列中按顺序排列待计算的任务;任务分配装置203,所述任务分配装置被配置为:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
与如上所述的分布式计算方法类似,所述分布式计算系统适于处理如下的任务:各个任务彼此独立、各个任务的计算量基本相同。所述分布式计算系统例如是关键词检索系统,所述任务例如是根据语音帧的特征和状态计算似然度。
所述任务分配装置203被进一步配置为:将当前可用计算装置集合初始化为分布式计算装置集群中的所有计算装置;根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;以及将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
为了具有容错功能,分布式计算系统200还包括容错装置204,所述容错装置204被配置为:将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
所述任务分配装置203被进一步配置为:对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;在计算装置满足预定条件
Figure BDA00001645984700102
的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
分布式计算系统200还包括:任务移除装置205,所述任务移除装置205被配置为将已计算完毕的任务从当前工作组中移除。
为了控制分布式计算装置集群的整体负载水平,可设置当前工作组中的任务数不超过预定阈值。
所述任务分配装置203被进一步配置为:根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi;根据所述选择概率pi将待分配的新任务一起分配到当前可用计算装置集合中的计算装置。
所述任务分配装置203被进一步配置为:在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
由于在根据本发明的分布式计算系统200中所包括的分布式计算装置集群201、等待队列202、任务分配装置203、容错装置204、任务移除装置205中的处理分别与上面描述的分布式计算方法的步骤S1-S5中的处理类似,因此为了简洁起见,在此省略这些装置的详细描述。
此外,这里尚需指出的是,上述装置中各个组成模块、单元可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图3所示的通用计算机300)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
图3示出可用于实施根据本发明实施例的方法和设备的计算机的示意性框图。
在图3中,中央处理单元(CPU)301根据只读存储器(ROM)302中存储的程序或从存储部分308加载到随机存取存储器(RAM)303的程序执行各种处理。在RAM 303中,还根据需要存储当CPU 301执行各种处理等等时所需的数据。CPU 301、ROM 302和RAM 303经由总线304彼此连接。输入/输出接口305也连接到总线304。
下述部件连接到输入/输出接口305:输入部分306(包括键盘、鼠标等等)、输出部分307(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分308(包括硬盘等)、通信部分309(包括网络接口卡比如LAN卡、调制解调器等)。通信部分309经由网络比如因特网执行通信处理。根据需要,驱动器310也可连接到输入/输出接口305。可拆卸介质311比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器310上,使得从中读出的计算机程序根据需要被安装到存储部分308中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质311安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图3所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质311。可拆卸介质311的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 302、存储部分308中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施例的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
尽管上面已经通过对本发明的具体实施例的描述对本发明进行了披露,但是,应该理解,上述的所有实施例和示例均是示例性的,而非限制性的。本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。
附记
1.一种分布式计算方法,包括如下步骤:
从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;
确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及
将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
2.如附记1所述的分布式计算方法,其中所述分布式计算方法应用于所处理的各个任务彼此独立、各个任务的计算量基本相同的方法和系统。
3.如附记2所述的分布式计算方法,其中所述所处理的各个任务彼此独立、各个任务的计算量基本相同的方法和系统包括:关键词检索方法和关键词检索系统,所述任务包括根据语音帧的特征和状态计算似然度。
4.如附记1所述的分布式计算方法,其中所述确定当前可用计算装置集合包括:
将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;
根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;
将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
5.如附记4所述的分布式计算方法,还包括步骤:
将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;
对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
6.如附记4所述的分布式计算方法,其中所述根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用包括:
对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;
在计算装置满足预定条件
Figure BDA00001645984700142
的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
7.如附记1所述的分布式计算方法,还包括步骤:将已计算完毕的任务从当前工作组中移除。
8.如附记1所述的分布式计算方法,其中所述当前工作组中的任务数不超过预定阈值。
9.如附记1所述的分布式计算方法,其中
所述确定步骤还包括:根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi
所述分配步骤包括:根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
10.如附记1所述的分布式计算方法,还包括步骤:
在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
11.一种分布式计算系统,包括:
分布式计算装置集群,所述分布式计算装置集群中包括多个分布式计算装置;
等待队列,所述等待队列中按顺序排列待计算的任务;以及
任务分配装置,所述任务分配装置被配置为:
从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;
确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;
将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
12.如附记11所述的分布式计算系统,其中所述分布式计算系统适于处理如下的任务:各个任务彼此独立、各个任务的计算量基本相同。
13.如附记12所述的分布式计算系统,其中所述分布式计算系统包括关键词检索系统,所述任务包括根据语音帧的特征和状态计算似然度。
14.如附记11所述的分布式计算系统,其中所述任务分配装置被进一步配置为:
将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;
根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;
将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
15.如附记14所述的分布式计算系统,其中所述系统还包括容错装置,所述容错装置被配置为:
将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;
对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
16.如附记14所述的分布式计算系统,其中所述任务分配装置被进一步配置为:
对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;
在计算装置满足预定条件
Figure BDA00001645984700162
的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
17.如附记11所述的分布式计算系统,其中所述系统还包括:任务移除装置,所述任务移除装置被配置为将已计算完毕的任务从当前工作组中移除。
18.如附记11所述的分布式计算系统,其中所述当前工作组中的任务数不超过预定阈值。
19.如附记11所述的分布式计算系统,其中所述任务分配装置被进一步配置为:
根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi
根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
20.如附记11所述的分布式计算系统,所述任务分配装置被进一步配置为:
在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。

Claims (10)

1.一种分布式计算方法,包括如下步骤:
从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;
确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及
将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
2.如权利要求1所述的分布式计算方法,其中所述确定当前可用计算装置集合包括:
将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;
根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;以及
将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
3.如权利要求2所述的分布式计算方法,还包括步骤:
将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;以及
对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
4.如权利要求2所述的分布式计算方法,其中所述根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用包括:
对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;以及
在计算装置满足预定条件
Figure FDA00001645984600022
的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
5.如权利要求1所述的分布式计算方法,其中
所述确定步骤还包括:根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi
所述分配步骤包括:根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
6.如权利要求1所述的分布式计算方法,还包括步骤:
在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
7.一种分布式计算系统,包括:
分布式计算装置集群,所述分布式计算装置集群中包括多个分布式计算装置;
等待队列,所述等待队列中按顺序排列待计算的任务;以及
任务分配装置,所述任务分配装置被配置为:
从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;
确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;
将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
8.如权利要求7所述的分布式计算系统,其中所述任务分配装置被进一步配置为:
将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;
根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;以及
将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
9.如权利要求8所述的分布式计算系统,其中所述系统还包括容错装置,所述容错装置被配置为:
将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;以及
对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
10.如权利要求8所述的分布式计算系统,其中所述任务分配装置被进一步配置为:
对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi p i = 1 / latenc y i Σ k ∈ Φ a 1 / latenc y k , i ∈ Φ a 0 , i ∈ Φ u ; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;以及
在计算装置满足预定条件
Figure FDA00001645984600042
的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
CN201210152748.4A 2012-05-16 2012-05-16 分布式计算方法和分布式计算系统 Active CN103425519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210152748.4A CN103425519B (zh) 2012-05-16 2012-05-16 分布式计算方法和分布式计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210152748.4A CN103425519B (zh) 2012-05-16 2012-05-16 分布式计算方法和分布式计算系统

Publications (2)

Publication Number Publication Date
CN103425519A true CN103425519A (zh) 2013-12-04
CN103425519B CN103425519B (zh) 2016-10-05

Family

ID=49650313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210152748.4A Active CN103425519B (zh) 2012-05-16 2012-05-16 分布式计算方法和分布式计算系统

Country Status (1)

Country Link
CN (1) CN103425519B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600220A (zh) * 2016-11-29 2017-04-26 叶飞 一种分布式计算方法
CN107018039A (zh) * 2016-12-16 2017-08-04 阿里巴巴集团控股有限公司 测试服务器集群性能瓶颈的方法和装置
CN107589991A (zh) * 2017-10-31 2018-01-16 麦格创科技(深圳)有限公司 分布式系统的网页分配方法及系统
CN107679243A (zh) * 2017-10-31 2018-02-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的应用方法及系统
CN107679233A (zh) * 2017-10-24 2018-02-09 麦格创科技(深圳)有限公司 分布式爬虫任务分配方法及系统
CN107707673A (zh) * 2017-10-31 2018-02-16 麦格创科技(深圳)有限公司 基于网页任务的实现方法及系统
CN107729153A (zh) * 2017-10-31 2018-02-23 麦格创科技(深圳)有限公司 网页采集任务分配方法及系统
CN107766522A (zh) * 2017-10-25 2018-03-06 麦格创科技(深圳)有限公司 分布式爬虫系统中任务管理器的分配方法及系统
CN107784116A (zh) * 2017-11-10 2018-03-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的实现方法及系统
CN107800789A (zh) * 2017-10-24 2018-03-13 麦格创科技(深圳)有限公司 分布式爬虫系统中任务管理器的分配方法及系统
CN108256966A (zh) * 2018-01-12 2018-07-06 瑞银国际物流(江苏)有限公司 一种基于区块链的分布式商品追踪方法
WO2019084750A1 (zh) * 2017-10-31 2019-05-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的应用方法及系统
WO2020119029A1 (zh) * 2018-12-10 2020-06-18 平安科技(深圳)有限公司 分布式任务调度方法、系统及存储介质
CN112015553A (zh) * 2020-08-27 2020-12-01 深圳壹账通智能科技有限公司 基于机器学习模型的数据处理方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1232218A (zh) * 1998-04-14 1999-10-20 国际商业机器公司 对服务器进行负荷管理的数据处理设备、方法和程序产品
CN101441580A (zh) * 2008-12-09 2009-05-27 华北电网有限公司 分布式并行计算平台系统及其计算任务分配方法
US7665092B1 (en) * 2004-12-15 2010-02-16 Sun Microsystems, Inc. Method and apparatus for distributed state-based load balancing between task queues
CN102281190A (zh) * 2011-07-01 2011-12-14 杭州斯凯网络科技有限公司 负载均衡装置组网方法以及服务器、客户端接入方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1232218A (zh) * 1998-04-14 1999-10-20 国际商业机器公司 对服务器进行负荷管理的数据处理设备、方法和程序产品
US7665092B1 (en) * 2004-12-15 2010-02-16 Sun Microsystems, Inc. Method and apparatus for distributed state-based load balancing between task queues
CN101441580A (zh) * 2008-12-09 2009-05-27 华北电网有限公司 分布式并行计算平台系统及其计算任务分配方法
CN102281190A (zh) * 2011-07-01 2011-12-14 杭州斯凯网络科技有限公司 负载均衡装置组网方法以及服务器、客户端接入方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600220A (zh) * 2016-11-29 2017-04-26 叶飞 一种分布式计算方法
CN107018039A (zh) * 2016-12-16 2017-08-04 阿里巴巴集团控股有限公司 测试服务器集群性能瓶颈的方法和装置
CN107018039B (zh) * 2016-12-16 2020-04-14 阿里巴巴集团控股有限公司 测试服务器集群性能瓶颈的方法和装置
CN107679233A (zh) * 2017-10-24 2018-02-09 麦格创科技(深圳)有限公司 分布式爬虫任务分配方法及系统
CN107800789A (zh) * 2017-10-24 2018-03-13 麦格创科技(深圳)有限公司 分布式爬虫系统中任务管理器的分配方法及系统
CN107766522A (zh) * 2017-10-25 2018-03-06 麦格创科技(深圳)有限公司 分布式爬虫系统中任务管理器的分配方法及系统
CN107679243A (zh) * 2017-10-31 2018-02-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的应用方法及系统
CN107729153A (zh) * 2017-10-31 2018-02-23 麦格创科技(深圳)有限公司 网页采集任务分配方法及系统
CN107707673A (zh) * 2017-10-31 2018-02-16 麦格创科技(深圳)有限公司 基于网页任务的实现方法及系统
WO2019084750A1 (zh) * 2017-10-31 2019-05-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的应用方法及系统
CN107589991A (zh) * 2017-10-31 2018-01-16 麦格创科技(深圳)有限公司 分布式系统的网页分配方法及系统
CN107784116A (zh) * 2017-11-10 2018-03-09 麦格创科技(深圳)有限公司 任务分配在分布式系统的实现方法及系统
CN108256966A (zh) * 2018-01-12 2018-07-06 瑞银国际物流(江苏)有限公司 一种基于区块链的分布式商品追踪方法
WO2020119029A1 (zh) * 2018-12-10 2020-06-18 平安科技(深圳)有限公司 分布式任务调度方法、系统及存储介质
CN112015553A (zh) * 2020-08-27 2020-12-01 深圳壹账通智能科技有限公司 基于机器学习模型的数据处理方法、装置、设备和介质

Also Published As

Publication number Publication date
CN103425519B (zh) 2016-10-05

Similar Documents

Publication Publication Date Title
CN103425519A (zh) 分布式计算方法和分布式计算系统
CN105808334B (zh) 一种基于资源重用的MapReduce短作业优化系统及方法
CN102063336B (zh) 一种分布式计算多应用功能异步并发调度方法
CN103970587B (zh) 一种资源调度的方法、设备和系统
CN109710405B (zh) 区块链智能合约管理方法、装置、电子设备及存储介质
CN105022670A (zh) 一种云计算平台中的异构分布式任务处理系统及其处理方法
CN107515663A (zh) 调整中央处理器内核运行频率的方法和装置
CN102779223A (zh) 短期电力负荷预测的方法及装置
CN107977167B (zh) 一种基于纠删码的分布式存储系统的退化读优化方法
CN102591940A (zh) 一种基于Map/Reduce的快速支持向量数据描述方法及系统
CN104636187A (zh) 基于负载预测的numa架构中虚拟机调度方法
CN108769162B (zh) 分布式消息均衡处理方法、装置、电子设备、存储介质
CN101916321B (zh) 一种Web应用细粒度性能建模方法及其系统
CN103473115A (zh) 虚拟机放置方法和装置
CN100405306C (zh) 程序排程系统及方法
CN110618867A (zh) 一种预测资源使用量的方法和装置
US20120204183A1 (en) Associative distribution units for a high flowrate synchronizer/schedule
CN104573031A (zh) 一种微博突发事件检测方法
CN106155822A (zh) 一种处理能力评估方法及装置
CN101751298A (zh) 一种基于能量和时间约束的移动网格任务调度方法
CN116360921A (zh) 一种面向电力物联网的云平台资源优化调度方法及系统
CN115713395A (zh) 一种基于Flink的用户风控管理方法、装置及设备
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
Banicescu et al. Towards the robustness of dynamic loop scheduling on large-scale heterogeneous distributed systems
Zhang et al. Determination of early warning time window for bottleneck resource buffer

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