CN103425519B - 分布式计算方法和分布式计算*** - Google Patents
分布式计算方法和分布式计算*** Download PDFInfo
- Publication number
- CN103425519B CN103425519B CN201210152748.4A CN201210152748A CN103425519B CN 103425519 B CN103425519 B CN 103425519B CN 201210152748 A CN201210152748 A CN 201210152748A CN 103425519 B CN103425519 B CN 103425519B
- Authority
- CN
- China
- Prior art keywords
- computing device
- currently available
- task
- distributed
- distributed computing
- 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
Links
Landscapes
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种分布式计算方法和分布式计算***。该方法包括如下步骤:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
Description
技术领域
本发明一般地涉及分布式计算方法和分布式计算***。具体而言,本发明涉及一种能够合理地分配任务并且减少分配任务相关的计算和通信开销的分布式计算方法和分布式计算***。
背景技术
关键词检索***(KWS,keyword spotting system)和关键词检索方法用于从语音数据中检索用户给出的关键词。实时的关键词检索技术广泛应用在语音搜索,网络服务,及监听等众多领域。实时性意味着服务器能在用户输入语音的同时对其中出现的关键词进行反应。其中,计算延迟是实时性的关键问题。在传统的关键词检索技术中,一种手段是通过多核技术等以增加硬件成本为代价的方法来减少计算延迟。因此,上述手段受硬件发展的限制,很难达到较大尺度,经济性不好。另一种手段是通过分布式计算来提高关键词检索的实时性能,其相对而言成本较低,可以充分利用现有资源,具有良好的可伸缩性及经济性。但是利用分布式计算的关键词检索***面临如下问题:如何对于具有不同响应时延的计算装置进行合理的任务分配、如何根据计算装置的负载情况合理地调整任务分配、如何减少分配任务相关的计算和通信开销并具有简单可行的容错机制。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的目的是针对现有技术的上述问题,提出了一种分布式计算***和分布式计算方法,尤其适合于关键词检索***和关键词检索方法。本发明综合考虑计算装置的当前任务量和机器时延来进行任务分配、具有简单而有效的容错机制、并且任务分配相关的计算和通信开销大幅减小。针对各个任务彼此独立、各个任务的计算量基本相同的任务,例如基于时间帧序列计算的关键词检索任务,提出以工作组作为单位进行任务分配,以简化计算装置的通信代价,并使得任务分配更为合理。
为了实现上述目的,根据本发明的一个方面,提供了一种分布式计算方法,包括如下步骤:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
根据本发明的一个具体实施例,所述确定当前可用计算装置集合包括:将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
根据本发明的一个具体实施例,将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
根据本发明的一个具体实施例,所述根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用包括:对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
根据本发明的一个具体实施例,所述确定步骤还包括:根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi;所述分配步骤包括:根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
根据本发明的一个具体实施例,在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
根据本发明的另一个方面,提供了一种分布式计算***,包括:分布式计算装置集群,所述分布式计算装置集群中包括多个分布式计算装置;等待队列,所述等待队列中按顺序排列待计算的任务;以及任务分配装置,所述任务分配装置被配置为:从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算。
根据本发明的一个具体实施例,所述任务分配装置被进一步配置为:将当前可用计算装置集合初始化为分布式计算装置集群中的所有计算装置;根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用。
根据本发明的一个具体实施例,所述***还包括容错装置,所述容错装置被配置为:将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
根据本发明的一个具体实施例,所述任务分配装置被进一步配置为:对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi; Φ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; Φ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的选择概率,即被分配任务的概率如下:
判断计算装置是否满足预定条件:
C1预算任务:
C2预算任务:
C3预算任务:
C1、C2预算任务大于当前运行任务量,故可向其分配新任务;C3预算任务量小于当前运行任务量,故不能接受新任务。将被判断为不可用的计算装置C3从当前可用计算装置集合中移除。
对C1,C2重新计算分配概率:
重新根据公式进行判断:
C1预算任务:
C2预算任务:
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; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,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; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;
在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,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; Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;
在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
17.如附记11所述的分布式计算***,其中所述***还包括:任务移除装置,所述任务移除装置被配置为将已计算完毕的任务从当前工作组中移除。
18.如附记11所述的分布式计算***,其中所述当前工作组中的任务数不超过预定阈值。
19.如附记11所述的分布式计算***,其中所述任务分配装置被进一步配置为:
根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi;
根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
20.如附记11所述的分布式计算***,所述任务分配装置被进一步配置为:
在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
Claims (6)
1.一种分布式计算方法,包括如下步骤:
从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;
确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;以及
将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算;
其中所述确定当前可用计算装置集合包括:
将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;
根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;以及
将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用;
其中所述根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用包括:
对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi;Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;以及
在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
2.如权利要求1所述的分布式计算方法,还包括步骤:
将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;以及
对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
3.如权利要求1所述的分布式计算方法,其中
所述确定步骤还包括:根据计算装置i的平均响应时延计算该计算装置被分配任务的选择概率pi;
所述分配步骤包括:根据所述选择概率pi将待分配的新任务分配到当前可用计算装置集合中的计算装置。
4.如权利要求1所述的分布式计算方法,还包括步骤:
在被选择的计算装置在预定时间后未作出响应的情况下,对于被分配给该计算装置的任务,重新分配计算装置。
5.一种分布式计算***,包括:
分布式计算装置集群,所述分布式计算装置集群中包括多个分布式计算装置;
等待队列,所述等待队列中按顺序排列待计算的任务;以及
任务分配装置,所述任务分配装置被配置为:
从等待队列中取出多个任务,作为待分配的新任务,并将其放入当前工作组;
确定当前可用计算装置集合,所述当前可用计算装置集合包括分布式计算装置集群中所有当前可用的计算装置;
将所述待分配的新任务一起分配到所述当前可用计算装置集合中的计算装置,以进行计算;
其中所述任务分配装置被进一步配置为:
将当前可用计算装置集合初始化为包括分布式计算装置集群中的所有计算装置;
根据当前可用计算装置集合中的计算装置的平均响应时延和当前负载,判断计算装置是否可用;以及
将被判断为不可用的计算装置从当前可用计算装置集合中移除,直至当前可用计算装置集合中的所有计算装置都可用;
其中所述任务分配装置被进一步配置为:
对于当前可用计算装置集合中的每一个计算装置i,根据计算装置i的平均响应时延计算该计算装置i的选择概率pi;Φa是当前可用计算装置集合,Φu是分布式计算装置集群中不属于当前可用计算装置集合的所有计算装置构成的集合,latencyk是计算装置k在特定时间段内的平均响应时延,latencyi是计算装置i在所述特定时间段内的平均响应时延;以及
在计算装置满足预定条件的情况下,判断该计算装置当前可用,其中,Nnew是待分配的新任务,nk是属于当前可用计算装置集合的计算装置k上已经运行的任务数,ni是计算装置i上已经运行的任务数。
6.如权利要求5所述的分布式计算***,其中所述***还包括容错装置,所述容错装置被配置为:
将在预定时间内总是响应慢或没有响应的计算装置从分布式计算装置集群中移除;以及
对被移除的计算装置进行检测,在检测结果表明计算装置可用的情况下,将计算装置移回分布式计算装置集群。
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 CN103425519A (zh) | 2013-12-04 |
CN103425519B true 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) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600220A (zh) * | 2016-11-29 | 2017-04-26 | 叶飞 | 一种分布式计算方法 |
CN107018039B (zh) * | 2016-12-16 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 测试服务器集群性能瓶颈的方法和装置 |
CN107800789A (zh) * | 2017-10-24 | 2018-03-13 | 麦格创科技(深圳)有限公司 | 分布式爬虫***中任务管理器的分配方法及*** |
CN107679233A (zh) * | 2017-10-24 | 2018-02-09 | 麦格创科技(深圳)有限公司 | 分布式爬虫任务分配方法及*** |
CN107766522A (zh) * | 2017-10-25 | 2018-03-06 | 麦格创科技(深圳)有限公司 | 分布式爬虫***中任务管理器的分配方法及*** |
CN107679243A (zh) * | 2017-10-31 | 2018-02-09 | 麦格创科技(深圳)有限公司 | 任务分配在分布式***的应用方法及*** |
WO2019084750A1 (zh) * | 2017-10-31 | 2019-05-09 | 麦格创科技(深圳)有限公司 | 任务分配在分布式***的应用方法及*** |
CN107589991A (zh) * | 2017-10-31 | 2018-01-16 | 麦格创科技(深圳)有限公司 | 分布式***的网页分配方法及*** |
CN107729153A (zh) * | 2017-10-31 | 2018-02-23 | 麦格创科技(深圳)有限公司 | 网页采集任务分配方法及*** |
CN107707673A (zh) * | 2017-10-31 | 2018-02-16 | 麦格创科技(深圳)有限公司 | 基于网页任务的实现方法及*** |
CN107784116A (zh) * | 2017-11-10 | 2018-03-09 | 麦格创科技(深圳)有限公司 | 任务分配在分布式***的实现方法及*** |
CN108256966A (zh) * | 2018-01-12 | 2018-07-06 | 瑞银国际物流(江苏)有限公司 | 一种基于区块链的分布式商品追踪方法 |
CN109669775B (zh) * | 2018-12-10 | 2024-06-25 | 平安科技(深圳)有限公司 | 分布式任务调度方法、***及存储介质 |
CN112015553A (zh) * | 2020-08-27 | 2020-12-01 | 深圳壹账通智能科技有限公司 | 基于机器学习模型的数据处理方法、装置、设备和介质 |
Citations (4)
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 | 杭州斯凯网络科技有限公司 | 负载均衡装置组网方法以及服务器、客户端接入方法 |
-
2012
- 2012-05-16 CN CN201210152748.4A patent/CN103425519B/zh active Active
Patent Citations (4)
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 | 杭州斯凯网络科技有限公司 | 负载均衡装置组网方法以及服务器、客户端接入方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103425519A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425519B (zh) | 分布式计算方法和分布式计算*** | |
Tang et al. | Reliability-aware scheduling strategy for heterogeneous distributed computing systems | |
CN102508718B (zh) | 一种虚拟机负载均衡方法和装置 | |
CN104636187B (zh) | 基于负载预测的numa架构中虚拟机调度方法 | |
CN103401939B (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN107515663A (zh) | 调整中央处理器内核运行频率的方法和装置 | |
CN108132838A (zh) | 一种图数据处理的方法、装置及*** | |
CN106897136A (zh) | 一种任务调度方法及装置 | |
CN103729252B (zh) | 一种虚拟机调度的方法及调度监控器 | |
CN106020976B (zh) | 将内存耗尽处理流程卸载到用户空间的方法和装置 | |
CN107656813A (zh) | 一种负载调度的方法、装置及终端 | |
CN108549583A (zh) | 大数据处理方法、装置、服务器及可读存储介质 | |
CN103955398A (zh) | 一种基于处理器性能监控的虚拟机共生调度方法 | |
CN111966453A (zh) | 一种负载均衡方法、***、设备及存储介质 | |
CN110221909A (zh) | 一种基于负载预测的Hadoop计算任务推测执行方法 | |
CN111506430A (zh) | 多任务下数据处理的方法、装置及电子设备 | |
CN115150471A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN113778627B (zh) | 一种创建云资源的调度方法 | |
CN105045667A (zh) | 一种用于虚拟机vCPU调度的资源池管理方法 | |
CN110262896A (zh) | 一种面向Spark***的数据处理加速方法 | |
CN110096339A (zh) | 一种基于***负载实现的扩缩容配置推荐***及方法 | |
CN108268312A (zh) | 任务调度方法和调度器 | |
CN112256441B (zh) | 神经网络推理的内存分配方法及装置 | |
CN106844175B (zh) | 一种基于机器学***台容量规划方法 | |
CN108304254A (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 |