CN105843679A - 自适应众核资源调度方法 - Google Patents

自适应众核资源调度方法 Download PDF

Info

Publication number
CN105843679A
CN105843679A CN201610155980.1A CN201610155980A CN105843679A CN 105843679 A CN105843679 A CN 105843679A CN 201610155980 A CN201610155980 A CN 201610155980A CN 105843679 A CN105843679 A CN 105843679A
Authority
CN
China
Prior art keywords
task
resource
core
calculating
nuclear
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610155980.1A
Other languages
English (en)
Other versions
CN105843679B (zh
Inventor
张凯龙
周少丽
胡亮
杨安胜
苏航
吴晓
姚远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201610155980.1A priority Critical patent/CN105843679B/zh
Publication of CN105843679A publication Critical patent/CN105843679A/zh
Application granted granted Critical
Publication of CN105843679B publication Critical patent/CN105843679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Fuzzy Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种自适应众核资源调度方法,面向环境自适应的多形态众核计算特征,引入了泛环境、计算形态、众核任务等模型与相应的管理方法,根据环境变化,自动决策众核任务集及其属性,进而根据输入数据规模的变化及任务执行的时间约束,自主测算任务中各计算步的时间复杂度、资源‑效能拟合关系。在高关键度任务优先的前提下,对等待启动的任务进行资源预分配规划,并根据各任务的资源‑效能拟合关系实现计算步效能均衡的资源分配。本发明能够为环境自适应的众核任务多形态管理及整体计算效能的优化提供良好支撑。

Description

自适应众核资源调度方法
技术领域
本发明涉及众核处理器上的核计算资源自适应调度方法,尤其涉及一种部署于高性能多形态计算系统的具有“资源-效能”平衡优化的核资源分配与调度方法。
背景技术
新型航空航天系统、智能机器人等复杂嵌入式系统正日益呈现出深度信息、物理融合以及高度智能化的发展特征,其具有开放、动态环境自适应的计算特征。针对由计算热点随环境变化而发生切换所引起的计算形态变化,尤其是并行计算任务及其效能约束的变化,需要研究一种新的自适应调度方法,能够评估不同计算任务的动态计算效能,进而根据全局效能优化的策略对众核资源进行分配和构造,以提升并行计算任务的效能。
现有研究中,主要是包括了众核计算资源的均衡分配及适应数据变化的众核资源分配等,并以算法均衡度、数据处理时间作为关键评价指标。文献“众核处理器系统核资源动态分组的自适应调度算法,曹仰杰等,软件学报,2012 23卷第2期”中研究提出了一种支持核资源动态分组的自适应调度算法CASM,其通过对任务簇的拆分与合并,动态构建可弹性分区的核逻辑组实现核资源的隔离优化访问,针对任务簇间和簇内的不同特点,算法分别采用公平性较好的均衡调度算法和资源利用率较高的自适应调度算法;“面向数据包处理的众核处理器核资源分配方法,罗章琪等,计算机研究与发展,2014 51卷第6期”中针对路由器应用研究了面向数据包流水处理机制的核资源优化分配方法,该方法根据数据包的处理步骤将任务划分为多个子阶段并通过对各子阶段的执行时间进行评估来计算各阶段应该分配的核数量。上述方法主要考虑单一任务/单一处理模式下的资源均衡和性能优化,未考虑环境自适应多态应用中的可变计算形态及动态效能特征,不能为该类应用提供有效的方法支持。
发明内容
为了克服现有技术的不足,本发明提供一种众核处理机中的核资源自适应分配与调度方法,在环境、资源状态实时判断的基础上,自主决策并行计算任务组中的任务效能属性,进而根据不同任务的特性进行核资源分配,从而保证全局优化的计算形态构造,提升资源利用率及计算效率。本发明能够增强众核处理机资源的优化分配与调度管理能力,从而为构建高性能复杂智能嵌入式应用提供有效的方法支撑。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤A、将物理环境表示为E,包括系统运行相关的n个环境因素ε,记为<ε12,…,εn>;系统内部资源表示为R,记为<r1,r2,…,rm>,m为资源类型的数量;将物理环境因素、系统资源归一表示为泛环境Ue;
计算形态M描述了计算系统在运行时软硬件资源的基本构造模式及状态,表示为<其中,ζ表示集合,τ是并行计算任务个体;r是众核计算资源个体,存储任务或资源的运行参数或分配参数;表示任务及其运行参数的集合,表示资源及其数量参数的集合;
并行计算任务τ定义为<id,λ,ρ,α,dl,βinout,<κ12,…,κs>>,其中id为任务的标识;λ表示任务的状态,0值表示未创建,1值表示已创建;ρ为任务的关键度;α为任务体的复杂度;dl为任务的最大执行时间长度;βin为众核处理机内存中的输入数据区域,βout为输出数据区域;任务τ共有s个计算步,κi为第i个计算步,其输入数据区域为βi,输出数据区域为βi+1;配置方案集ζC在数据库中静态记录了已经存在的任务计算步资源比例及分配方案;
为多形态计算系统设计一个用于决策计算形态的决策器M-Agent::=<<Ue,Mi>,MD,ζM,Mo>,以动态采集到的泛环境Ue因素和当前的计算形态Mi作为决策输入,MD是基于模糊推理或人工神经网络设计的形态决策逻辑;
决策器根据用户定义的推理规则,对所采集环境因素的状态进行在线判断,进而从形态集合ζM中决策出新的计算形态Mo及其参数;
决策器根据众核资源占用状态、可并行执行任务的关键度与时间约束参数的综合约束,在有足够可用众核资源的情况下,依次按照任务的关键度和时间约束,选择出关键度高或时间约束更为紧急的并行任务,进而形成可部署并行任务集
步骤B、单任务的计算复杂度评估,包括以下步骤:
B1、接收到待处理的矩阵数据,h为矩阵高度,w为矩阵宽度;若在ζC中查询到任务τi的计算开销矩阵Ζi(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)的计算开销矩阵Ζi(h*w),矩阵元素Tpq表示κp在n核模式下的时间开销,p为元组的行下标,q为元素的列下标,1≤q≤(int((N-1)/Δn)+1),元素初值全部为0;
B22、创建n核形态的任务τi,包括了s个n核模式的计算步κ12,…,κ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大小数据的时间开销矩阵Ζi(h*w)及其Δn,转入步骤B3;
B3、各计算步的核模式选择,包括以下步骤:
B31、建立一个τi计算步的核数量矩阵Cs*(int((N-1)/Δn)+1)(i),元素c为二元组<ω,T>中ω为各计算步分配的计算核数量,T为该核数量时计算步的时间开销,初值全部为设置p=1、q=1,从Ζi(h*w)读取Tpq的值并赋予T’,c11设置为<1,T11>;
B32、遍历Ζi(h*w)的(p+1)行,选择与T’的差最小一个元素T(p+1)q’,将c(p+1)q的值置为<(1+(q’-1)*Δn),T(p+1)q’>,将T’赋值为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的任务构造方案,并将该列以元组<c1q,c2q,c3q,…,csq>存入ζ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,直至系统停机。
本发明的有益效果是:面向环境自适应的多形态众核计算特征,引入了泛环境、计算形态、众核任务等模型与相应的管理方法。本发明可以根据环境变化,自动决策众核任务集及其属性,进而可以根据输入数据规模的变化及任务执行的时间约束,自主测算任务中各计算步的时间复杂度、资源-效能拟合关系。在高关键度任务优先的前提下,对等待启动的任务进行资源预分配规划,并根据各任务的“资源-效能拟合关系”实现计算步效能均衡的资源分配。该方法可以为环境自适应的众核任务多形态管理及整体计算效能的优化提供良好支撑。
附图说明
图1描述了本发明中的流式众核任务计算步处理逻辑;
图2描述了本发明中M-Agent的基于泛环境因素的计算形态决策逻辑;
图3描述了本发明中的众核任务形态构造与管理流程。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明的技术方案包括以下步骤:
A、众核任务及其运行属性决策。
对于信息物理融合的智能化嵌入式系统而言,其并行任务集及其运行属性决策与当前外部所处的物理世界状态和内部的系统资源构造形态及运行状态密切相关,是一个更为复杂的过程。基于如下物理环境、系统软硬件资源、运行形态等模型,可将并行任务运行属性的实时决策机制分为如下步骤进行描述。
物理环境表示为E,其包括了系统运行相关的n个环境因素ε,并记为<ε12,…,εn>;系统内部资源表示为R,其包括了系统计算、通信、存储、控制等资源,表示为<r1,r2,…,rm>,m为资源类型的数量。本发明中,内部资源是指众核计算资源。统一地,将物理环境因素、系统资源归一表示为泛环境Ue。
计算形态M描述了计算系统在运行时软硬件资源的基本构造模式及状态,表示为<其中,ζ表示集合,τ是并行计算任务个体;r是众核计算资源个体,存储任务或资源的运行参数或分配参数;表示任务及其运行参数的集合,表示资源及其数量参数的集合。进而,并行计算任务τ定义为<id,λ,ρ,α,dl,βinout,<κ12,…,κs>>,其中id为任务的标识;λ表示任务的状态,0值表示未创建,1值表示已创建;ρ为任务的关键度,其值越小标识任务的重要程度越高;α为任务体的复杂度;dl为任务的最大执行时间长度;βin为众核处理机内存中的输入数据区域,βout为输出数据区域;任务τ共有s个计算步,κi为第i个计算步,共s个,其输入数据区域为βi,输出数据区域为βi+1;配置方案集ζC在数据库中静态记录了已经存在的任务计算步资源比例及分配方案。
A1、环境适应的任务集决策。
不同计算形态下,定义了不同的计算任务集、资源基本构型及运行时参数。众核处理机上,计算形态的切换首先是并行计算任务集的决策以及对各任务众核计算资源的构型决策。具体操作为:
首先,为多形态计算系统设计一个用于决策计算形态的软件模块M-Agent::=<<Ue,Mi>,MD,ζM,Mo>,称之为形态决策器。该决策器以动态采集到的泛环境Ue因素和当前的计算形态Mi作为决策输入,MD是基于模糊推理或人工神经网络等智能化方法设计的形态决策逻辑;
然后,决策器根据用户定义的推理规则,对所采集环境因素的状态进行在线判断,进而从形态集合ζM中决策出新的计算形态Mo及其参数;
最后,决策器根据众核资源占用状态、可并行执行任务的关键度与时间约束参数的综合约束;在有足够可用众核资源的情况下,依次按照任务的关键度和时间约束,选择出关键度高或时间约束更为紧急的并行任务,进而形成可部署并行任务集
B、单任务的计算复杂度评估。
并行任务集的确定以及面向任务属性的众核资源优化分配,是在众核处理机中实现全局优化并行计算的关键。对于确定数量的众核资源,为M形态下中的并行任务集合理的分配计算资源,使得各任务在满足基本执行时间和精度要求的基础上,尽可能地提高执行效率是保障其关键度的重要体现。
B1、查询给定数据规模时的任务复杂度参数。
接收到待处理的矩阵数据;根据该数据矩阵大小h*w,其中h为矩阵高度、w为宽度;若在ζC中可查询到任务τi的计算开销矩阵Ζi(h*w)和分配方案,且分配方案不存在任何元素的值为0,则转入步骤C处理,否则转入步骤B2处理。
B2、任务的n核模式复杂度计算。
α为任务的基本计算复杂度,可由任务设计者设定。但对于数据规模可变的并行计算任务而言,算法的执行时间与数据规模密切相关。为此,在创建任务τi时,若单个输入数据规模发生变化,就需要在不改变其并行逻辑的前提下动态估算单核形态下的任务计算复杂度。具体操作如下:
首先,根据“任务τi为n核形态时,τi所需核资源s*n不超过可分配计算核的数量N”这一约束,为n设置初值1(表示单核任务模式),设定一个非负整型的递增步长Δn,Δn≤int(N/s)-n;建立式(1)所示大小为s*(int((N-1)/Δn)+1)的计算开销矩阵Ζi(h*w),矩阵元素Tpq(p为元组的行下标,q为元素的列下标)表示κp在n核模式下的时间开销,1≤q≤(int((N-1)/Δn)+1),n值可由式(2)计算;元素初值全部为0;
第二,创建n核形态的任务τi,包括了s个n核模式的计算步:κ12,…,κs,共分配了n*s个计算核;
第三,将待计算数据输入计算步κ1,并统计其计算时间T1n,若s>1,将数据输出到缓冲区β2;按此方式,依次完成κ2至κs-1任务的计算时间统计;
第四,κs执行完后,统计Tsn,销毁当前n核模式的任务τi
最后,如q<(int((N-1)/Δn)+1),将q的值加1,并依据式(2)计算新的n值,返回第二步继续;否则在数据文件ζC中存储τi任务对h*w大小数据的时间开销矩阵Ζi(h*w)及其Δn,转入B3步骤执行。
B3、各计算步的核模式选择,具体操作为:
根据“各计算步的计算时间开销尽量接近”这一条件,基于矩阵的数据为任务τi各个计算步设定并行的核数量。
首先,建立一个τi计算步的核数量矩阵Cs*(int((N-1)/Δn)+1)(i),元素c为二元组<ω,T>其中ω为各计算步分配的计算核数量,T为该核数量时计算步的时间开销,初值全部为<0,0>,如式(3)所示;设置p=1,q=1,从Ζi(h*w)读取Tpq的值并赋予T’,c11设置为<1,T11>;
第二,遍历Ζi(h*w)的(p+1)行,根据“与T’的差最小”这一条件选择一个元素T(p+1)q’,分别将c(p+1)q的值置为<(1+(q’-1)*Δn),T(p+1)q’>;将T’赋值为Max(c1q.T,c2q.T,…,c(p+1)q.T);
第三,若p小于s,将p值加1,转入第二步;若p不小于s,将p赋值为1,q的值加1,转入第四步;
第四,若q≤(int((N-1)/Δn)+1),转入第二步;否则,转入第五步;
第五,对Cs*(int((N-1)/Δn)+1)(i)的每一列,将同列元素的时间ω和T分别求和,得到该列方案时τi的核资源总数和时间开销;
第六,选择时间开销小于τi.dl且所需资源最少的一列q作为τi的任务构造方案,并将该列以元组<c1q,c2q,c3q,…,csq>存入ζC
第七,中有未评估任务,则在中选择新的任务τi并转到B1执行;如果不存在未评估的任务,则转C步骤。
C、多任务间的核资源优化分配
根据新形态中所有任务(已运行的和新到来的)的关键度及其时间约束,重新估算各任务资源分配,以在保证关键任务实时正确运行前提下,尽量减少资源占用并实现所任务全局效能的优化。具体操作如下:
C1、任务的核资源数量计算
首先,已运行任务中,比新到来任务关键度高的所有任务继续运行;其他已运行任务与新到达任务构成待部署任务集合统计该集合中任务所占用核资源与系统空闲核资源的和Ct,以待分配;
第二,根据关键度优先、任务时间约束及可用核资源数量,进行多任务资源的预分配;
a)从关键度由高到低,依次从中选取一个任务τ,根据ζC中的方案计算其所需的核资源数C;
b)若Ct≥C,为任务τ预分配C个核资源,将Ct的值减去C;否则,转入步骤c);
c)若中存在未分配核资源的任务,跳转至a)执行直到为空或不存在任务所需的C小于Ct
最后,生成预分配方案;若存在不可满足资源数量要求的任务,将任务集输出反馈给用户。
C2、任务资源分配与重构。
首先,对于已运行且关键度不高于新任务的任务,若预分配成功,则根据预分配方案及ζC中的计算步资源比例,重新分配资源启动该任务;否则,销毁任务,释放核资源及存储资源;
然后,对于新到达的每一个任务,若预分配成功,则根据ζC中的计算步资源比例为每一个计算步分配核资源及存储资源,构造任务并启动,将任务的状态λ置为1;若预分配不成功,则将任务的状态λ置为0,取消该任务并进行系统提示;
最后,完成任务集中所有任务的启动。
步骤D、周期性地执行步骤A、B、C、D,直至系统停机。
结合图1-图3,本发明实施例的工作过程如下:
首先M-Agent感知泛环境Ue的变化,动态决策、生成新的众核任务集进入任务效能评估阶段,M-Agent依次对中尚未评估的任务(即ζC中不存在该任务的信息)创建不同核数量的形态实体,并采用运行时统计的方式统计计算任务各计算步的资源比例模型和不同核资源规模下的执行时间,计入ζC;M-Agent从已运行任务中选择关键度小于中任一任务关键度的所有任务,与新任务一同构成待部署任务集 统计该类任务当前所占用的计算核资源数量;依关键度从高到低,中依次选择各个任务,根据其时间约束计算并分配特定数量的核资源;对分配了资源且未运行的各个任务,依据ζC中的计算步资源比例构造和启动各计算步,对于未能成功分配资源的低关键度任务,销毁该任务;返回开始的泛环境监测执行。
本发明目前已成功实施于多任务流式众核处理模式中,结合图3及多任务并行计算这一应用场景,本发明实施的具体步骤如下:
步骤A、众核任务及其运行属性决策。
本实施例中,基于Kepler CUDA的众核处理机共有2496个计算核,共有6个众核计算任务τ1、τ2、τ3、τ4、τ5、τ6和四个计算形态M0、M1、M2和M3,定义如下。
τ1:=<1,0,10,null,80ms,βinout,<κ1234567>>
τ2:=<2,0,10,null,3ms,βinout,<κ12>>
τ3:=<3,0,10,null,15ms,βinout,<κ12345678>>
τ4:=<4,0,10,null,21ms,βinout,<κ1234>>
τ5:=<5,0,10,null,3ms,βinout,<κ123456>>
τ6:=<1,0,10,null,0.5ms,βinout,<κ1>>
M0:=<{null},{null}>/*异常态*/
M1:=<{<τ11.ρ=1>,<τ22.ρ=8>,<τ33.ρ=3>},{1024}>
M2:=<{<τ11.ρ=6>,<τ44.ρ=1>,<τ55.ρ=2>},{512}>
M3:=<{<τ11.ρ=1>,<τ22.ρ=10>,<τ33.ρ=5>,<τ66.ρ=4>},{2048}>
步骤A1、环境适应的任务集决策。
本实施例中,形态决策器M-Agent基于模糊推理逻辑设计。其以外界环境中的障碍物距离d、障碍物的威胁程度r以及计算平台中的可用众核资源及其状态作为输入,其输入变量属性的模糊子集如表1、表2所示,输入变量的离散域模糊集合隶属度分布如表3所示。
表1物理环境侧面的模糊子集说明
表2众核资源的模糊状态说明
表3输入变量离散域模糊集合的隶属度分布
M-Agent实时感知泛环境中环境侧面或事件的变化,并通过设定的模糊推理规则实时决策出新的计算形态。进而,根据众核资源的状态以及新形态下任务的重要程度来决策出可部署于中和处理器的并行任务集。障碍物距离d实际论域的取值范围为[0,104],威胁程度r实际论域的取值范围为[0,100]。根据量化公式1和2将其量化至离散论域[0,6]中。
如上所述,输出变量M为计算形态,其值划分为M0、M1、M2、M3等4个值,并量化至离散论域[0,6]中。若计算资源异常,所有模态转入M0计算形态。由此,输出变量的隶属度函数及其决策规则分别如表4、表5所示。
表4输出变量M的隶属度函数
表5决策规则表
实际中,用户可根据应用特点及需要设计不同的M-Agent决策逻辑和相关规则。
步骤B、单任务的计算复杂度评估。
在构造、部署任务之前,先通过自适应运行测试的方法对特定数据规模下的众核任务计算复杂度进行评估。
步骤B1、查询给定数据规模时的任务复杂度参数。
接收到待处理的矩阵数据;输入数据矩阵大小(h=640,w=480),若在ζC中可查询到任务τi的多核计算开销矩阵Ζi,且分配方案不存在任何元素的值为0,则转入步骤C处理,否则转入步骤B2处理。
步骤B2、任务的n核模式复杂度计算。
步骤B21,根据s个计算步的任务τi所需核数量s*n(n指任务τi为n核形态)不超过可分配计算核N=350这一约束,设定一个递增步长Δn=8;建立式(1)所示大小为s*(int((N-1)/Δn)+1)的计算开销矩阵Ζi(h*w),矩阵元素Tpq表示κp在n核模式下的时间开销,1≤q≤(int((N-1)/Δn)+1),n值可由式(1)计算;元素初值全部为0;
步骤B22,创建n核形态的任务τi,其实际上是包括了s个n核的计算步:κ12,…,κs,共占用n*s个计算核;
步骤B23,将待计算数据输入计算步κ1,并统计其计算时间T1;若s>1,将数据输出到缓冲区β2;按此方式,依次完成κ2至κs-1任务的计算时间统计;
步骤B24,κs执行完后,统计Tsn,销毁当前n核模式的任务τi
步骤B25,如q<(int((N-1)/Δn)+1),将q的值加1,并依据式(1)计算新的n值,返回第二步继续;否则在数据文件ζC中存储τi任务对h*w大小数据的时间开销矩阵Ζi(h*w)及其Δn,转入B3步骤执行。τ5任务的复杂度如表6所示。
表6n核模式的τ5任务复杂度矩阵(ms)
步骤B3、各计算步间的多核模式选择
步骤B31,建立一个τi计算步的核数量矩阵Cs*(int((N-1)/Δn)+1)(i),全部元素c的初值均为<0,0>;设置p=1,q=1,从Ζi(h*w)读取Tpq的值并赋予T’,c11设置为<1,T11>;
步骤B32,遍历Ζi(h*w)的(p+1)行,根据“与T’的差最小”这一条件选择一个元素T(p+1)q’,分别将c(p+1)q的值置为<(1+(q’-1)*Δn),T(p+1)q’>;将T’赋值为Max(c1q.T,c2q.T,…,c(p+1)q.T);
步骤B33,若p小于s,将p值加1,转入第二步;若p不小于s,将p赋值为1,q的值加1,转入第四步;
步骤B34,若q≤(int((N-1)/Δn)+1),转入第二步;否则,得出表7所示的计算结果,转入第五步;
表7任务τi的计算步核数量分配矩阵
步骤B35,对Cs*(int((N-1)/Δn)+1)(i)的每一列,将同列元素的时间ω和T分别求和,得到该列方案时τi的核资源总数和时间开销;如τ5的不同构造方案及其时间开销为:<84,3.852>,<99,3.108>,<107,2.815>,<138,2.367>,<193,1.818>,<209,1.705>,<217,1.659>,<225,1.62>。
步骤B36,选择时间开销小于τi.dl且所需资源最少的一列q作为τi的任务构造方案,并将该列以元组<c1q,c2q,c3q,…,csq>存入ζC。如τ5.dl为3ms时,方案<107,2.815>、<138,2.367>、<193,1.818>、<209,1.705>、<217,1.659>、<225,1.62>均可满足时间要求,但根据资源最少的原则,最终选定<107,2.815>对应的任务构造方案,即C5矩阵中的第三列。
步骤C、多任务间的核资源优化分配
步骤C1、任务的核资源数量计算
步骤C11,已运行任务中,比新到来任务关键度高的所有任务继续运行,如M1转到M3时,任务τ1的关键度最高,继续运行;其他已运行任务与新到达任务构成待部署任务集合统计该集合中任务所占用核资源与系统空闲核资源的和Ct,以待分配;
步骤C12,根据关键度优先、任务时间约束及可用核资源数量,进行多任务资源的预分配;
a)从关键度由高到低,从中依次选取任务,如τ6、τ3、τ2,根据ζC计算其所需的最少资源数C;
b)若Ct≥C,为任务τ预分配C个核资源;将Ct的值减去C;否则,转入步骤c)执行;
c)若中存在未分配核资源的任务,跳转至a)执行直到为空或不存在任务所需的C小于Ct
步骤C13,生成预分配方案;若存在不可满足资源数量要求的任务,将任务集输出反馈给用户。
步骤C2、任务资源分配与重构。
步骤C21,对于已运行且关键度不高的任务,如τ3和τ2,若预分配成功,则根据预分配方案及ζC中的计算步资源比例,重新分配资源启动该任务;否则,销毁任务,释放核资源及存储资源;
步骤C22,对于新到达的每一个任务,如τ6,若预分配成功,则根据ζC中的计算步资源比例为每一个计算步分配核资源及存储资源,构造任务并启动,将任务的状态λ置为1;若预分配不成功,则将任务的状态λ置为0,取消该任务并进行系统提示;
步骤C23,完成任务集中所有任务的启动。
步骤D、周期性地执行步骤A、B、C、D,直至系统停机。
本发明可为具有环境自适应能力的智能化高性能众核计算系统设计提供方法支撑。在将物理环境、计算资源等因素规约为系统运行所处泛环境的基础上,通过计算形态智能决策机制以及众核计算任务及其计算步复杂度的运行时自适应评估,可以实现“资源-效能”优化的任务形态构造和部署,在保证各任务时间约束的同时也提升众核资源的利用率。本发明适用于多计算形态的智能化高性能计算系统,尤其可以为无人航行器、智能机器人等智能系统的实时数据处理与识别以及输入数据规模可变的大数据实时处理系统等的设计提供方法支撑。
依据本发明,本领域的技术人员可以很容易地设计出环境自适应的多形态众核任务计算系统实施例。

Claims (1)

1.一种自适应众核资源调度方法,其特征在于包括下述步骤:
步骤A、将物理环境表示为E,包括系统运行相关的n个环境因素ε,记为<ε12,…,εn>;系统内部资源表示为R,记为<r1,r2,…,rm>,m为资源类型的数量;将物理环境因素、系统资源归一表示为泛环境Ue;
计算形态M描述了计算系统在运行时软硬件资源的基本构造模式及状态,表示为 其中,ζ表示集合,τ是并行计算任务个体;r是众核计算资源个体,存储任务或资源的运行参数或分配参数;表示任务及其运行参数的集合,表示资源及其数量参数的集合;
并行计算任务τ定义为<id,λ,ρ,α,dl,βinout,<κ12,…,κs>>,其中id为任务的标识;λ表示任务的状态,0值表示未创建,1值表示已创建;ρ为任务的关键度;α为任务体的复杂度;dl为任务的最大执行时间长度;βin为众核处理机内存中的输入数据区域,βout为输出数据区域;任务τ共有s个计算步,κi为第i个计算步,其输入数据区域为βi,输出数据区域为βi+1;配置方案集ζC在数据库中静态记录了已经存在的任务计算步资源比例及分配方案;
为多形态计算系统设计一个用于决策计算形态的决策器M-Agent::=<<Ue,Mi>,MD,ζM,Mo>,以动态采集到的泛环境Ue因素和当前的计算形态Mi作为决策输入,MD是基于模糊推理或人工神经网络设计的形态决策逻辑;
决策器根据用户定义的推理规则,对所采集环境因素的状态进行在线判断,进而从形态集合ζM中决策出新的计算形态Mo及其参数;
决策器根据众核资源占用状态、可并行执行任务的关键度与时间约束参数的综合约束,在有足够可用众核资源的情况下,依次按照任务的关键度和时间约束,选择出关键度高或时间约束更为紧急的并行任务,进而形成可部署并行任务集
步骤B、单任务的计算复杂度评估,包括以下步骤:
B1、接收到待处理的矩阵数据,h为矩阵高度,w为矩阵宽度;若在ζC中查询到任务τi的计算开销矩阵Ζi(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)的计算开销矩阵Ζi(h*w),矩阵元素Tpq表示κp在n核模式下的时间开销,p为元组的行下标,q为元素的列下标,1≤q≤(int((N-1)/Δn)+1),元素初值全部为0;
B22、创建n核形态的任务τi,包括了s个n核模式的计算步κ12,…,κ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大小数据的时间开销矩阵Ζi(h*w)及其Δn,转入步骤B3;
B3、各计算步的核模式选择,包括以下步骤:
B31、建立一个τi计算步的核数量矩阵Cs*(int((N-1)/Δn)+1)(i),元素c为二元组<ω,T>中ω为各计算步分配的计算核数量,T为该核数量时计算步的时间开销,初值全部为<0,0>,设置p=1、q=1,从Ζi(h*w)读取Tpq的值并赋予T’,c11设置为<1,T11>;
B32、遍历Ζi(h*w)的(p+1)行,选择与T’的差最小一个元素T(p+1)q’,将c(p+1)q的值置为<(1+(q’-1)*Δn),T(p+1)q’>,将T’赋值为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的任务构造方案,并将该列以元组<c1q,c2q,c3q,…,csq>存入ζ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,直至系统停机。
CN201610155980.1A 2016-03-18 2016-03-18 自适应众核资源调度方法 Active CN105843679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610155980.1A CN105843679B (zh) 2016-03-18 2016-03-18 自适应众核资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610155980.1A CN105843679B (zh) 2016-03-18 2016-03-18 自适应众核资源调度方法

Publications (2)

Publication Number Publication Date
CN105843679A true CN105843679A (zh) 2016-08-10
CN105843679B CN105843679B (zh) 2018-11-02

Family

ID=56587967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610155980.1A Active CN105843679B (zh) 2016-03-18 2016-03-18 自适应众核资源调度方法

Country Status (1)

Country Link
CN (1) CN105843679B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577532A (zh) * 2017-08-31 2018-01-12 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN107943568A (zh) * 2017-10-31 2018-04-20 北京航空航天大学 综合模块化航空电子系统两级调度模型与原型平台
CN108196959A (zh) * 2018-02-07 2018-06-22 聚好看科技股份有限公司 Etl系统的资源管理方法及装置
CN109558248A (zh) * 2018-12-11 2019-04-02 中国海洋大学 一种用于确定面向海洋模式计算的资源分配参数的方法及系统
CN111258574A (zh) * 2020-01-14 2020-06-09 中科驭数(北京)科技有限公司 加速器体系结构的编程方法和系统
US11093281B2 (en) 2018-03-30 2021-08-17 Nec Corporation Information processing apparatus, control method, and program to control allocation of computer resources for different types of tasks
WO2021249440A1 (zh) * 2020-06-09 2021-12-16 北京灵汐科技有限公司 网络精度的量化方法、系统、装置、电子设备及可读介质
CN114398173A (zh) * 2021-12-21 2022-04-26 北京达佳互联信息技术有限公司 一种资源分配方法、装置及电子设备
WO2022083119A1 (zh) * 2020-10-21 2022-04-28 上海交通大学 一种资源配置方法、介质及服务端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102438325B (zh) * 2012-01-11 2014-03-19 西安电子科技大学 基于认知无线终端重构系统的资源调度方法
CN104123452A (zh) * 2014-07-18 2014-10-29 西北工业大学 基于模糊决策的gpu负载综合评判方法
CN104834556A (zh) * 2015-04-26 2015-08-12 西北工业大学 一种多态实时任务与多态计算资源的映射方法
CN104834628A (zh) * 2015-04-26 2015-08-12 西北工业大学 多态计算平台及其构造方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102438325B (zh) * 2012-01-11 2014-03-19 西安电子科技大学 基于认知无线终端重构系统的资源调度方法
CN104123452A (zh) * 2014-07-18 2014-10-29 西北工业大学 基于模糊决策的gpu负载综合评判方法
CN104834556A (zh) * 2015-04-26 2015-08-12 西北工业大学 一种多态实时任务与多态计算资源的映射方法
CN104834628A (zh) * 2015-04-26 2015-08-12 西北工业大学 多态计算平台及其构造方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KAILONG ZHANG ETC.: "FEAS: Fuzzy-logic based Environment Adaptive Scheduler for Agent System", 《2009 10TH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCES, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING》 *
KAILONG ZHANG,SHAOLI ZHOU, LIANG HU, HANG SU, XIAO WU ETC.: "Design and Verification of Heterogeneous Streaming Parallel Mechanisms on Kepler CUDA", 《2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION TECHNOLOGY; UBIQUITOUS COMPUTING AND COMMUNICATIONS》 *
罗章琪等: "面向数据包处理的众核处理器核资源分配方法", 《计算机研究与发展》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577532A (zh) * 2017-08-31 2018-01-12 广东欧珀移动通信有限公司 资源配置方法及相关产品
CN107943568A (zh) * 2017-10-31 2018-04-20 北京航空航天大学 综合模块化航空电子系统两级调度模型与原型平台
CN107943568B (zh) * 2017-10-31 2021-11-26 北京航空航天大学 综合模块化航空电子系统两级调度模型与原型平台
CN108196959B (zh) * 2018-02-07 2021-06-01 聚好看科技股份有限公司 Etl系统的资源管理方法及装置
CN108196959A (zh) * 2018-02-07 2018-06-22 聚好看科技股份有限公司 Etl系统的资源管理方法及装置
US11093281B2 (en) 2018-03-30 2021-08-17 Nec Corporation Information processing apparatus, control method, and program to control allocation of computer resources for different types of tasks
CN109558248A (zh) * 2018-12-11 2019-04-02 中国海洋大学 一种用于确定面向海洋模式计算的资源分配参数的方法及系统
CN109558248B (zh) * 2018-12-11 2020-06-02 中国海洋大学 一种用于确定面向海洋模式计算的资源分配参数的方法及系统
CN111258574B (zh) * 2020-01-14 2021-01-15 中科驭数(北京)科技有限公司 加速器体系结构的编程方法和系统
CN111258574A (zh) * 2020-01-14 2020-06-09 中科驭数(北京)科技有限公司 加速器体系结构的编程方法和系统
WO2021249440A1 (zh) * 2020-06-09 2021-12-16 北京灵汐科技有限公司 网络精度的量化方法、系统、装置、电子设备及可读介质
US11783168B2 (en) 2020-06-09 2023-10-10 Lynxi Technologies Co., Ltd. Network accuracy quantification method and system, device, electronic device and readable medium
WO2022083119A1 (zh) * 2020-10-21 2022-04-28 上海交通大学 一种资源配置方法、介质及服务端
CN114398173A (zh) * 2021-12-21 2022-04-26 北京达佳互联信息技术有限公司 一种资源分配方法、装置及电子设备

Also Published As

Publication number Publication date
CN105843679B (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN105843679A (zh) 自适应众核资源调度方法
CN102932422B (zh) 基于改进蚁群算法的云环境任务调度方法
Ramezani et al. Task scheduling optimization in cloud computing applying multi-objective particle swarm optimization
CN104050042B (zh) Etl作业的资源分配方法及装置
CN104216782B (zh) 高性能计算和云计算混合环境中的动态资源管理方法
CN114721833B (zh) 一种基于平台业务类型的智能云端协调方法和装置
CN105159762A (zh) 基于贪心策略的启发式云计算任务调度方法
Sun et al. PACO: A period ACO based scheduling algorithm in cloud computing
CN107404523A (zh) 云平台自适应资源调度系统和方法
CN106055395A (zh) 一种基于蚁群优化算法的云环境中截止时间约束工作流调度方法
CN111611062B (zh) 云边协同分层计算方法及云边协同分层计算系统
CN104765642B (zh) 云环境下基于动态预测模型的虚拟机部署方法及系统
CN104065745A (zh) 云计算动态资源调度系统和方法
CN108009003A (zh) 一种多目标虚拟机自适应位置选择方法、分布式云系统
Peng et al. Multi-core parallel particle swarm optimization for the operation of inter-basin water transfer-supply systems
CN101320329A (zh) 一种基于任务优先级的抢占式人力资源配置方法和系统
CN103188346A (zh) 支持分布式决策的大规模高并发访问i/o服务器负载均衡系统
CN108989098A (zh) 一种混合云环境面向时延优化的科学工作流数据布局方法
CN109710404A (zh) 分布式系统中的任务调度方法
CN107450855A (zh) 一种用于分布式存储的模型可变的数据分布方法及系统
CN105005503A (zh) 基于元胞自动机的云计算负载均衡任务调度方法
Xi et al. Hmdrl: Hierarchical mixed deep reinforcement learning to balance vehicle supply and demand
CN104869154A (zh) 统筹资源可信度与用户满意度的分布式资源调度方法
Zhengcheng Optimization of resource service composition in cloud manufacture based on improved genetic and ant colony algorithm
Srichandan et al. A Secure and Distributed Placement for Quality of Service-Aware IoT Requests in Fog-Cloud of Things: A Novel Joint Algorithmic Approach

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant