0
点赞
收藏
分享

微信扫一扫

多核实时调度任务分配解读

多个Periodic任务在m个核上分配(每个核采用EDF调度,因此每个核上界为1即可),其实最坏情况情况下最大利用率为 多核实时调度任务分配解读_多核任务分配,也就是任务集的利用率只要小于等于这个值,那就是一定可以调度的。

其实也很好理解,每个任务都是多核实时调度任务分配解读_任务分配_02,那么每个核刚好只能分配下一个任务,因此,此时多核实时调度任务分配解读_多核任务分配_03,是可调度的,再来一个0.5利用率的,就不可调度了。但是任意来一个小于0.5的任务,就是可调度的了,因此,这样的极端情况总利用率为2.5了。

很明显,分配的总利用率其实依赖每个任务利用率大小,比如大家都是0.1这么小的利用率,那当然就能更充分的利用多核了。其实究其原因,还是并行度问题,同样总利用率,每个任务的利用率越小,由于任务之间都是并行的,所以当然更能充分利用多核,但是如果每个任务都是大利用率,而同一个任务只能串行,导致不能充分利用多核,就出现了上面的0.5利用率的最坏情况情况了。

因此多核能调度的总利用率,依赖于每个任务的利用率,具体关系就是如下:

多核实时调度任务分配解读_多核_04,其中多核实时调度任务分配解读_任务集_05多核实时调度任务分配解读_多核_06表示任务集中任务利用率的最大者,那多核实时调度任务分配解读_任务集_07其实表示核上可能允许分配的任务数。

上面这个式子,当多核实时调度任务分配解读_多核_06取1时,就是趋近于最上面的结果了。

虽然多个分配算法的利用率上界都是多核实时调度任务分配解读_多核任务分配(比如FF和FFD),但是加速因子是不一样的(FFD加速因子 < FF),因此加速因子才能解释实验效果(FFD的可调度率要高于FF)。​

除了PTAS分配算法,FF,WF等启发式分配算法外,​

还有两个可调度性判定上界利用率 :(看了论文原文的推导过程,很复杂的数学过程,不想看了)

1. 分区调度,任务分配采用FF,每个核采用RMS调度,每个核采用RM上界判定。这个多核处理器能调度的任务集利用率上界为:

多核实时调度任务分配解读_任务分配_10

因为是采用FF分配,所以不要求任务分配按照递减利用,这个可以对任务动态加入情况,进行快速判断,通过,然后再逐个核分配。不通过,则该任务分配失败,节省继续逐个核尝试了

2. 分区调度,任务分配采用FFD,每个核采用RMS调度,每个核采用RM上界判定。这个多核处理器能调度的任务集利用率上界为:

多核实时调度任务分配解读_任务分配_11,n为任务数,m为处理器的核数

也就是可以快速判定该任务集是否可以调度(成功分配),判断通过后,再采用FFD分配方式,逐个核做RM上界判定的分配呗。如果判断不通过,则直接不用分配了。这个可以加速不可分配任务集的确定。而不是分配到最后一个才知道原来会分配失败。


举报

相关推荐

0 条评论