[发明专利]自适应众核资源调度方法有效
申请号: | 201610155980.1 | 申请日: | 2016-03-18 |
公开(公告)号: | CN105843679B | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 张凯龙;周少丽;胡亮;杨安胜;苏航;吴晓;姚远 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06N3/04;G06N5/04 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 顾潮琪 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种自适应众核资源调度方法,面向环境自适应的多形态众核计算特征,引入了泛环境、计算形态、众核任务等模型与相应的管理方法,根据环境变化,自动决策众核任务集及其属性,进而根据输入数据规模的变化及任务执行的时间约束,自主测算任务中各计算步的时间复杂度、资源‑效能拟合关系。在高关键度任务优先的前提下,对等待启动的任务进行资源预分配规划,并根据各任务的资源‑效能拟合关系实现计算步效能均衡的资源分配。本发明能够为环境自适应的众核任务多形态管理及整体计算效能的优化提供良好支撑。 | ||
搜索关键词: | 自适应 核资 调度 方法 | ||
【主权项】:
1.一种自适应众核资源调度方法,其特征在于包括下述步骤:步骤A、将物理环境表示为E,包括系统运行相关的n个环境因素ε,记为<ε1,ε2,…,εn>;系统内部资源表示为R,记为,m为资源类型的数量;将物理环境因素、系统资源归一表示为泛环境Ue;计算形态M描述了计算系统在运行时软硬件资源的基本构造模式及状态,表示为<
其中,ζ表示集合,τ是并行计算任务个体;r是众核计算资源个体,
用于存储任务的运行参数或者资源的分配参数;
表示任务及其运行参数的集合,![]()
表示资源及其数量参数的集合;并行计算任务τ定义为>,其中id为任务的标识;λ表示任务的状态,0值表示未创建,1值表示已创建;ρ为任务的关键度;α为任务体的复杂度;dl为任务的最大执行时间长度;βin为众核处理机内存中的输入数据区域,βout为输出数据区域;任务τ共有s个计算步,κx为第x个计算步,其输入数据区域为βx,输出数据区域为βx+1;配置方案集ζC在数据库中静态记录了已经存在的任务计算步资源比例及分配方案;为多形态计算系统设计一个用于决策计算形态的决策器M‑Agent::=<,MD,ζM,Mo>,以动态采集到的泛环境Ue因素和当前的计算形态Mcurrent为决策输入,MD是基于模糊推理或人工神经网络设计的形态决策逻辑;决策器根据用户定义的推理规则,对所采集环境因素的状态进行在线判断,进而从形态集合ζM中决策出新的计算形态Mo及其参数;决策器根据众核资源占用状态、可并行执行任务的关键度与时间约束参数的综合约束,在有足够可用众核资源的情况下,依次按照任务的关键度和时间约束,选择出关键度高或时间约束更为紧急的并行任务,进而形成可部署并行任务集
步骤B、单任务的计算复杂度评估,包括以下步骤:B1、接收到待处理的矩阵数据,h为矩阵高度,w为矩阵宽度;若在ζC中查询到任务τi的计算开销矩阵Zi(h*w)和分配方案,且分配方案不存在任何元素的值为0,则转入步骤C,否则转入步骤B2;B2、任务的n核模式复杂度计算,包括以下步骤:B21、根据任务τi为n核形态时,τi所需核资源s*n不超过可分配计算核的数量N的约束,为n设置初值1,设定一个非负整型的递增步长Δn,Δn≤int(N/s)‑n;建立大小为s*(int((N‑1)/Δn)+1)的计算开销矩阵Zi(h*w),
矩阵元素Tpq表示κp在n核模式下的时间开销,p为元组的行下标,q为元素的列下标,1≤q≤(int((N‑1)/Δn)+1),
元素初值全部为0;B22、创建n核形态的任务τi,包括了s个n核模式的计算步κ1,κ2,…,κs,共分配了n*s个计算核;B23、将待计算数据输入计算步κ1,并统计其计算时间T1n,若s>1,将数据输出到缓冲区β2;依次完成κ2至κs‑1任务的计算时间统计;B24、κs执行完后,统计Tsn,销毁当前n核模式的任务τi;B25、如q<(int((N‑1)/Δn)+1),将q的值加1,并计算新的n值,返回步骤B22;否则在数据文件ζC中存储τi任务处理一个h*w数据矩阵的时间开销矩阵Zi(h*w)及其Δn,转入步骤B3;B3、各计算步的核模式选择,包括以下步骤:B31、建立一个τi计算步的核数量矩阵Cs*(int((N‑1)/Δn)+1)(i),元素c为二元组<ω,T>,其中ω是为各计算步分配的计算核数量,T为该核数量时计算步的时间开销,初值全部为<0,0>,
设置p=1、q=1,从Zi(h*w)读取Tpq的值并将其赋给一个临时变量Te,c11设置为<1,T11>;B32、遍历Zi(h*w)的(p+1)行,选出与Te差值最小的一个元素,记为T(p+1)y,(1≤y≤(int((N‑1)/Δn)+1)),并将c(p+1)q的值设置为<(1+(y‑1)*Δn),T(p+1)y>,同时将Te赋值为Max(c1q.T,c2q.T,…,c(p+1)q.T);B33、若p小于s,将p值加1,转入B32;若p不小于s,将p赋值为1,q的值加1,转入B34;B34、若q≤(int((N‑1)/Δn)+1),B32;否则,转入B35;B35、对Cs*(int((N‑1)/Δn)+1)(i)的每一列,将同列元素的时间ω和T分别求和,得到该列方案时τi的核资源总数和时间开销;B36、选择时间开销小于τi.dl且所需资源最少的一列q作为τi的任务构造方案,并将该列以元组存入ζC;B37、若
中存在未评估任务,则在
中选择新的任务τi并转到B1;否则转步骤C;步骤C、多任务间的核资源优化分配,包括以下步骤:在已运行任务中,比新到来任务关键度高的所有任务继续运行,其他已运行任务与新到达任务构成待部署任务集合
统计待部署任务集合中任务所占用核资源与系统空闲核资源的和Ct,以待分配;根据关键度优先、任务时间约束及可用核资源数量,进行多任务资源的预分配:a)按照关键度由高到低,依次从
中选取一个任务τ,根据ζC中的方案计算其所需的核资源数C;b)若Ct≥C,为任务τ预分配C个核资源,将Ct的值减去C;否则,转入步骤c);c)若
中存在未分配核资源的任务,跳转至a)执行直到
为空或不存在任务所需的C小于Ct;生成预分配方案;若存在不可满足资源数量要求的任务,将任务集输出反馈给用户;对于已运行且关键度不高于新任务的任务,若预分配成功,则根据预分配方案及ζC中的计算步资源比例,重新分配资源启动该任务;否则,销毁任务,释放核资源及存储资源;对于新到达的每一个任务,若预分配成功,则根据ζC中的计算步资源比例为每一个计算步分配核资源及存储资源,构造任务并启动,将任务的状态λ置为1;若预分配不成功,则将任务的状态λ置为0,取消该任务并进行系统提示;最后,完成任务集中所有任务的启动;步骤D、返回步骤A监测环境变化,周期性地执行步骤A、B、C、D,直至系统停机。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610155980.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种电动阀
- 下一篇:带断电自动复位功能的电动阀