利索能及
我要发布
收藏
专利号: 2021115245637
申请人: 电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-01
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种多核系统同步数据流图实例化并发调度方法,其特征在于,包括:S1、依据数据平衡原理对SDFG角色实例化个数进行求解,结果用n维向量q代表;

S2、根据向量q数值,对SDFG角色进行实例化,构建SDFG实例图;

S3、对SDFG实例图进行逆向递归求解Level值;

S4、采用最短作业优先、最早完成时间混合调度策略,把步骤S3得到的带Level值的SDFG实例图划分到处理器多核单元,生成静态调度计划序列。

2.根据权利要求1所述的一种多核系统同步数据流图实例化并发调度方法,其特征在于,步骤S1中SDFG采用二元组(V,E)进行表示,其中,V表示角色集合,V={α1,α2,...,αn},αj表示第j个角色,j=1...n,n=|V|,|V|代表SDFG角色个数,αj具有一个或多个输入或输出端口,E表示有向弧集合, ei表示第i个有向弧,i=1...m,m=|E|,|E|代表有向弧个数;

还包括采用src(ei)表示ei弧尾角色的数据生成速率,des(ei)表示ei弧头角色的数据消耗速率,用|E|维向量b(t)代表在t时刻SDFG各有向弧驻留Tokens个数。

3.根据权利要求2所述的一种多核系统同步数据流图实例化并发调度方法,其特征在于,步骤S1还包括建立描述SDFG的有向弧角色拓扑矩阵Γ,矩阵Γ中的行表示有向弧,矩阵Γ中的列表示角色,矩阵Γ中的元素表示有向弧与角色的关系,矩阵Γ中的第i行j列位置元素取值包括三种情况,分别是正值、负值、0,当取值为正值时,表示ei弧尾角色αj的数据生成速率;当取值为负值时,表示ei弧头角色αj的数据消耗速率;当矩阵Γ中的元素取值为0时,表示αj与ei无关联。

4.根据权利要求3所述的一种多核系统同步数据流图实例化并发调度方法,其特征在于,步骤S1所述求解具体过程为:

用|V|维向量q代表在单位周期内每个角色创建的实例个数,q与Γ满足产生/消耗数据平衡关系,表达式为:

Γq=0

根据rank(Γ)=|V|‑1,得到向量q的解;

其中,rank(Γ)表示拓扑矩阵Γ的秩。

5.根据权利要求4所述的一种多核系统同步数据流图实例化并发调度方法,其特征在于,步骤S2所述实例图构建过程为:A1、设i代表集合中的角色编号,初始化i=1,角色实例的计数向量ICount,ICount=O,O为零向量;

A2、按编号i递增顺序遍历角色集合V;

A3、对于当前遍历的角色αi,判断 是否等于qi,若等于,则执行步骤A4;否则执行步骤A5;其中, 表示αi对应的角色实例的计数,qi表示向量q中αi所创建的实例个数;

A4、更新i的值,具体的:将i自加1;然后判断更新后的i是否小于或等于n,若是则执行步骤A2;否则执行步骤A11;

A5、根据 的计算结果判断当前角色是否可调度,若不可调度,则跳转步骤A4;若可调度,则执行步骤A6;

A6、更新 的值,具体的:将 自加1;并创建αi的第 个实例将创建的实例加入实例序列APG_INS;

A7、判断αi的前驱角色集合是否为空,若是,则执行步骤A11;否则执行步骤A8;

A8、遍历αi的前驱角色集合,得到前驱角色η和与αi关联的有向弧ej;

A9、计算 如果d>0,则将角色η的前d个实例与角色αi的新建实例 建立前驱关系;否则重置d=0;然后执行步骤A10;

A10、更新有向弧向量 转至步骤A4;

A11、判断计数向量是否等于Jq,若是,则执行A12;否则令i=1,然后转至A2;

A12、所有角色遍历完成,输出最终的实例序列APG_INS。

6.根据权利要求5所述的一种多核系统同步数据流图实例化并发调度方法,其特征在于,步骤A5具体为:对于SDFG中的角色αi,在某一个时刻t,如果αi当前执行次数未达到qi,并且向量b(t+1)中不含负值,则称αi是可被调度的。

7.根据权利要求6所述的一种多核系统同步数据流图实例化并发调度方法,其特征在于,步骤S3具体的:根据实例序列APG_INS,基于逆向递归求解得到的各角色Level值;逆向递归求解SDFG实例图各角色实例Level值的过程为:B1、初始化每个顶点的Level值为该实例的执行时间;

B2、逆序遍历SDFG的DAG邻接表头顶点,获得顶点实例;

B3、递归遍历顶点实例的前驱顶点,计算new_val=当前前驱顶点的执行时间+当前顶点的level值,若new_val大于当前前驱顶点的level值,那么更新当前前驱顶点的level值为new_val;否则保持当前前驱顶点的level值;

B4、判断是否已遍历完成当前顶点的所有前驱顶点,则是执行步骤B5,否则执行步骤B3;

B5、判断是否已遍历完成所有顶点,若是则结束,否则返回步骤B2。

8.根据权利要求7所述的一种多核系统同步数据流图实例化并发调度方法,其特征在于,步骤S4具体的:采用最短作业优先、最早完成时间混合调度策略,把步骤S3构建的带有Level值的SDFG实例图划分到处理器多核单元,生成静态调度计划序列;实现过程为:C1、初始化每个处理器的调度队列和clp;其中,clp表示处理器p的结束时间变量;

C2、SDFG的DAG中所有顶点依据level值降序排列,得到序列L;

C3、取出序列L中当前level最大的顶点,加入待调度序列SW;

C4、序列SW依据实例的执行时间升序排列;

C5、遍历序列SW,得到待调度实例s_ins;

C6、获取到clp最小的处理器p;

C7、如果clp>s_ins.sta,那么s_ins.sta←clp;否则保持s_ins.sta不变;←表示赋值;

s_ins.sta表示实例s_ins的执行开始时间;

C8、更新s_ins所有后继实例suc的开始时间:suc.sta=s_ins.sta+s_ins.et,并将s_ins加入处理器p调度队列;s_ins.et表示实例s_ins的执行时间;

C9、更新处理器p的结束时间变量:clp←s_ins.sta+s_ins.et。