Reduce任务的调度方法及装置与流程

文档序号:17900961发布日期:2019-06-13 16:31阅读:184来源:国知局
Reduce任务的调度方法及装置与流程

本发明实施例涉及计算机技术领域,尤其涉及一种reduce任务的调度方法及装置。



背景技术:

mapreduce是一种简单的编程模型,其对数据的操作可以归结为两个阶段:map(映射)阶段和reduce(归约)阶段,由于在处理分析大规模数据集时的简单性和灵活性,mapreduce一时成为了当前主流的海量数据处理框架。hadoop(海杜普)作为其优秀的开源实现被广泛使用。hadoop的任务调度算法决定了任务的执行性能,进而影响到整个hadoop集群的性能。幸运的是,hadoop实现的可插入式调度器,能灵活地运用不同的任务调度算法为任务分配集群资源,这些算法各有优势,它们工作效率取决于工作负载和集群特性。

目前主要的mapreduce任务调度方法有三种,分别为:fifo(firstinputfirstoutput,先入先出)调度方法、公平调度方法和容量调度方法。fifo调度方法按任务的提交时间来执行任务,不考虑作业的优先级或大小,容易实现,而且效率相对较高;公平调度方法(fairscheduler)是由facebook开发设计的,它的核心概念是:随着时间的推移,平均地为作业分配集群资源,该调度算法可以让hadoop集群对提交的多种类型任务作出更大的响应比,特别适用于中小规模的集群;由yahoo开发的容量调度器(capacityscheduler)与公平调度器类似,它能提供更大的控制能力,保证用户的最小容量要求,并在用户之间共享多余的容量,主要用于拥有多个独立用户和目标应用程序的大型集群。

上述公平调度方法使用更为广泛,但是公平调度方法在进行任务调度时,并未考虑reduce任务的数据本地性,从而导致网络传输开销较大、任务调度时间较长。



技术实现要素:

有鉴于此,本发明实施例所解决的技术问题之一在于提供一种reduce任务的调度方法及装置,用以克服现有技术中在进行任务调度时,并未考虑reduce任务的数据本地性,从而导致网络传输开销较大、任务调度时间较长的缺陷。

本发明实施例提供一种reduce任务的调度方法,所述方法包括:

当请求节点申请reduce任务时,确定各未被调度的reduce任务的数据本地性衡量值;

选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件;

若满足,则将所述选取的reduce任务分配给所述请求节点。

可选地,所述确定选取的reduce任务是否满足调度条件的步骤,包括:

比较所述选取的reduce任务的数据本地性衡量值与所述选取的reduce任务的等待次数对应的阈值;

若所述数据本地性衡量值小于或等于所述阈值,则确定所述选取的reduce任务满足调度条件。

可选地,在所述将所述选取的reduce任务分配给所述请求节点的步骤之后,还包括:将所述选取的reduce任务的等待次数置为0。

可选地,所述方法还包括:若不满足,则将所述选取的reduce任务的等待次数加1。

可选地,所述确定各未被调度的reduce任务的数据本地性衡量值的步骤,包括:

针对每个未被调度的reduce任务,分别计算所述未被调度的reduce任务的输入数据在其他各节点中的数据比例,以及分别计算所述请求节点与其他各节点之间的拓扑距离;

分别计算对应于同一节点的数据比例与拓扑距离的乘积,并确定所述乘积的累积和为所述未被调度的reduce任务的数据本地性衡量值。

可选地,在所述确定各未被调度的reduce任务的数据本地性衡量值的步骤之前,还包括:确定不同节点之间的拓扑距离。

可选地,所述确定不同节点之间的拓扑距离的步骤,包括:

确定属于同一机架的不同节点之间的拓扑距离为第一预设值;

确定属于不同机架但属于同一数据中心的节点之间的拓扑距离为第二预设值;

确定属于不同数据中心的节点之间的拓扑距离为第三预设值;

其中,所述第一预设值小于所述第二预设值,所述第二预设值小于所述第三预设值。

本发明实施例还提供一种reduce任务的调度装置,所述装置包括:

确定模块,用于当请求节点申请reduce任务时,确定各未被调度的reduce任务的数据本地性衡量值;

选取模块,用于选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件;

分配模块,用于若所述选取模块确定出满足,则将所述选取的reduce任务分配给所述请求节点。

可选地,所述选取模块包括:

比较单元,用于比较所述选取的reduce任务的数据本地性衡量值与所述选取的reduce任务的等待次数对应的阈值;

确定单元,用于若所述数据本地性衡量值小于或等于所述阈值,则确定所述选取的reduce任务满足调度条件。

可选地,所述确定模块包括:

计算单元,用于针对每个未被调度的reduce任务,分别计算所述未被调度的reduce任务的输入数据在其他各节点中的数据比例,以及分别计算所述请求节点与其他各节点之间的拓扑距离;

累积单元,用于分别计算对应于同一节点的数据比例与拓扑距离的乘积,并确定所述乘积的累积和为所述未被调度的reduce任务的数据本地性衡量值。

本发明实施例中当请求节点申请reduce任务时,首先确定各未被调度的reduce任务的数据本地性衡量值;然后选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件;若满足,则将所述选取的reduce任务分配给所述请求节点。由以上技术方案可见,本发明实施例并非直接调度reduce任务,而是根据reduce任务的数据本地性衡量值进行判定后再分配满足调度条件的reduce任务,因此在进行任务调度时考虑了reduce任务的数据本地性,减少了任务调度时间,提高作业吞吐量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本发明实施例一的一种reduce任务的调度方法的步骤流程图;

图2为本发明实施例二的一种reduce任务的调度方法的步骤流程图;

图3为本发明实施例三的一种reduce任务的调度方法的步骤流程图;

图4为本发明实施例四的一种reduce任务的调度装置的结构框图;

图5为本发明实施例五的一种reduce任务的调度装置的结构框图。

具体实施方式

当然,实施本发明实施例的任一技术方案必不一定需要同时达到以上的所有优点。

为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。

下面结合本发明实施例附图进一步说明本发明实施例具体实现。

实施例一

参照图1,示出了本发明实施例一的一种reduce任务的调度方法的步骤流程图。

本实施例的reduce任务的调度方法包括以下步骤:

步骤101,当请求节点申请reduce任务时,确定各未被调度的reduce任务的数据本地性衡量值。

hadoop集群把作业拆分成多个任务执行时,面临的一个问题是:任务所需的数据可能会不在对应的计算节点上。解决这个问题的办法有两个:a)把数据拷贝到计算节点上;b)把计算程序拷贝到包含该数据块的机器上执行。由于计算程序通常比数据块小很多,为了减小网络传输开销,hadoop选用的是移动计算程序而不移动数据的思想,也正是因为采用了这种思想,才让hadoop具备了极高的大数据计算效率。由于某些任务所需的数据在多个节点上或数据节点不空闲等,即使移动计算程序,也不可避免地需要进行一部分数据网络拷贝。数据本地性主要用来反映数据网络拷贝代价,具体而言就是计算节点应尽量靠近数据节点(处于同一节点时数据本地性最高)。reduce任务在jvm(javavirtualmachine,java虚拟机)实例中的执行被细分成了3个阶段:shuffle(混洗)、sort(排序)和reduce(归约)。其中,shuffle阶段主要负责收集属于该任务的所有map输出,直到把所有的map(除失败的map任务之外)的输出收集齐;sort阶段主要是对收集的map输出进行排序,并把具有相同key(键)的key-value(键-值)对聚到一起;reduce阶段则是对这些排好序的map输出进行用户定义的reduce操作,同时不断地把reduce的输出结果保存到配置好的分布式文件系统的某一中间文件下。

数据本地性是影响hadoop集群性能的一个重要因素,它的思想是任务应尽量在其所需数据的节点上执行。这也是hadoop的一个核心思想即移动计算程序,而不移动数据。较高的数据本地性,能减小数据传输开销,节约宝贵的带宽资源,进而能提高集群性能。传统的hadoop架构并未对reduce任务的数据本地性进行优化,这可能会导致网络传输开销过大的问题。本发明实施例针对该需求,在shuffle阶段运用等待机制,在保证任务之间的并行性不降低的情况下,来提高reduce任务的数据本地性,进而来减少作业执行时间以及提高作业吞吐量。

hadoop架构的资源调度模型是一个pull(拉出)模型,这意味着,调度器不主动把任务分配到计算节点上执行,而是等待空闲节点通过心跳机制请求任务。当某个请求节点申请reduce任务时,可以遍历未被调度的reduce任务列表,确定各未被调度的reduce任务的数据本地性衡量值。

步骤102,选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件。

经过上述步骤101确定出了各个未被调度的reduce任务的数据本地性衡量值,从中选取数据本地性衡量值最小的reduce任务,并依据该选取的reduce任务的数据本地性衡量值确定其是否满足调度条件。比如,可以将选取的reduce任务的数据本地性衡量值与某一阈值进行比较,以确定是否满足调度条件。

步骤103,若满足,则将所述选取的reduce任务分配给所述请求节点。

当选取的reduce任务满足调度条件时,则可以将选取的reduce任务分配给所述请求节点;否则,可以暂时不分配该选取的reduce任务。

本发明实施例中当请求节点申请reduce任务时,首先确定各未被调度的reduce任务的数据本地性衡量值;然后选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件;若满足,则将所述选取的reduce任务分配给所述请求节点。由以上技术方案可见,本发明实施例并非直接调度reduce任务,而是根据reduce任务的数据本地性衡量值进行判定后再分配满足调度条件的reduce任务,因此在进行任务调度时考虑了reduce任务的数据本地性,减少了任务调度时间,提高作业吞吐量。

实施例二

参照图2,示出了本发明实施例二的一种reduce任务的调度方法的步骤流程图。

本实施例的reduce任务的调度方法包括以下步骤:

步骤201,当请求节点申请reduce任务时,确定各未被调度的reduce任务的数据本地性衡量值。

与map任务不同的是,reduce任务执行时间长,几乎横跨整个作业的生命周期,且它的输入来自于所有map任务的输出。为了在调度中进行量化计算,本发明实施例定义了reduce任务数据本地性衡量模型。

在一种优选方式中,可以采用节点的数据比例与拓扑距离的累积和来衡量reduce任务的数据本地性。该步骤201中确定各未被调度的reduce任务的数据本地性衡量值的过程进一步可以包括:

a1,针对每个未被调度的reduce任务,分别计算所述未被调度的reduce任务的输入数据在其他各节点(即除请求节点之外的其他各节点)中的数据比例,以及分别计算所述请求节点与其他各节点之间的拓扑距离;

a2,分别计算对应于同一节点的数据比例与拓扑距离的乘积,并确定所述乘积的累积和为所述未被调度的reduce任务的数据本地性衡量值。

其中,对应于同一节点的数据比例与拓扑距离是指,比如未被调度的reduce任务的输入数据在节点u中的数据比例,与请求节点与节点u之间的拓扑距离。

由于shuffle阶段的map任务只完成了一少部分,即只有部分的输出数据,因而在衡量数据本地性时,可以通过部分数据分布来预测总体数据分布。本发明实施例中分组为i的未被调度的reduce任务的数据本地性衡量值的计算公式可以如公式1所示:

其中,表示节点v(即请求节点)处理分组为i的reduce任务的数据本地性衡量值,数据本地性衡量值越大,数据本地性越低。pi(u)表示分组为i的reduce任务在节点u中的输入数据占节点u的总输入数据的比例,h(u,v)为节点u和节点v之间的拓扑距离。需要说明的是,v可以表示除请求节点之外的其他节点的集合;v也可以表示所有节点(包括请求节点和其他节点)的集合,该种情况下由于同一节点之间的拓扑距离为0,因此本质上计算的还是其他节点对应的相关数值。

进一步地,考虑到节点之间的网络拓扑距离的计算较为复杂,而hadoop架构需要频繁地计算节点之间的网络拓扑距离,因此本发明实施例提出了一种简易的拓扑距离模型。在确定各未被调度的reduce任务的数据本地性衡量值的步骤之前,还包括确定不同节点之间的拓扑距离。

hadoop架构中可以包括多个数据中心,每个数据中心可以包括多个机架,每个机架中可以包括多个节点。优选地,确定不同节点之间的拓扑距离的步骤可以包括:确定属于同一机架的不同节点之间的拓扑距离为第一预设值;确定属于不同机架但属于同一数据中心的节点之间的拓扑距离为第二预设值;确定属于不同数据中心的节点之间的拓扑距离为第三预设值;其中,所述第一预设值小于所述第二预设值,所述第二预设值小于所述第三预设值。

对于上述第一预设值、第二预设值和第三预设值的具体数值,本领域技术人员可以根据实际经验设置任意适用的值,本发明实施例对此并不加以限制。例如,可以把同一节点的拓扑距离设置为0,把属于同一机架的不同节点之间的拓扑距离设置为2,把属于不同机架但属于同一数据中心的节点之间的距离设置为4,把属于不同数据中心的节点之间的拓扑距离设置为6,该种情况下,reduce任务的数据本地性衡量值的最大值为6。

步骤202,选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件。若满足,则执行步骤203;若不满足,则执行步骤204。

在确定出各个未被调度的reduce任务的数据本地性衡量值后,从其中选取数据本地性衡量值最小的reduce任务,并对该选取的reduce任务进行相关处理。

在一种优选方式中,该步骤202中确定选取的reduce任务是否满足调度条件的过程进一步可以包括:比较所述选取的reduce任务的数据本地性衡量值与所述选取的reduce任务的等待次数对应的阈值;若所述数据本地性衡量值小于或等于所述阈值,则确定所述选取的reduce任务满足调度条件;若所述数据本地性衡量值大于所述阈值,则确定所述选取的reduce任务不满足调度条件。

本发明实施例中,可以设置n级等待机制,并预先设置n级等待机制对应的数据本地性阈值为数组r,r表示有n个元素的数组,即数组长度为n,其中的分量元素递增,且最后一个分量为h(h为节点之间的拓扑距离的最大值,也即reduce任务的数据本地性衡量值的最大值)。可以为每个reduce任务设置等待次数k,等待次数k的初始值为0,且k(等待次数)<n(等待级别),每个等待次数对应一个阈值,即每个等待次数对应数组r中的一个元素。比如,k=0时,其对应的阈值为r[0](即数组r中的第1个元素);k=1时,其对应的阈值为r[1](即数组r中的第2个元素),以此类推。

需要说明的是,对于等待级别n以及n级等待机制对应的数据本地性阈值r的具体数值,本领域技术人员可以根据实际经验设置任意适用的数值,本发明实施例对此并不加以限制。例如,当n=3时,数组r可以为[1.2,3.5,h],那么k=0时,其对应的阈值为r[0]=1.2;k=1时,其对应的阈值为r[1]=3.5,k=2时,其对应的阈值为r[2]=h,并且由于h为reduce任务的数据本地性衡量值的最大值,因此当k=2时,选取的reduce任务的数据本地性衡量值小于或等于h。

对于上述级别n和数组r的设置,n的设置与集群大小有关,集群越大,意味着集群资源越丰富,为了提高数据本地性,可以把n设置的稍微大点。r的设置与集群节点的拓扑分布和map数量相关,如果集群拓扑结构复杂,意味着数据本地性衡量值也可能会越大,这样r的值可以设置得稍微大点。对于同一集群,r的值可以设置成多个,也可以进行动态配置,对于大规模作业,map数量更多,reduce任务的输入分布更广泛,这样r的值也可以设置得稍微大点。

步骤203,若满足,则将所述选取的reduce任务分配给所述请求节点,并将所述选取的reduce任务的等待次数置为0。

若选取的reduce任务满足调度条件,则可以将该选取的reduce任务分配给所述请求节点执行。并且由于本次已调度该选取的reduce任务,因此将该选取的reduce任务的等待重置为0,以便下次再选取该reduce任务时依据修改后的等待次数确定进行比较的阈值。

步骤204,若不满足,则将所述选取的reduce任务的等待次数加1。

若选取的reduce任务满足调度条件,则暂时不将该选取的reduce任务分配给所述请求节点执行。并且由于本次未调度该选取的reduce任务,其多等待了一次,因此将该选取的reduce任务的等待次数加1,以便下次再选取该reduce任务时依据修改后的等待次数确定进行比较的阈值。

在shuffle机制开启情况下,开始调度reduce任务后(默认在map任务完成5%),当空闲的请求节点v申请reduce任务时,则遍历未被调度的reduce任务列表(nonruningreduces),并采用reduce任务数据本地性衡量模型依次计算各个未被调度的reduce任务的数据本地性衡量值,选取数据本地性衡量值最小的reduce任务,判断数据本地性衡量值是否小于或者等于选取的reduce任务的等待次数对应的阈值。若是,则把选取的reduce任务分配给节点v执行,然后选取的reduce任务的等待次数清零,再等待下一次调度;否则选取的reduce任务的等待次数加1,再等待下一次调度。

由于数据本地性高的节点可能会处于忙碌状态,因而节点请求任务的原则可能会降低reduce任务的数据本地性。本发明实施例在shuffle阶段,将延迟调度思想应用到reduce任务的调度中,先通过reduce任务数据本地性衡量模型来衡量reduce任务的数据本地性,再通过本地性阈值建立任务调度多级等待机制,来实现对reduce任务的调度,从而达到在不降低任务并行性的前提下,提高reduce任务的数据本地性,减少任务调度时间,进而提高hadoop集群的性能。

实施例三

参照图3,示出了本发明实施例三的一种reduce任务的调度方法的步骤流程图。

本实施例的reduce任务的调度方法包括以下步骤:

步骤301,初始化变量,定义初始时各reduce任务的等待次数k=0,定义数据本地性阈值(如数组r)。

步骤302,节点v有空闲资源,申请启动一个reduce任务。

步骤303,使用数据本地行衡量模型计算每个未被调度的reduce任务的数据本地性衡量值。

步骤304,选取数据本地性衡量值最小的reduce任务。

步骤305,判定选取的reduce任务的数据本地性衡量值是否小于或等于选取的reduce任务的等待次数对应的阈值。若是,则执行步骤306;若否,则执行步骤309。

步骤306,将选取的reduce任务分配给节点v。

步骤307,将选取的reduce任务的等待次数重置为0。

步骤308,等待有节点再次申请reduce任务,若有节点再次申请reduce任务,则执行步骤302。

步骤309,本次不分配选取的reduce任务给节点v。

步骤310,将选取的reduce任务的等待次数加1。

步骤311,等待有节点再次申请reduce任务,若有节点再次申请reduce任务,则执行步骤302。

本发明实施例提出了一种基于shuffle阶段的reduce任务延迟调度方法,该方法在不降低任务之间的并行性的基础上,通过提高reduce任务的数据本地性,缩短作业执行时间。本发明实施例对于提高reduce任务的数据本地性、减少网络传输开销以及缩短作业的执行时间有一定的指导意义。在单作业环境下,本发明实施例可以通过提高reduce任务的数据本地性,来减少单个作业的执行时间,同时该调度算法也能很好地兼容hadoop架构的高容错性。在多作业环境下,本发明实施例可以在不降低任务并行性的基础上,通过提高reduce任务的数据本地性,来减少作业的执行时间,可以有效提高集群的总体性能。

实施例四

参照图4,示出了本发明实施例四的一种reduce任务的调度装置的结构框图。

本实施例的reduce任务的调度装置包括以下模块:

确定模块401,用于当请求节点申请reduce任务时,确定各未被调度的reduce任务的数据本地性衡量值。

选取模块402,用于选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件。

分配模块403,用于若所述选取模块确定出满足,则将所述选取的reduce任务分配给所述请求节点。

本发明实施例中当请求节点申请reduce任务时,首先确定各未被调度的reduce任务的数据本地性衡量值;然后选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件;若满足,则将所述选取的reduce任务分配给所述请求节点。由以上技术方案可见,本发明实施例并非直接调度reduce任务,而是根据reduce任务的数据本地性衡量值进行判定后再分配满足调度条件的reduce任务,因此在进行任务调度时考虑了reduce任务的数据本地性,减少了任务调度时间,提高作业吞吐量。

实施例五

参照图5,示出了本发明实施例五的一种reduce任务的调度装置的结构框图。

本实施例的reduce任务的调度装置包括以下模块:

确定模块501,用于当请求节点申请reduce任务时,确定各未被调度的reduce任务的数据本地性衡量值。

选取模块502,用于选取数据本地性衡量值最小的reduce任务,并确定选取的reduce任务是否满足调度条件。

分配模块503,用于若所述选取模块确定出满足,则将所述选取的reduce任务分配给所述请求节点。

优选地,所述确定模块501可以包括:计算单元,用于针对每个未被调度的reduce任务,分别计算所述未被调度的reduce任务的输入数据在其他各节点中的数据比例,以及分别计算所述请求节点与其他各节点之间的拓扑距离;累积单元,用于分别计算对应于同一节点的数据比例与拓扑距离的乘积,并确定所述乘积的累积和为所述未被调度的reduce任务的数据本地性衡量值。

优选地,所述选取模块502可以包括:比较单元,用于比较所述选取的reduce任务的数据本地性衡量值与所述选取的reduce任务的等待次数对应的阈值;确定单元,用于若所述数据本地性衡量值小于或等于所述阈值,则确定所述选取的reduce任务满足调度条件。

优选地,本实施例的reduce任务的调度装置还可以包括:第一设置模块504,用于在所述分配模块将所述选取的reduce任务分配给所述请求节点之后,将所述选取的reduce任务的等待次数置为0。

优选地,本实施例的reduce任务的调度装置还可以包括:第二设置模块505,用于若所述选取模块确定出不满足,则将所述选取的reduce任务的等待次数加1。

优选地,本实施例的reduce任务的调度装置还可以包括:设定模块506,用于确定不同节点之间的拓扑距离。

优选地,设定模块进一步用于确定属于同一机架的不同节点之间的拓扑距离为第一预设值;确定属于不同机架但属于同一数据中心的节点之间的拓扑距离为第二预设值;确定属于不同数据中心的节点之间的拓扑距离为第三预设值;其中,所述第一预设值小于所述第二预设值,所述第二预设值小于所述第三预设值。

本发明实施例在shuffle阶段,将延迟调度思想应用到reduce任务的调度中,先通过reduce任务数据本地性衡量模型来衡量reduce任务的数据本地性,再通过本地性阈值建立任务调度多级等待机制,来实现对reduce任务的调度,从而达到在不降低任务并行性的前提下,提高reduce任务的数据本地性,减少任务调度时间,进而提高hadoop集群的性能。

需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。

上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cdrom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的reduce任务的调度方法。此外,当通用计算机访问用于实现在此示出的reduce任务的调度方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的reduce任务的调度方法的专用计算机。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1