[发明专利]一种多处理器限制性抢占最优调度方法有效
| 申请号: | 202211396785.X | 申请日: | 2022-11-09 |
| 公开(公告)号: | CN115904705B | 公开(公告)日: | 2023-10-24 |
| 发明(设计)人: | 张辉;廖晓鹃 | 申请(专利权)人: | 成都理工大学 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 610059 四川*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 处理器 限制性 抢占 最优 调度 方法 | ||
1.一种多处理器限制性抢占最优调度方法,其特征在于,包括如下步骤:
(S1)根据调度问题的限制性抢占属性约束和最小化最大完工时间的调度目标,提出八条编码规则,将问题编码为一系列硬子句和软子句;规则如下:
规则1:每个机器同时只能处理一个任务,将该属性编码为硬子句:
其中,CNF(Expr)表示对基数制约公式Expr编码后得到的合取范式,n表示任务总数,xi,j,t表示布尔变量,如果任务Tj被机器Mi执行,则xi,j,t值为1,否则xi,j,t值为0,m表示机器总数,Cub是估算最优解的上界;
规则2:每个任务不能并行执行,将该属性编码为硬子句:
规则3:当一个任务被抢占后形成多个子任务,它的所有子任务的执行之间之和必须等于该任务的执行时间,将该属性编码为硬子句:
其中,pj是任务Tj的执行时间;
规则4:每个任务必须连续执行至少k个时间单位后才能被抢占,依次进行如下两次条件判断,将属性编码为硬子句:
判断1:
如果p=pj,则编码为:
否则,编码为:
判断2:
如果t+p+1≥pj,则编码为:
否则,编码为:
公式中各参数取值范围为:1≤i≤m,1≤j≤n,0≤t<Cub-p-1,0<p<min{k,pj+1}.
其中,k是抢占粒度,任务被抢占时必须连续执行k个时间单位,否则不能被抢占,yj,t是布尔变量,如果任务Tj在时刻t完成,则yj,t值为1,否则yj,t值为0;
规则5:如果一个任务在时刻t完成,则在时刻t+1它是完成状态,将该属性编码为硬子句:
规则6:如果一个任务在时刻t完成,则它在时刻t之前必定就开始执行了,将该属性编码为硬子句:
规则7:将引入的布尔变量之间的约束编码为硬子句:
其中,Clb是假设抢占粒度无穷小时由McNaughton的反转规则计算得到的任务完成时间,以此作为估算最优解的下界;
规则8:调度目标为最小化所有任务的最大完成时间,将该目标约束编码为软子句:
zt(Clb≤t≤Cub)
其中,zt是布尔变量,如果所有任务都在t或t时刻前完成,则zt值为1,否则zt值为0;
(S2)将步骤(S1)得到的硬子句和软子句写入.wcnf为后缀的文件,得到PMS问题;
(S3)通过调用LSUPlus解算器计算出PMS问题的最优解,得到最优调度方案。
2.根据权利要求1所述的一种多处理器限制性抢占最优调度方法,其特征在于,所述步骤(S2)中,使用Python代码wcnf.to_file(′maxInstance.wcnf′)将(S1)生成的硬子句和软子句写入maxInstance.wcnf文件,得到PMS问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都理工大学,未经成都理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211396785.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种雨水收集净化装置
- 下一篇:源极驱动方法、源极驱动装置及显示装置





