一种面向CPU和GPU的混合调度方法技术

技术编号:7548778 阅读:355 留言:0更新日期:2012-07-13 20:54
本发明专利技术提供了一种面向CPU和GPU的混合调度方法,S1,调度器初始化时读取调度策略配置、优先级配置参数;S2,调度器在每个调度循环中读取作业调度系统中的信息;S3,调度器根据作业资源请求信息和调度策略进行优先级计算,确定每个作业的优先级并降序排列;S4,根据S3中得到的排列顺序,按照调度策略进行作业调度。S5,根据S4的调度结果向调度系统发送作业启动请求;S6,休眠一段时间,然后返回S2进行下一个循环。本发明专利技术通过可定制的权重来设置GPU和非GPU作业的相对关系;在调度时判定GPU资源情况,达到GPU作业的准确调度。

【技术实现步骤摘要】

本专利技术涉及高性能计算中的作业调度,特别涉及一种面向CPU和GPU的混合调度方法
技术介绍
近年来,随着GPU设备的普及和应用向GPU的迁移,越来越多的高性能计算集群开始使用GPU设备来支持GPU大型应用。这对于传统的作业调度系统提出了新的需求。传统的作业调度系统管理的资源多是操作系统资源(如节点、内存、CPU等),并没有将GPU作为一种可用资源在调度系统中描述出来并参与调度决策,所以往往存在两个方面的问题一是GPU资源和GPU资源请求如何描述;二是GPU应用如何与传统的并行应用(MPI、0penMP、 PThread)并存,保证系统资源的合理利用。
技术实现思路
针对上问题,本专利提出了一种基于通用资源描述和调度的面向GPU和CPU的混合调度方法。该方法,首先是通过通用资源描述的方式将资源作为节点属性添加进去,然后通过作业调度的扩展提交参数指定GPU的资源请求,最后在调度策略中将GPU资源作为调度依据之一,完成GPU作业和CPU作业的准确和优化调度。一种面向CPU和GPU的混合调度方法,Si,调度器初始化时读取调度策略配置、优先级配置参数;S2,调度器在每个调度循环中读取作业调度系统中的信息;S3,调度器根据作业资源请求信息和调度策略进行优先级计算,确定每个作业的优先级并降序排列;S4,根据S3中得到的排列顺序,按照调度策略进行作业调度。S5,根据S4的调度结果向调度系统发送作业启动请求;S6,休眠一段时间,然后返回S2进行下一个循环。优选的,所述调度器读取的信息包括作业状态信息、资源请求信息、节点状态信息、节点配置信息、队列配置信息、队列状态信息。优选的,所述优先级的计算时,添加GPU权重参数参数,该参数取值可以是正数也可以是负数,将GPU权重*GPU请求数作为优先级的组成部分。优选的,所述优先级计算时,通过调高或者调低GPU权重的方式来提前或者延后 GPU作业的调度和运行。优选的,所述作业调度策略如下a)检查用户和队列的资源限额设置,确认当前作业能否参与调度,如果运行后会导致资源使用量超过限额,则执行b);否则,执行c);b)为当前作业创建一个作业预约,跳到g);c)过滤出可以运行当前作业的节点列表,需要满足的条件包括CPU数、内存数、GPU 数;d)根据C)的结果判定当前剩余资源能否满足当前作业运行条件,如果资源不足, 则为该作业创建预约,跳到g);e)根据节点分配策略,从C)的复合条件的节点列表中获取运行本作业的节点列表;f)调度器向调度系统发送作业启动的请求,本作业调度结束;g)继续处理下一个作业。本专利技术通过可定制的权重来设置GPU和非GPU作业的相对关系;在调度时判定 GPU资源情况,达到GPU作业的准确调度。附图说明具体实施方式本专利技术的目的是解决在GPU/CPU异构集群环境下的GPU/CPU作业的优化调度问题。(1)首先,调度器初始化时读取调度策略配置、优先级配置等参数;(2)其次,调度器在每个调度循环中作业调度系统中的各类信息,包括作业信息 (如作业状态信息、资源请求信息)、节点信息(如节点状态信息、节点配置信息)、队列信息 (如队列配置信息、队列状态信息)等。(3)再次,调度器根据作业资源请求信息和调度策略进行优先级计算,确定每个作业的优先级并降序排列;在优先级配置参数中,添加GPU权重参数(GPUWEIGHT)参数,该参数取值可以是正数也可以是负数。这样的话,作业优先级计算时,会将(GPU权重*GPU请求数)作为优先级的组成部分。这样,优先级计算时可以通过调高或者调低GPU权重的方式来提前或者延后 GPU作业的调度和运行。(4)然后,根据步骤(3)中得到的排列顺序,按照调度策略进行作业调度。作业调度判定的基本步骤如下h)检查用户和队列的资源限额设置,确认当前作业能否参与调度。如果运行后会导致资源使用量超过限额,则执行b);否则,执行c);i)为当前作业创建一个作业预约,跳到g);j)过滤出可以运行当前作业的节点列表,需要满足的条件包括CPU数、内存数、 GPU 数。k)根据C)的结果判定当前剩余资源能否满足当前作业运行条件。如果资源不足, 则为该作业创建预约,跳到g);1)根据节点分配策略,从C)的复合条件的节点列表中获取运行本作业的节点列表;m)调度器向调度系统发送作业启动的请求,本作业调度结束;η)继续处理下一个作业。(5)最后,根据步骤4)的调度结果向调度系统发送作业启动请求; (6)休眠一段时间,然后返回( 进行下一个循环。权利要求1.一种面向CPU和GPU的混合调度方法,其特征在于 Si,调度器初始化时读取调度策略配置、优先级配置参数; S2,调度器在每个调度循环中读取作业调度系统中的信息;S3,调度器根据作业资源请求信息和调度策略进行优先级计算,确定每个作业的优先级并降序排列;S4,根据S3中得到的排列顺序,按照调度策略进行作业调度。 S5,根据S4的调度结果向调度系统发送作业启动请求; S6,休眠一段时间,然后返回S2进行下一个循环。2.如权利要求1所述的方法,其特征在于所述调度器读取的信息包括作业状态信息、 资源请求信息、节点状态信息、节点配置信息、队列配置信息、队列状态信息。3.如权利要求1所述的方法,其特征在于所述优先级的计算时,添加GPU权重参数参数,该参数取值可以是正数也可以是负数,将GPU权重*GPU请求数作为优先级的组成部分。4.如权利要求1或3所述的方法,其特征在于所述优先级计算时,通过调高或者调低 GPU权重的方式来提前或者延后GPU作业的调度和运行。5.如权利要求1所述的方法,其特征在于所述作业调度策略如下a)检查用户和队列的资源限额设置,确认当前作业能否参与调度,如果运行后会导致资源使用量超过限额,则执行b);否则,执行c);b)为当前作业创建一个作业预约,跳到g);c)过滤出可以运行当前作业的节点列表,需要满足的条件包括CPU数、内存数、GPU数;d)根据c)的结果判定当前剩余资源能否满足当前作业运行条件,如果资源不足,则为该作业创建预约,跳到g);e)根据节点分配策略,从c)的复合条件的节点列表中获取运行本作业的节点列表;f)调度器向调度系统发送作业启动的请求,本作业调度结束;g)继续处理下一个作业。全文摘要本专利技术提供了一种面向CPU和GPU的混合调度方法,S1,调度器初始化时读取调度策略配置、优先级配置参数;S2,调度器在每个调度循环中读取作业调度系统中的信息;S3,调度器根据作业资源请求信息和调度策略进行优先级计算,确定每个作业的优先级并降序排列;S4,根据S3中得到的排列顺序,按照调度策略进行作业调度。S5,根据S4的调度结果向调度系统发送作业启动请求;S6,休眠一段时间,然后返回S2进行下一个循环。本专利技术通过可定制的权重来设置GPU和非GPU作业的相对关系;在调度时判定GPU资源情况,达到GPU作业的准确调度。文档编号G06F9/50GK102521050SQ201110397358公开日2012年6月27日 申请日期2011年12月2日 优先权日2011年12月2日专利技术者孙国忠, 张涛, 李媛, 梁晓湛, 温鑫, 赵欢, 邵宗有 申请人:曙光信息产业(北京)有限公司本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张涛李媛梁晓湛温鑫赵欢孙国忠邵宗有
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术