一种多核实时系统任务间加速因子的定义和测量方法技术方案

技术编号:8593839 阅读:200 留言:0更新日期:2013-04-18 06:59
本发明专利技术基于加速效应多核的实时调度模型,给出了实时任务集中并行任务间加速因子的定义,并提出了复杂加速因子分析模型及测量方法。本发明专利技术中提出的加速因子用于描述多个任务间的加速效应,称为复杂加速因子,可用于多核实时系统任务调度的启发条件。测量方法包括初始化测量环境、测量任务独立运行时间、测量复杂加速因子、输出测量结果文件这四个主要步骤。本发明专利技术提出的测量方法在保证测量准确性的同时,提出了影响距离、测量剪支等策略,以提高测量效率。

【技术实现步骤摘要】

本专利技术涉及一种多核实时系统中任务间加速因子的定义及测量方法,属于计算机 任务调度领域。
技术介绍
随着航空、箭载、星载技术的发展,与这些领域相关的嵌入式实时系统对计算能力 的需求不断提高,实时计算系统日趋复杂,而系统需要同时处理的任务数、任务复杂度也大 幅增长。多核处理器以其并行处理能力、高效率、高性能、相对低功耗等特性,已经逐渐被用 于取代单核处理器、提高实时性能,成为处理这种复杂应用的有效解决手段。但由于多核处 理器的结构更加复杂,随之引发了一系列基础性和一般性的问题亟待解决,其中一个很重 要的就是在现有系统中面向单处理器的实时调度算法如何映射到多处理器环境中,即在多 核环境中应采取怎样的实时调度算法,以保证计算的正确性和实时性的同时提高性能。目前比较成熟的实时调度模型大多针对单核环境,比较经典的如RMS、DMS、EDF、 LST等,其中RMS为固定优先级的静态实时调度算法,该算法将可达处理器利用率作为算法 可调度的判定条件,然而,这个判定条件是充分不必要的;Buttazzo等人在RM算法的基础 上提出了的弹簧调度算法,算法将任务序列类比为一串相联的弹簧,通过反复迭代不断地 压缩任务执行时间,从而降低部分任务的CPU利用率,提高任务集的可调度性。但是弹簧调 度算法并未提出一个可量化的弹性系数确定方法,因此难以实施。近些年来针对多处理器的实时调度研究也得到了广泛的重视,成为学术界研究的 热点问题之一。但是为固定优先级调度算法找到一个最优任务分配方案却是一个NP hard 问题,在实践上需要利用一些启发条件来构造启发式调度算法,从而给出收敛较快的判定 算法。目前多处理器任务调度目前主要有两种策略划分方案和全局方案。在全局调度方 案策略中,实时任务的每一次出现都在不同的处理器上执行,所有处理器上只运行同一种 调度算法。任务在未执行完之前可以被抢占并且可以在不同的处理器间迁移。在划分调度 方案中,一个任务的所有出现都在同一处理器上执行,全部任务由任务分配算法预先划分 到处理器;每一个处理器可以运行不同或者相同的单处理器任务调度算法。我们的实验证明,运行于同一计算系统的相关任务集中,任意两个任务之间存在 不同程度的计算加速效应,这种加速效应在实际系统中可以是加速和减速,定量的加速效 果可以通过具体的加速因子数值给出。针对一组确定的任务集,如果可以找到判断这种相 关性的通用判定方法,进而根据加速因子的数值比较将任务划分到不同处理器核上,增加 正加速因子比例,减少负加速因子比例,对于提高任务调度效率将很有帮助。
技术实现思路
本专利技术针对基于加速效应多核的实时调度模型,给出了实时任务集中并行任务间 加速因子的定义,并提出了加速因子分析模型及测量方法。首先说明加速效应。在多核计算环境下,非常容易出现“高速缓存竞争”现象。而多核处理器一般会采用高速缓存一致性协议来保证不同核心上缓存的同步。这种一致性的维护是以缓存行(Cache Line)为单位的,缓存行内的任何一个字节的修改都会导致整个缓存行在其它核上的备份失效(因为它们保存着该部分数据的旧值)。如果多个处理器核心频繁地对同一缓存行进行修改,带来的缓存同步的代价会非常大。而如果将具有数据共享的若干任务调度同一个处理器核上或共享Cache的处理器组上运行,就可以有效地减少 Cache替换频率,提闻Cache命中率,减少任务执行时间。即运行在同一计算系统中的相关任务集中,任意两个或多个任务在同一处理器或共享Cache的处理器组上上顺序执行时, 彼此之间会由于数据的相关性而带来不同程度的加速效果,这种加速效果在实际系统中既可是加速也可以是减速,加速效果是由于任务之间数据相关性好,先执行的任务已经把后续任务所需的数据调入到高速缓存,从而减少了 Cache不命中和替换的次数,使得执行速度加快;而减速效果可能是由于先后执行的任务之间数据相关性差,顺序执行时需要频繁地对Cache行写回、替换操作,从而使执行速度降低。对于如上所述的加速效果我们可以通过具体加速因子数值定量给出。本专利技术中定义的加速因子并不局限于描述两个任务之间的加速效果,而是用于表述η个任务(n ^ 2)之间的加速效应,定量描述这η个任务按一定顺序执行时的加速效果, 称之为复杂加速因子。复杂加速因子的定义为k个访存空间有交集的计算任务τ 17 τ 2……τ k,其中每个任务单独执行时间分别为C1, C2……Ck。将其部署在同一个处理器/处理器核上以seq= τ τ 2……τ k的顺序执行时,由于共享了处理器/处理器核的L1、L2或L3级Cache,在并发运行过程中,彼此增加了对方的Cache命中率,减少了由访存不命中带来的数据存取开销,从而可以减少对方及总的运行时间,使得每个任务的执行时间分别变为C' 2……C' k,则称该组任务间的在seq顺序下的复杂加速因子为= 2tiC,/ZfslC; e显然当任务集合不存在相互加速时,即Ci=C' ii=l,2…k时,复杂加速因子的值应为I ;当任务集合由于共享Cache、提高Cache命中率而存在加速效应时,Ci > Σ =ι C|,从而加速因子值大于I,由于每个任务获得的加速时间肯定有限,任务执行时间不会无限制的减小,因此复杂加速因子的值存在上界;同理当任务间的加速效应表现为减速时,减速效果也存在下界,即加速因子的值一定大于O。在真实系统中具体实现时,对于包含η个任务的任务集S,其中m (m<n)个任务间的加速因子可用一个C11 1 X A=的矩阵表示,如表I所示。二维数组中第一维表示不同任务的组合,对于η个任务的任务集中选取m个任务显然有qf种组合,表中S2 ... Scir分别代表不同的任务组合;第二维表示该任务组合下的不同任务排列方式,m个任务的执行顺序排列方式有AS种,A1, V..AJ分别代表 不同的排列方式。本文档来自技高网
...

【技术保护点】
一种多核实时系统任务间加速因子的定义,其特征在于:k个访存空间有交集的计算任务τ1,τ2……τk,其中每个任务单独执行时间分别为C1,C2……Ck。将其部署在同一个处理器/处理器核上以seq=τ1,τ2……τk的顺序执行时,由于共享了处理器/处理器核的L1、L2或L3级Cache,在并发运行过程中,彼此增加了对方的Cache命中率,减少对方及总的运行时间,使得每个任务的执行时间分别变为C′1,C′2……C′k,则称该组任务间的在seq顺序下的复杂加速因子为规定任务间的最大影响长度d,在测量加速因子时,假定在该影响距离以外的两个任务相互间不具备加速效应,因此仅考虑影响长度d以内的任务组合。FDA00002649746100011.jpg

【技术特征摘要】
1.一种多核实时系统任务间加速因子的定义,其特征在于k个访存空间有交集的计算任务T1, T2……Tk,其中每个任务单独执行时间分别为C1, C2……Ck。将其部署在同一个处理器/处理器核上以seq= τ 1 τ 2……τ k的顺序执行时,由于共享了处理器/处理器核的L1、L2或L3级Cache,在并发运行过程中,彼此增加了对方的Cache命中率,减少对方及总的运行时间,使得每个任务的执行时间分别变为C' 2……C' k,则称该组任务间的在seq 顺序下的复杂加速因子为2.一种多核实时系统任务间加速因子的测量方法,其特征在于,实施如下步骤步骤1:初始化测量系统。输入给定任务集S=I^1, τ2……τη};根据任务集特性输入影响距离d ;初始化单独执行时间数组C[n];初始化复杂加速因子矩阵。步骤2 :测量各个任务的独立执行时间。依次测量任务集S中每个任务τ i在缓存为空且无中断情况下的独立运行时间Q。For i=l to ηBeginFor k= I to m Begin执行步骤2.1初始化运行环境。执行步骤2.2任务部署、执行、测續执行时 EndC1 = averageCw:, ,..Cin);End步骤2.1 :初始化任务运行环境,清空处理器L1、L2、L3级cache。步骤2.2:将任务^部署在一个处理器P上并执行,在无中断的情况下记录^的执行时间Ck。步骤3 :测量复杂加速因子For i=2 to d //d为影晌长度Begin初始ft 杂Al丨速Pi酬IAiIc']岡I For J=I to C|擒行歩骤3.1:选取下一个i个|£务繼處_任务纽合s;t=I Ci (Ti e S)For k= I to A\Begin执行步骤3.2:逵取任务鍵合s _T -个执行順序seq;执行步骤3.3: _灼断当前列的加速效果Ii(子序列加速效果差)conti...

【专利技术属性】
技术研发人员:张炯牛天放龙其民李莹
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1