[发明专利]一种计算具有循环结构的OpenMP程序WCRT方法在审
申请号: | 202111252124.5 | 申请日: | 2021-10-26 |
公开(公告)号: | CN114020274A | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 薛业凯;孟亚坤;孙景昊;何泾;张利威 | 申请(专利权)人: | 东北大学秦皇岛分校 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京中创博腾知识产权代理事务所(普通合伙) 11636 | 代理人: | 戴鹏 |
地址: | 066004 河北省秦*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 具有 循环 结构 openmp 程序 wcrt 方法 | ||
本发明属于实时系统的实时调度和模型检测领域,具体涉及一种具有循环结构的OpenMP程序WCRT方法,该方法为:建立OpenMP任务系统模型;定义任务系统的语句树;精确计算任务系统的容量,对任务系统中每个任务进行逆序遍历,计算与任务系统中每个任务相关的容量;精确计算任务系统的最长路径长度;逆序遍历任务系统中的每个任务,求每个任务遍历从叶子到根部的语句树中的每个节点B的最长路径的长度;计算任务系统的WCRT的上界。该方法采用线性时间动态编程算法来计算WCRT边界,而不展开循环,也不显式地枚举执行流,使时间复杂度与循环边界无关,简化了计算方法,提高WCRT边界精度。
技术领域
本发明属于实时系统的实时调度和模型检测领域,具体涉及一种计算具有循环结构的OpenMP程序WCRT方法。
背景技术
OpenMP是由OpenMP Architecture Review Board牵头提出的,被广泛接受,用于共享内存并行系统的多处理器程序而设计的一套指导性编译处理方案。是一个很有前途的多核并行实时软件开发框架。近年来,许多基于图的任务模型采用了OpenMP框架,这些模型代表了OpenMP任务系统的现实特征。循环结构在OpenMP任务系统中很常见,然而,目前的研究都没有对循环结构进行建模;在OpenMP任务系统中需要显式地枚举执行流,简单的枚举执行流会使计算最坏情况响应时间(WCRT)的安全上限非常复杂,难以处理。
发明内容
本发明将具有循环结构的OpenMP任务系统的工作负载公式化为循环图模型,并解决如何计算最坏情况响应时间(WCRT)的安全上限的问题;设计一个线性时间动态编程算法来计算WCRT边界,而不展开循环,也不显式地枚举执行流,使时间复杂度与循环边界无关,简化了计算方法,提高了WCRT边界精度。
本发明的一种计算具有循环结构的OpenMP程序WCRT方法的具体步骤包括:
步骤一:建立OpenMP任务系统模型;
步骤二:定义任务系统的语句树;
步骤三:精确计算任务系统的容量,对任务系统中每个任务进行逆序遍历,计算与任务系统中每个任务相关的容量;
步骤四:精确计算任务系统的最长路径长度;逆序遍历任务系统中的每个任务,求每个任务遍历从叶子到根部的语句树中的每个节点B的最长路径的长度;
步骤五:计算任务系统的WCRT的上界。
进一步的,所述步骤四中任务系统的最长路径长度,通过B的诱导有向图的顶点的路径:考虑如下六类通过B的诱导有向图的顶点的路径:
从B的入口顶点开始的一组路径。
从B的等待顶点开始的一组路径。
从B的入口顶点开始,到B的出口顶点结束的一组路径。
从B的入口顶点开始,到子任务的汇点结束的一组路径。
从B的一个等待顶点开始,到B的出口顶点为止的一组路径。从B的等待顶点开始,到子任务的汇点结束的一组路径。
进一步的,所述步骤四中求每个任务遍历从叶子到根部的语句树中的每个节点B的最长路径的长度:
(1)如果B代表任务的一个顶点,根据公式(1)(2)(3)计算其中(y={*,ex,ct});根据公式(4)计算其中(y={*,ex,ct});
则其中(x∈{en,wt}和y={*,ex,ct})。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学秦皇岛分校,未经东北大学秦皇岛分校许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111252124.5/2.html,转载请声明来源钻瓜专利网。