基于yarn的资源管理方法、装置及系统的制作方法

文档序号:9750763阅读:526来源:国知局
基于yarn的资源管理方法、装置及系统的制作方法
【技术领域】
[0001] 本发明实施例涉及通信技术,尤其涉及一种基于YARN的资源管理方法、装置及系 统。
【背景技术】
[0002] 现场可编程逻辑门阵列(Field Programmable Gate Array,简称:FPGA)是一种高 并行、低功耗、可编程的硬件设备,其硬件计算性能优于通用中央处理器(Central Processing Unit,简称:CPU)。采用CPU和FPGA构建异构多核系统,以CPU提供通用计算的能 力,以FPGA芯片作为专用的硬件加速器成为了高性能计算领域的重要发展趋势。
[0003]另一种资源协调器(Yet Another Resource Negotiator,简称:YARN)作为海杜普 (Had〇〇p)2.0原生资源调度系统,可以为包括编程模型MapReduce在内的多种计算框架资源 的管理和分配。为提高YARN大数据挖掘应用中的计算性能,可将FPGA作为一种新的计算资 源加入到YARN中,把分布式计算过程中的子任务转移到FPGA上处理,达到加速计算密集型 算法执行效率的目的。
[0004] 现阶段,YARN的资源扩展方案使用资源表示维度扩展的方式来表示集群中添加的 计算资源。目前已有研究人员使用这种方式将图形处理器(Graphics Processing Unit,简 称:GPU)计算资源添加到集群当中,将YARN资源表示模型扩展为〈内存,CPU,GPU>三维。
[0005] 但是FPGA不同于具有指令系统的GPU,FPGA上电运行过程中,其内固化的算法逻辑 不能修改,且存在特定的计算任务只能够在烧写有特定逻辑的FPGA上运行的特点。由于 FPGA对于计算逻辑的专用型,固化有不同计算逻辑的FPGA不能当做同一种加速器,安装了 固化不同计算逻辑的FPGA的集群,逻辑上是一个异构集群。因此,使用资源表示维度扩展的 方式表示集群中的FPGA计算资源时,集群中每增加一种固化了新的算法的FPGA,集群资源 表示维度就要增加一维。而YARN的多维资源调度算法只适用于集群资源表示维度固定的环 境,这种情况下,每向集群中增加一种处理逻辑不同的FPGA,就需要重新实现YARN资源管理 平台,才能对新的专用计算资源进行支持。另外,集群资源表示维度过高也会影响资源调度 器的调度效率。因此,如何将FPGA这种新的计算资源加入到YARN中成为当前需要解决的技 术问题。

【发明内容】

[0006] 本发明提供一种基于YARN的资源管理方法、装置及系统,以在将FPGA这种新的计 算资源加入到YARN中时,克服由于FPGA这种计算资源的专用性导致的YARN中资源表示维度 动态扩展问题。
[0007] 第一方面,本发明提供一种基于YARN的资源管理方法,包括:
[0008] RM获取在扩展计算框架下编写的作业报文,该作业报文携带基于扩展计算框架编 写的应用程序和应用程序配置,该应用程序包含AM和子任务,该子任务用于表征应用程序 的不同执行阶段,该应用程序配置包含应用程序的应用程序标签和各子任务所需的资源容 器描述,资源容器描述包含资源类型和资源量,所述资源容器描述是指资源容器是采用依 据集群中运行的扩展计算框架的种类进行后扩展的资源表示模型来描述的,需要加速的子 任务的资源描述容器描述中,资源类型包括FPGA资源类型;
[0009] RM根据AM所需的资源容器描述,在满足AM资源要求的节点上启动AM,RM接收AM在 当前执行阶段的资源请求报文,该资源请求报文包含当前执行阶段所需的资源容器描述和 应用程序标签;
[0010] RM根据资源请求报文,基于集群中所有匪的空闲资源容器描述和资源标签,为AM 分配计算资源,资源标签与应用程序标签一一对应;
[0011] RM发送资源响应报文给AM,其中,该资源响应报文包含分配给AM的资源标签、资源 容器描述和目标节点的标识,目标节点为RM为AM分配的计算资源所在的节点。
[0012] 本发明通过在作业报文携带基于扩展计算框架编写的应用程序和应用程序配置, 其中,应用程序配置包含应用程序的应用程序标签和各子任务所需的资源容器描述,资源 容器描述包含资源类型和资源量,需要加速的子任务的资源描述容器描述中,资源类型包 括FPGA资源类型,并基于集群中所有匪的空闲资源容器描述和资源标签,为AM分配计算资 源,其中,资源标签与应用程序标签一一对应,使用资源标签标注应用程序中各子任务加速 所需的FPGA,经扩展后的集群资源表示模型仅与集群支持的计算框架的种类相关,与集群 中运行的特定算法的种类无关,从而解决了在将FPGA这种新的计算资源(或类似FPGA的计 算资源)加入到YARN中时,克服由于FPGA这种计算资源的专用性导致的YARN中资源表示维 度动态扩展问题,增强YARN中资源管理的灵活性,且扩展后YARN中资源类型的可扩展性高。
[0013] 在第一方面的第一种实现方式中,RM根据资源请求报文,基于集群中所有匪的空 闲资源容器描述和资源标签,为AM分配计算资源,包括:RM将资源请求报文中的应用程序标 签映射到第一资源标签;若冊在所有当前报告空闲资源的NM中找到一个包含第一资源标签 的NM,则在包含第一资源标签的NM所在节点上为AM分配计算资源。
[0014] 在第一方面的第二种实现方式中,在包含第一资源标签的匪所在的节点上为AM分 配计算资源,包括:若包含第一资源标签的Mi所在的节点上的空闲资源量满足AM资源要求 的资源量,则在包含第一资源标签的NM所在的节点上为AM分配计算资源;或者,若包含第一 资源标签的NM所在的节点上的空闲资源量不满足AM资源要求的资源量,则标记包含第一资 源标签的匪所在的节点,在包含第一资源标签的匪所在的节点上为AM累积资源,直到包含 第一资源标签的NM所在的节点上的NM报告的资源量大于AM资源要求的资源量,再在包含第 一资源标签的NM所在节点上为AM分配计算资源。
[0015] 在第一方面的第三种实现方式中,该方法还包括:RM接收集群中匪发送的心跳报 文,该心跳报文中包含发出该心跳报文的匪所在节点上的资源标签和空闲资源容器描述。 该实施例中,RM通过心跳报文获知集群中各节点的空闲资源,实现空闲资源在RM中的实时 更新。
[0016] 第二方面,本发明提供一种基于YARN的资源管理方法,包括:
[0017] 在启动之后,应用程序管理器AM生成当前执行阶段的资源请求报文,资源请求报 文包含当前执行阶段将要运行的子任务所需的资源容器描述和应用程序标签,资源容器描 述是指资源容器是采用依据集群中运行的扩展计算框架的种类进行后扩展的资源表示模 型来描述的;
[0018] AM发送资源请求报文给集群资源管理器RM,以使RM根据资源请求报文,基于集群 中所有Mi的空闲资源容器描述和资源标签,为AM分配计算资源,资源标签与应用程序标签 --对应;
[0019] AM接收RM发送的资源响应报文,其中,该资源响应报文包含分配给AM的资源标签、 资源容器描述和目标节点的标识,该目标节点为RM为AM分配的计算资源所在的节点,资源 容器描述包含资源类型和资源量,需要加速的子任务的资源描述容器描述中,资源类型包 括FPGA资源类型;
[0020] AM将RM为其分配的资源标签和资源容器描述转发给目标节点的匪,以使匪验证执 行许可后在目标节点上分配计算资源供AM执行当前执行阶段的子任务。
[0021] 通过在作业报文携带基于扩展计算框架编写的应用程序和应用程序配置,其中, 应用程序配置包含应用程序的应用程序标签和各子任务所需的资源容器描述,资源容器描 述包含资源类型和资源量,需要加速的子任务的资源描述容器描述中,资源类型包括FPGA 资源类型,并基于集群中所有匪的空闲资源容器描述和资源标签,为AM分配计算资源,其 中,资源标签与应用程序标签一一对应,使用资源标签标注应用程序中各子任务加速所需 的FPGA,经扩展后的集群资源表示模型仅与集群支持的计算框架的种类相关,与集群中运 行的特定算法的种类无关,从而解决了在将FPGA这种新的计算资源(或类似FPGA的计算资 源)加入到YARN中时,克服由于FPGA这种计算资源的专用性导致的YARN中资源表示维度动 态扩展问题,增强YARN中资源管理的灵活性,且扩展后YARN中资源类型的可扩展性高。
[0022] 在第二方面的第一种实现方式中,AM生成当前执行阶段的资源请求报文,包括:
[0023] AM解析应用程序配置,确定应用程序标签,以及应用程序包含的子任务以及执行 每个子任务所需的资源容器描述,其中,应用程序配置为AM所在的节点启动AM之前,节点从 集群共享存储空间中获取的作业报文中携带的,作业报文携带基于扩展计算框架编写的应 用程序和应用程序配置,应用程序包含AM和子任务,子任务用于表征应用程序的不同执行 阶段,应用程序配置包含应用程序标签和各子任务所需的资源容器描述;
[0024] AM根据应用程序的执行阶段,按照预设的资源表示模型向RM发送当前执行阶段需 要启动的子任务的资源请求报文。
[0025]第三方面,本发明提供一种基于YARN的资源管理方法,包括:
[0026] NM接收AM转发的资源标签和资源容器描述,资源容器描述是指资源容器是采用依 据集群中运行的扩展计算框架的种类进行后扩展的资源表示模型来描述的;
[0027] NM基于资源标签和资源容器描述,在NM所在节点分配计算资源供AM执行当前执行 阶段的子任务,资源容器描述包含资源类型和资源量,资源类型包括FPGA资源类型。
[0028] 通过在作业报文携带基于扩展计算框架编写的应用程序和应用程序配置,其中, 应用程序配置包含应用程序的应用程序标签和各子任务所需的资源容器描述,资源容器描 述包含资源类型和资源量,需要加速的子任务的资源描述容器描述中,资源类型包括FPGA 资源类型,并基于集群中所有匪的空闲资源容器描述和资源标签,为AM分配计算资源,其 中,资源标签与应用程序标签一一对应,使用资源标签标注应用程序中各子任务加速所需 的FPGA,经扩展后的集群资源表示模型仅与集群支持的计算框架的种类相关,与集群中运 行的特定算法的种类无关,从而解决了在将FPG
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1