制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法

文档序号:8258146阅读:810来源:国知局
制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法
【技术领域】
[0001]本发明涉及一种制程变异下多核片上系统任务调度建模与评估方法,尤其涉及一种基于UPPAAL-SMC (静态模型检验UPPAAL)的带有制程变异MPSoC的任务调度建模与评估方法。
【背景技术】
[0002]随着科技的高速发展,嵌入式系统正发挥着越来越重要的作用,近年来逐渐兴起的片上系统(System-on-a-chip,SoC)便在嵌入式系统的领域内得到了广泛应用。人们要求嵌入式设备有更多的功能、更高的性能,多核片上系统(MultiprocessorSystem-on-a-chip, MPSoC)由此产生。
[0003]制程变异(Process Variat1n)是在集成电路制造过程中晶体管属性(长,宽,栅氧化层厚度等)自然发生的变化,在工艺节点小于65nm时,影响越发明显。这也成为了集成电路芯片性能提升的瓶颈之一。即使是同一流水线生产出的产品,在参数上还会存在微小的偏差,而这些偏差将对MPSoC的性能与功耗产生显著的影响,使得MPSoC的表现与预期不完全相符,从而进一步导致行为的不可预测性。
[0004]任务分配与调度(TaskAllocat1n and Scheduling,TAS)是一个 NP 难问题。因为制程变异的存在为MPSoC的性能与功耗带来较大的变化,在考虑到制程变异的因素时,传统的用来产生可行解的最坏时间分析法已不再适用。对于MPSoC的设计者来说,很难决定在特定的约束条件下,哪种任务调度策略更好。为了保障调度算法的性能产出(Performance Yield),对任务调度算法的评估就成了一个重要的问题。
[0005]因此,构建一套制程变异下MPSoC任务调度算法的评估方法,有利于MPSoC设计者们将众多调度策略进行对比,从而进行评估以选择适合的策略。

【发明内容】

[0006]本发明的目的是为了弥补当前考虑制程变异的多核片上系统中任务调度策略评估方面的空白,提供了一种制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法,实现了自动将任务调度策略转换为模型的过程,并可以给出具有比较性的结果,从而实现对不同任务调度策略的评估与对比。
[0007]本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法,包括以下步骤:
[0008]步骤一:根据任务调度策略,为任务集生成任务分配与调度实例;
[0009]步骤二:在考虑制程变异的前提下,对任务、PE和功耗进行建模,形成任务模型、PE模型和功耗模型,并进行模型的后台配置,将所述任务分配与调度实例用已有的ListScheduling(列表调度)和BULB(分支裁剪)算法进行模型转换;
[0010]步骤三:通过随机性模拟来实现约束查询,并通过UPPAAL-SMC(静态模型检验UPPAAL)生成统计数据,得出所述任务分配与调度实例的性能产出;
[0011]步骤四:对比同一 MPSoC架构或不同MPSoC架构下不同的所述任务调度策略生成的不同所述任务分配与调度实例的所述性能产出,评估所述任务调度策略,确定表现更优的所述MPSoC架构。
[0012]本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述任务建模包括以下步骤:
[0013]步骤Al:运行初始化函数,对时间和功耗的制程变异进行初始化;
[0014]步骤A2:若任务不存在前驱节点,则执行下一步;否则,等待接收到所述前驱节点的完成消息后,再执行下一步;
[0015]步骤A3:根据所述后台配置,将任务分配到相应的PE ;
[0016]步骤A4:所述PE完成任务后,若没有后续结点,则结束运行;否则,继续运行所述后续节点。
[0017]优选地,本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述任务建模没有对整个任务序列进行建模,而是对所有的任务节点进行了抽象与统一,对单一任务节点进行建模,并根据前驱、后继节点的配置情况,通过同步信号将不同的任务连接起来,按序执行,每个任务负责与前驱、后继节点的通信,以及对处理单元的分配,而任务完成的时间由所述PE模型进行管理,初始节点根据读取所述后台配置中时间和功耗制程变异信息作为参数,生成服从正态分布的随机数,对时间和功耗的制程变异进行初始化。
[0018]本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述PE建模包括以下步骤:
[0019]步骤B1:记录要执行的任务的信息,根据制程变异确定所述任务实际需要的执行时间,并更新所述功耗模型的功耗信息;
[0020]步骤B2:等待所述执行时间结束后,释放所述功耗模型中所占用的功耗,并更新所述功耗信息。
[0021 ] 本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述PE模型中包括多个监听新任务消息的回路,有效地避免了所述PE模型接收不到新任务消息的情况,实现了功能上的完整和语义上的完善。
[0022]优选地,本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述PE模型是对所有PE的抽象模型,通过所述后台配置来控制PE的表现,包括功耗、制程变异等。所述PE模型通过与所述任务模型和所述功耗模型间的通信,控制任务的执行过程和功耗信息的更新。
[0023]本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述功耗模型对功耗进行监控与维护;所述功耗模型包括处理状态和等待状态,并在所述处理状态和所述等待状态之间进行切换,在切换的过程中监听功耗信号。
[0024]本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述后台配置包括=MPSoC的相关参数、设计约束、所述任务分配与调度实例的应用背景和至少一个任务DAG。
[0025]优选地,本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述后台配置加入了时间和处理器功耗的制程变异的信息,作为框架的配置设定输入。
[0026]本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,所述约束查询的形式如下:
[0027]Pr [< = X] (OTask(O).Finish&&max_power< = y);
[0028]式中,Task(O).Finish表示:整个任务有向无环图的完成;max_power〈 = y表示:最大功耗不会超过y。
[0029]优选地,本发明的基于UPPAAL-SMC的MPSoC任务调度建模与评估方法中,只要调度算法生成的结果包含任务id、开始时间、PE的id这三部分信息,框架即可将其转换为可被模型识别的所述后台配置,转换工具使用转换算法确定任务的先后关系后,将其写入所述UPPAAL-SMC的后台配置中。
[0030]优选地,在约束查询完成后,所述UPPAAL-SMC以图表或数据的方式给出运行的结果,通过改变查询的内容,多次运行所述UPPAAL-SMC得出在不同的需求下,各所述任务分配与调度实例的表现情况,从而在任务分配与调度策略与MPSoC的架构之间进行选择,以获得最佳的组合。
[0031]本发明提出的制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法的有益效果如下:本发明可以准确地反映任务分配与调度实例在工艺变动下的性能产出,帮助MPSoC设计时可以选择适合的调度策略,或者根据调度策略对MPSoC的设计进行调整。
【附图说明】
[0032]图1为本发明任务分配与调度策略评估框架图。
[0033]图2为本发明基于UPPAAL-SMC的MPSoC任务调度建模与评估方法的流程图。
[0034]图3为本发明中对任务建模的示意图。
[0035]图4为本发明中对PE建模的示意图。
[0036]图5为本发明中对功耗建模的示意图。
【具体实施方式】
[0037]结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、试验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
[0038]本发明提出了一种制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法,
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1