一种任务调度方法、节点及系统的制作方法

文档序号:8248181阅读:304来源:国知局
一种任务调度方法、节点及系统的制作方法
【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种任务调度方法、节点及系统。
【背景技术】
[0002] 随着数字化时代的到来,每天产生的数据量呈现加速度增长势态,为了能够实现 对大量数据的快速处理,分布式计算应运而生。众所周知,在包含有多个计算节点的分布式 计算系统中,由于任务(待处理数据)与资源(主要体现为计算节点的处理能力)存在双 重不确定性,因此,为了能够获得更大的任务处理吞吐量和更低的任务处理时延,为任务分 配合理的资源,即任务调度显得尤为重要。
[0003] 现有技术中可以通过一种分布式计算环境下的资源管理框架,即YARN(第二代的 MapReduce框架,其中,MapReduce是一种大规模分布式集群上的任务调度框架)来实现任 务调度的。其中,YARN的核心组件资源管理器首先将集群内所有节点的内存、磁盘、输入输 出(Input Output,10)及网络带宽看作一个资源的组合,并预先估计任务模型,根据估计 出的任务模型将这些资源静态分配给各任务,然后,当资源管理器接收到客户端(Client) 提交的某任务之后,可以将该任务分配给对应的资源,以便对该任务进行处理。并且,在对 该任务进行处理的过程中,需实时监控该任务的实际资源占用情况,若该任务对资源的占 用超过预先分配的资源,则直接终止对该任务的处理。例如,预先为某任务分配了 100M内 存,在对该任务进行处理的过程中,需对该任务的实际内存占用情况进行实时的监控,若该 任务实际占用的内存超过100M,则终止对该任务的处理。
[0004] 现有技术中至少存在如下问题:在通过将集群资源静态分配给各任务来实现任务 调度时,在任务类型多样,且彼此粒度差异较大的情况下,由于根据估计的任务模型进行资 源分配时,很难实现预先分配的资源和任务所需资源的匹配,即使根据任务的实际资源占 用情况确定是否继续对该任务进行处理,也会出现资源不足或资源浪费的情况,从而会很 难获得较高的总体系统资源利用率。

【发明内容】

[0005] 本发明提供一种任务调度方法、节点及系统,能够获得较高的总体系统资源利用 率。
[0006] 为达到上述目的,本发明采用如下技术方案:
[0007] 本发明的第一方面,提供一种任务调度方法,包括:
[0008] 任务执行节点接收第一服务器节点发送的至少一个子任务,并将所述至少一个子 任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节点对待执 行任务进行分解得到的;
[0009] 所述任务执行节点获取与所述待执行任务对应的令牌桶内的令牌数;
[0010] 所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与 所述令牌桶内的令牌数相等数量的所述子任务进行处理。
[0011] 结合第一方面,在第一种可能的实现方式中,在所述任务执行节点根据所述令牌 桶内的令牌数,对所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数量的所述子 任务进行处理之后,还包括:
[0012] 所述任务执行节点从所述令牌桶中减去与处理的所述子任务相等数量的令牌。
[0013] 结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式 中,所述方法还包括:
[0014] 所述任务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌 桶内加入令牌。
[0015] 结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式 中,在所述任务执行节点根据所述令牌桶内的令牌数,对所述子任务缓冲区中存储的与所 述令牌桶内的令牌数相等数量的所述子任务进行处理之后,还包括:
[0016] 所述任务执行节点向所述令牌桶内加入与处理完成的所述子任务相等数量的令 牌。
[0017] 结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,在所述任 务执行节点根据所述待执行任务的当前时刻的令牌流入速率,向所述令牌桶中加入令牌之 前,还包括:
[0018] 所述任务执行节点获取所述待执行任务的令牌流入速率变化量;
[0019] 所述任务执行节点根据所述待执行任务的当前时刻的前一时刻的令牌流入速率 和所述令牌流入速率变化量获取所述当前时刻的令牌流入速率。
[0020] 结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述任务 执行节点获取所述待执行任务的令牌流入速率变化量,包括:
[0021] 所述任务执行节点获取所述待执行任务当前时刻对系统资源的实际占用量;
[0022] 所述任务执行节点根据所述待执行任务当前时刻对系统资源占用的实际值和预 定的系统资源占用的限制值,确定所述令牌流入速率变化量。
[0023] 结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述系统 资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输 出IO资源、网络带宽资源。
[0024] 本发明的第二方面,提供一种任务调度方法,包括:
[0025] 第一服务器节点接收第二服务器节点下发的待执行任务;
[0026] 所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息;
[0027] 所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行 分解得到至少一个子任务;
[0028] 所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务 发送至任务执行节点。
[0029] 结合第二方面,在第一种可能的实现方式中,
[0030] 所述存储信息为所述子任务缓冲区中还需的子任务数量;或者,所述子任务缓冲 区中的未执行的子任务数量。
[0031] 结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0032] 所述第一服务器节点获取所述待执行任务对应的子任务缓冲区的存储信息,包 括:
[0033] 所述第一服务器节点获取至少一个任务执行节点中设置的所述待执行任务对应 的子任务缓冲区的存储信息;所述至少一个任务执行节点设置有与所述待执行任务对应的 子任务缓冲区;
[0034] 所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述待执行任务进行 分解得到至少一个子任务,包括:
[0035] 所述第一服务器节点对所述至少一个任务执行节点中设置的所述待执行任务对 应的子任务缓冲区的存储信息进行汇总,得到所述待执行任务对应的所有子任务缓冲区的 还需的子任务数量;
[0036] 所述第一服务器节点对所述待执行任务进行分解,得到与所述待执行任务对应的 所有子任务缓冲区的还需的子任务相等数量的子任务;
[0037] 所述第一服务器节点根据所述子任务缓冲区的存储信息,将所述至少一个子任务 发送至任务执行节点,包括:
[0038] 针对所述至少一个任务执行节点中的每个任务执行节点,所述第一服务器节点根 据所述任务执行节点中设置的所述待执行任务对应的子任务缓冲区的存储信息,向所述任 务执行节点下发与所述子任务缓冲区中还需的子任务相等数量的子任务。
[0039] 本发明的第三方面,提供一种任务调度方法,包括:
[0040] 第二服务器节点接收客户端发送的待执行任务;
[0041] 所述第二服务器节点确定所有正在执行的待执行任务的数量小于数量阈值;
[0042] 所述第二服务器节点向第一服务器节点下发所述待执行任务。
[0043] 结合第三方面,在第一种可能的实现方式中,在所述第二服务器节点向第一服务 器节点下发所述待执行任务之前,还包括:
[0044] 所述第二服务器节点确定所述待执行任务满足预定条件。
[0045] 结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0046] 所述待执行任务满足预定条件包括以下任意一种或多种的组合:所述待执行任务 的优先级满足优先级调度条件或优先级抢占条件、所述待执行任务的执行时间在预定的执 行时间范围内、所述待执行任务的执行频率等于预定的执行频率阈值。
[0047] 本发明的第四方面,提供一种任务执行节点,包括:任务接收器、子任务调节阀、执 行引擎;
[0048] 所述任务接收器,用于接收第一服务器节点发送的至少一个子任务,并将所述至 少一个子任务存储在子任务缓冲区中;其中,所述至少一个子任务是由所述第一服务器节 点对待执行任务进行分解得到的;
[0049] 所述子任务调节阀,用于获取与所述待执行任务对应的令牌桶内的令牌数,并根 据所述令牌桶内的令牌数,将所述子任务缓冲区中存储的与所述令牌桶内的令牌数相等数 量的所述子任务下发到所述执行引擎;
[0050] 所述执行引擎,用于对所述子任务调节阀下发的所述子任务进行处理。
[0051] 结合第四方面,在第一种可能的实现方式中,
[0052] 所述子任务调节阀,还用于在所述根据所述令牌桶内的令牌数,将所述子任务缓 冲区中存储的与所述令牌桶内的令牌数相等数量的所述子任务下发到所述执行引擎之后, 从所述令牌桶中减去与下发的所述子任务相等数量的令牌。
[0053] 结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式 中,还包括:负反馈控制器;
[0054] 所述负反馈控制器,用于根据所述待执行任务的当前时刻的令牌流入速率,向所 述令牌桶内加入令牌。
[0055] 结合第四方面或第四方面的第一种可能的实现方式,在第三种可能的实现方式 中,
[0056] 所述执行引擎,还用于在对所述子任务调节阀下发的所述子任务进行处理之后, 向所述子任务调节阀发送用于通知对所述子任务的处理已完成的通知消息;
[0057] 所述子任务调节阀,还用于接收所述通知消息,并根据所述通知消息向所述令牌 桶内加入与处理完成的所述子任务相等数量的令牌。
[0058] 结合第四方面的第二种可能的实现方式,在第四种可能的实现方式中,
[0059] 所述负反馈控制器,还在所述根据所述待执行任务的当前时刻的令牌流入速率, 向所述令牌桶中加入令牌之前,获取所述待执行任务的令牌流入速率变化量,并根据所述 待执行任务的当前时刻的前一时刻的令牌流入速率和所述令牌流入速率变化量获取所述 当前时刻的令牌流入速率。
[0060] 结合第四方面的第四种可能的实现方式,在第五种可能的实现方式中,所述负反 馈控制器,具体用于:
[0061] 获取所述待执行任务当前时刻对系统资源的实际占用量;
[0062] 根据所述待执行任务当前时刻对系统资源占用的实际值和预定的系统资源占用 的限制值,确定所述令牌流入速率变化量。
[0063] 结合第四方面的第五种可能的实现方式,在第六种可能的实现方式中,所述系统 资源包括以下任意一种或多种的组合:中央处理器CPU资源、内存资源、磁盘资源、输入输 出IO资源、网络带宽资源。
[0064] 本发明的第五方面,提供一种第一服务器节点,包括:任务分解器和任务分配器;
[0065] 所述
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1