[发明专利]一种基于Spark与GPU的并行计算系统在审
申请号: | 201710270400.8 | 申请日: | 2017-04-24 |
公开(公告)号: | CN107168782A | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 郑健;杜姗姗;冯瑞;金城;薛向阳 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F15/173 |
代理公司: | 上海正旦专利代理有限公司31200 | 代理人: | 陆飞,陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 spark gpu 并行 计算 系统 | ||
1.一种基于Spark与GPU的并行计算系统,其特征在于,包括:
改进的的资源管理平台,其支持对GPU、CPU与内存等多维资源进行调度与管理;
改进的Spark分布式计算框架,其支持对GPU型任务的调度与执行;
(1)所述改进的的资源管理平台,包括:
改进YARN的资源管理器与节点管理器,使其能够有效感知异构集群的GPU资源,从而支持对集群GPU资源的管理与调度;其中,包括资源表示模型、资源调度模型、资源抢占模型、资源隔离机制及GPU设备的动态绑定机制的改进;
(2)所述改进的Spark分布式计算框架,包括:
改进Spark的资源申请与分配机制、作业调度机制与任务执行机制,使其支持对GPU型任务的调度与执行;通过在资源申请、资源分配、DAG生成、stage划分与任务执行等阶段引入对GPU资源的标识,使其执行引擎能够感知GPU任务,并在异构集群中有效执行。
2.根据权利要求1所述的基于Spark与GPU的并行计算系统,其特征在于,所述改进的的资源管理平台,能够支持对包含GPU资源在内的多维资源进行管理与调度:
关于资源表示模型,首先自定义节点中包含的GPU设备数量,并修改资源表示协议,使其增加对GPU资源的表示;待节点启动时,节点管理器初始化资源列表,并与资源管理器通过心跳机制汇报该节点的资源信息;
关于资源调度模型,将GPU与CPU、内存资源一起添加到资源管理平台的层级管理队列中;依据DRF算法对资源调度模块进行修改,使其添加对GPU资源的调度与管理;该算法如下:
(1)初始化变量;其中,R=<totalCPU,totalGPU,totalMem>表示集群CPU、GPU及内存资源的总量,C=<usedCPU,usedGPU,usedMem>表示集群中已被消费的CPU、GPU及内存资源的数量,si表示作业i的主资源占相应总资源的份额,Ui=<CPUi,GPUi,Memi>表示已经分配给作业i的资源量,Di=<CPUi,GPUi,Memi>表示作业i的每个任务需要的资源量,在每次选取作业进行资源分配时,依次执行以下步骤:
(2)选取主资源份额si最小的作业执行;
(3)如果C+Di≤R,则将资源分配给作业i,更新C=C+Di,Ui=Ui+Di,
si=max{Ui/R};否则,集群资源无法满足需求,停止分配;
关于资源抢占模型,通过资源调度器对层级队列中的每个队列设置每种资源的可用上限与下限;资源调度器将负载较轻的队列的资源分配给其他负载较重的队列以提高集群资源利用率;但当有新的应用程序提交到负载较轻的队列时,调度器会资源抢占机制收回其他队列所占用的资源,从而将本属于该队列的资源分配给它;在资源抢占机制发生时,需要释放GPU资源;这个工作由节点管理器完成,这里新增releaseGPU方法用于释放GPU资源;资源管理器将需要释放的资源列表信息通过心跳机制发送给响应的节点管理器,节点管理器检测到待释放的资源实体中含有GPU资源时,调用releaseGPU方法释放GPU资源;然后资源管理器将所释放的资源进一步分配给相关队列;
关于资源隔离模型,采用Cgroups方案对GPU资源进行隔离;
关于GPU设备的动态绑定机制,当分配给该任务的资源实体中包含GPU资源时,相应的节点管理器需要将节点上的GPU设备与该资源实体进行绑定;如果节点上有多个空闲的GPU资源,那么需要选择一个进行分配;将GPU的运行状态信息表示为<GPU设备号,资源实体号>列表,列表的每条数据标识了GPU设备与相关资源实体的对应关系;节点管理器在节点刚启动时根据相关配置文件以及该节点上的GPU设备信息初始化该列表;
当有新的任务请求使用GPU资源时,节点管理器通过查找该列表,从而获得处于空闲状态的GPU设备信息,并将其分配给相关任务;如果节点管理器节点上拥有多个GPU资源处于空闲状态,则通过轮转法进行GPU资源的分配;同时,将已经运行的资源实体与GPU资源的对应信息进行保存至数据库中;在节点管理器需要重新启动的情况下,能够从数据库中直接读取GPU设备的分配信息,避免了对节点资源的再分配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710270400.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种3D打印子任务调度方法和装置
- 下一篇:一种数据迁移方法及系统