[发明专利]一种多核可编程控制器的任务到线程匹配方法在审

专利信息
申请号: 202210469545.1 申请日: 2022-04-30
公开(公告)号: CN115033374A 公开(公告)日: 2022-09-09
发明(设计)人: 邬惠峰;孙丹枫;项元;赵建勇 申请(专利权)人: 杭州电子科技大学
主分类号: G06F9/50 分类号: G06F9/50;G06F9/48;G05B19/05
代理公司: 浙江永鼎律师事务所 33233 代理人: 陆永强
地址: 310018*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 多核 可编程控制器 任务 线程 匹配 方法
【权利要求书】:

1.一种多核可编程控制器的任务到线程匹配方法,其特征在于,该方法自动将多个任务分配到多核心PLC上,至少包括以下步骤:

步骤S1:获取用户创建的多个任务信息以及各个CPU核心的性能参数信息;

步骤S2:依据任务信息并结合CPU核心的性能参数信息计算时间矩阵;

步骤S3:基于步骤S1和S2得到的信息,采用回溯法遍历分析各条路径得到最优的任务分配策略,其中,在任一路径分析中,当发现当前路径所需时间大于已发现的最优时间或者某核心上的任务总时间超过该核心扫描周期时进行剪枝操作;

步骤S4:依据最优任务分配策略将各任务分配给对应核心。

2.根据权利要求1所述的多核可编程控制器的任务到线程匹配方法,其特征在于,步骤S1中,任务规模可以各不相同,多核可编程控制器的CPU的各个核心,核心速度可以各不相同。

3.根据权利要求2所述的多核可编程控制器的任务到线程匹配方法,其特征在于,步骤S2中,依据任务规模集合并结合各个CPU核心的运算速度计算时间矩阵。

4.根据权利要求1所述的多核可编程控制器的任务到线程匹配方法,其特征在于,步骤S1中,先根据各任务的任务规模从大到小进行排序。

5.根据权利要求1所述的多核可编程控制器的任务到线程匹配方法,其特征在于,通过采用回溯法来遍历分析各条可能路径从而得到最优匹配策略;

在发现当前路径所需时间大于已发现的最优时间或者分配到某核心上的任务的总时间超过该核心的扫描周期时,进行剪枝操作,即结束对当前路径及其后续分支的分析,转而开始分析下一条路径。

6.根据权利要求1所述的多核可编程控制器的任务到线程匹配方法,其特征在于,步骤S1中,用户在应用中创建多个任务,将n记作任务数,任务集合A={a1,a2,a3,...an},其中,各个任务依据浮点数运算次数来衡量任务规模,任务规模的集合S={s1,s2,s3,...sn};对于多核PLC,将m记作核心数,PLC核心集合C={c1,c2,...cm},使用每秒浮点运算次数来描述各核心的运行速度,核心运行速度集合V={v1,v2,...vm};基于描述任务规模的集合S和核心运行速度集合V,可以求得各任务在各核心上的m行n列运行时间矩阵,tij表示在第i个核心上执行第j个任务所需要的时间:

tij=sj÷vi (1)。

7.根据权利要求1所述的多核可编程控制器的任务到线程匹配方法,其特征在于,步骤S1中,对于PLC上的CPU核心,各个核心对应一个扫描周期,扫描周期集合P={p1,p2,...pm},对于如第i个核心,假设第i个核心上分配到的任务数为wi,本发明得到的匹配策略需要满足如下约束:

8.根据权利要求1所述的多核可编程控制器的任务到线程匹配方法,其特征在于,步骤S1和S2得到的信息设置为一张配置表以记录了各个任务以及核心的相关数据,其中,该配置表记录了每个任务的任务ID、任务规模,以及每个核心的核心ID、扫描周期和核心速度。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210469545.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top