2. 桂林电子科技大学 信息与通信学院 认知无线电与信息处理省部共建教育部重点实验室, 广西 桂林 541004
2. Key Laboratory of Cognitive Radio and Information Processing, Ministry of Education, School of Information and Communication, Guilin University of Electronic Technology, Guilin, Guangxi 541004, China
开放科学(资源服务)标志码(OSID):
多核处理器的应用为实时系统高性能集成设计提供了有效途径[1]。多核处理器通常分为同构多核处理器和异构多核处理器。其中,异构多核处理器更有利于灵活配置系统资源,提高系统性能,降低系统功耗[2]。核间通信一直是多核系统设计过程中的重点问题,而基于共享总线的通信机制具有结构简单、易于实现的优点,能够有效实现核间的互联和通信[3]。但是,共享总线的通信方式效率较低,可扩展性较差,核间通信开销争用问题直接影响多核结构的性能[4-5]。因此,在多核系统应用中降低通信开销尤为重要。
多样化的数据流应用组成了结构各异的任务模型。在多核处理器系统研究中,常见的任务模型有fork/join模型[6]、同步并行模型[7]和DAG(Directed Acyclic Graph)模型[8]。随着智能设备的快速发展,关联任务随之产生,例如,一辆自动驾驶汽车具有并发的多种任务(速度监测、制动控制等),一个任务需要使用另一个任务的输出参数,从而导致任务间存在数据关联[9]。关联任务之间具有相互约束的特点,基于此,研究人员通常采用DAG模型对关联任务进行建模。与传统DAG任务不同,关联任务在多核处理器中执行时需要考虑通信时延。据统计,任务在多核系统中执行时,核间通信造成的通信时延是核内通信的3倍~5倍[10-11]。因此,如何设计任务的映射以充分利用多核处理器强大的计算能力,是关联任务调度算法设计过程中的关键问题。
近年来,有较多学者对关联任务调度算法进行了研究。文献[12]分析最坏情况下关联任务的关联数据流在总线上的执行时间以及系统调度方法,其优化了总线的调度策略。文献[13]通过模型检查器SPIN优化了静态任务和总线访问时间表,并提出一种有效的启发式算法。文献[14]提出一种基于动态规划的伪多项式时间算法求解任务的映射和执行顺序,通过提高任务的并行性来缩短任务调度时间,但其忽略了核间通信开销。文献[15]针对任务的周期特性,通过本地缓存区保存上一周期的关联数据使通信型任务和计算型任务能够重叠调度,从而最大程度地减少通信时延,同时,提出一种整数线性规划(ILP)方法对任务进行调度,但该方法比较复杂且仅适用于周期任务。文献[16]建立一种基于简单树(Simple-tree)的周期任务调度模型,其通过可延迟时间越短、任务越优先的调度方法改善资源利用率并提高任务的死限丢失率。文献[17]提出一种针对周期与非周期关联性任务的调度算法(DTSV),并根据任务相关性给出任务关联性评价函数,将强关联性任务分配到同一内核中,有效减少了核间通信,此外,该文结合轮询算法改善了负载均衡问题。
目前,针对基于总线的多核处理器上关联任务调度算法的研究取得了一定成果,但也存在一些问题,如算法多数是在同构多核处理器背景下展开分析,且所研究的任务结构简单,算法可扩展性较低。为此,本文提出一种异构多核处理器下的结构多样化关联任务调度算法。以计算所得任务的最长路径值为参照,合理分配任务调度的优先级。在处理器内核选择阶段,兼顾内核的可最早完成时间和任务分配到该内核的可减少通信延迟,设计任务与内核的最佳匹配评价函数。在任务调度期间,在内核和总线的空闲间隙插入合适的任务,以充分利用系统资源。
1 关联任务模型关联任务模型结构如图 1所示,研究人员通常将关联任务分为计算型任务和通信型任务两类,用符号 < T,E > 表示,T代表计算型任务集合,E代表通信型任务集合。图 1中的节点即为一个计算型任务,记为Ti,表示第i个计算型任务,对应权值ti表示任务计算时间。与当前节点直接相连的前一个节点称作前驱计算型任务,记为Tk,对应的连边称作前驱通信型任务,记为
![]() |
Download:
|
图 1 关联任务模型结构 Fig. 1 Related task model structure |
异构多核处理器各个内核的功能、运算能力不同,导致同一个计算型任务分配到不同内核中执行所需的计算时间也不同。本文在分配计算型任务的调度优先级前,先计算任务在各个内核中执行所需的时间平均值,计算公式如下:
$ \overline{{t}_{i}}={T}_{\mathrm{a}\mathrm{v}\mathrm{g}}\left(t\right({T}_{i}, {P}_{x}\left)\right),x\in (\mathrm{1, 2}, \cdots , M) $ | (1) |
其中,t(Ti,Px)表示Ti在第x个内核处理器中执行所需的时间,M为多核处理器系统的内核个数。
在异构多核系统中,只有芯片上集成的多核的功能配置与任务负载的并行特征匹配,才能有效提高计算效率[18]。根据任务图的模型结构,具有数据关联的各个任务存在严格的先后执行约束关系。因此,在任务调度优先级分配阶段,本文对HEFT算法进行改进,在计算每个计算型任务到终点任务的关键路径值时,考虑与之相关的通信型任务并将其定义为最长路径,按照最长路径值的降序来排列任务的调度次序。相关定义及公式如下:
定义1(计算型任务Ti的最长路径值L(Ti)) L(Ti)表示在DAG表示的关联性任务图中,从计算型任务Ti的最大前驱通信型任务到终点任务的路径中权值之和的最大值。L(Ti)的计算公式如下:
$ L\left({T}_{i}\right)=\mathrm{m}\mathrm{a}\mathrm{x}\left({e}_{i}^{k}\right)+\overline{{t}_{i}}+\mathrm{m}\mathrm{a}\mathrm{x}\left\{L\right({T}_{j}\left)\right\} \\{T}_{j}\in {M}_{\mathrm{s}\mathrm{u}\mathrm{c}\mathrm{c}}\left({T}_{i}\right), {T}_{k}\in {M}_{\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{d}}\left({T}_{i}\right) $ | (2) |
其中,
高效的调度算法在进行任务调度时需要考虑应用程序的特点、行为和相关性能,然后将这些任务合理地分配到具有相应特性的不同类型的处理器核上[19]。因此,本文调度算法在内核选择阶段考虑任务在异构内核的最早执行时间和关联度。
将关联任务映射到多个内核中,定义tEST(Ti,Px)、tEFT(Ti,Px)分别为计算型任务Ti在内核Px的最早可执行时间和最早完成时间。其中,源点任务Tentry的tEST作为调度长度计算时的初始值,将其初始化为0,如下:
$ {t}_{\mathrm{E}\mathrm{S}\mathrm{T}}({T}_{\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{r}\mathrm{y}}, {P}_{x})=0 $ | (3) |
根据初始化值,每个待调度计算型任务的tEST与tEFT,可以通过迭代计算处理器中已分配的计算型任务和总线上相关通信型任务的tEFT获得,相关计算过程如下:
1)计算型任务的所有前驱通信型任务的最晚完成时间计算公式如下:
$ {t}_{\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{d}\_\mathrm{E}\mathrm{F}\mathrm{T}}({T}_{i})=\mathrm{m}\mathrm{a}\mathrm{x}\left({t}_{\mathrm{E}\mathrm{F}\mathrm{T}}\right({E}_{i}^{k}, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}}\left)\right) $ | (4) |
其中,
$ {t}_{\mathrm{E}\mathrm{F}\mathrm{T}}({E}_{i}^{k}, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}})={t}_{\mathrm{E}S\mathrm{T}}({E}_{i}^{k}, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}})+{e}_{i}^{k} $ | (5) |
其中,
$ {t}_{\mathrm{E}S\mathrm{T}}({E}_{i}^{k}, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}})=\mathrm{m}\mathrm{a}\mathrm{x}\left\{{t}_{\mathrm{E}\mathrm{F}\mathrm{T}}\right({T}_{k}, {P}_{x}),{A}_{\mathrm{a}\mathrm{v}\mathrm{a}\mathrm{i}\mathrm{l}}({B}_{\mathrm{b}\mathrm{u}\mathrm{s}}\left)\right\} $ | (6) |
其中,
$ \begin{array}{l}{A}_{\mathrm{a}\mathrm{v}\mathrm{a}\mathrm{i}\mathrm{l}}\left({B}_{\mathrm{b}\mathrm{u}\mathrm{s}}\right)=\mathrm{m}\mathrm{i}\mathrm{n}\left\{{t}_{\mathrm{E}\mathrm{F}\mathrm{T}}\right({E}_{m}\mathrm{ }, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}}\left)\right\}\mathrm{ }\\ {S}_{\mathrm{s}\mathrm{p}\mathrm{a}\mathrm{c}\mathrm{e}}(m, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}})>{e}_{i}^{k}\end{array} $ | (7) |
$ {S}_{\mathrm{s}\mathrm{p}\mathrm{a}\mathrm{c}\mathrm{e}}(m,{B}_{\mathrm{b}\mathrm{u}\mathrm{s}})={t}_{\mathrm{E}S\mathrm{T}}({E}_{m+1}, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}})-{t}_{\mathrm{E}\mathrm{F}\mathrm{T}}({E}_{m}, {B}_{\mathrm{b}\mathrm{u}\mathrm{s}}) $ | (8) |
其中,Em和Em+1代表总线上任意相邻的2个通信型任务,m为数量标记,
2)内核的最早可执行时间,即满足大于或等于任务在该内核的计算时间的最早空闲时隙,计算公式如式(9)、式(10)所示:
$ \begin{array}{l}{A}_{\mathrm{a}\mathrm{v}\mathrm{a}\mathrm{i}\mathrm{l}}\left({P}_{x}\right)=\mathrm{m}\mathrm{i}\mathrm{n}\left\{{t}_{\mathrm{E}\mathrm{F}\mathrm{T}}\right({T}_{m}\mathrm{ }, {P}_{x}\left)\right\}\mathrm{ }\\ {S}_{\mathrm{s}\mathrm{p}\mathrm{a}\mathrm{c}\mathrm{e}}(m,\mathrm{ }{P}_{x})\ge t({T}_{i}\mathrm{ }, {P}_{x})\end{array} $ | (9) |
$ {S}_{\mathrm{s}\mathrm{p}\mathrm{a}\mathrm{c}\mathrm{e}}(m,{P}_{x})={t}_{\mathrm{E}S\mathrm{T}}({T}_{m+1}, {P}_{x})-{t}_{\mathrm{E}\mathrm{F}\mathrm{T}}({T}_{m}, {P}_{x}) $ | (10) |
其中,
3)计算型任务可最早执行时间,为计算型任务所有前驱通信型任务的最晚完成时间和内核最早可执行时间的最大值,如式(11)所示,计算型任务最早可完成时间如式(12)所示。
$ {t}_{\mathrm{E}\mathrm{S}\mathrm{T}}({T}_{i}, {P}_{x})=\mathrm{m}\mathrm{a}\mathrm{x}\{{A}_{\mathrm{a}\mathrm{v}\mathrm{a}\mathrm{i}\mathrm{l}}({P}_{x})\mathrm{ }, {t}_{\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{d}\_\mathrm{E}\mathrm{F}\mathrm{T}}({T}_{i})\} $ | (11) |
$ {t}_{\mathrm{E}\mathrm{F}\mathrm{T}}({T}_{i}, {P}_{x})={t}_{\mathrm{E}\mathrm{S}\mathrm{T}}({T}_{i}, {P}_{x})+t({T}_{i}, {P}_{x}) $ | (12) |
内核与待调度任务的关联度及其匹配评价函数的相关定义及公式如下:
定义2(任务关联度评价函数R(Ti,Px)) R(Ti,Px)为待分配任务Ti与分配到处理器Px的任务因存在数据关联性而产生的通信时间总和。R(Ti,Px)的计算公式如下:
$ R({T}_{i}, {P}_{x})=\sum\limits _{k=1}^{n}{e}_{i}^{k},{T}_{k}\in {M}_{\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{d}}\left({T}_{i}\right) $ | (13) |
其中,n为处理器Px中的所有计算型任务数量,n=0时表示处理器还没有分配计算型任务。
定义3(处理器匹配评价函数F) F为待分配任务Ti与处理器Px的关联度与Ti在Px上的最早可执行时间差值,F值越大,匹配值越大。F的计算公式如下:
$ F({T}_{i}, {P}_{x})=R({T}_{i}, {P}_{x})-{t}_{\mathrm{E}\mathrm{F}\mathrm{T}}({T}_{i}, {P}_{x}) $ | (14) |
处理器匹配评价函数用于优化关联任务以通信时间换取计算时间的并行调度效果,降低多核系统的通信量。例如,若一个待分配任务在一个处理器中的最早完成时间只比另外一个处理器早一点,但另外一个处理器与该任务有更强的关联度,可减少更多的通信任务,本文算法则将任务分配到关联度强的处理器中以降低系统整体能耗。
3 关联任务调度算法实现 3.1 任务调度优先级分配在关联任务中,计算型任务可以执行的必要条件是其所有前驱通信型任务执行完毕,本文算法通过以下步骤计算任务的调度顺序:
步骤1 计算各个计算型任务的最长路径值,按照最长路径值的降序进行排列,记为集合T={T1,T2,…,Tx,…,Ty,…,TN}。
步骤2 按照排列顺序遍历集合T,若出现排列靠后的任务Ty是排列靠前任务Tx的前驱计算型任务,则将Tx取出并插入Ty之前,更新集合T;否则,集合T的元素顺序即为调度顺序。
3.2 处理器选择在关联任务映射到对应的处理器内核时,为了降低通信量并充分利用多核系统强大的计算能力,本文算法通过内核的最佳匹配函数适当约束关联任务调度的并行度,具体步骤如下:
步骤1 计算待调度任务在每个内核的最早可完成时间
步骤2 计算待调度任务与每个处理器的关联度R(Ti,Px)。
步骤3 计算待调度任务与处理器的匹配值F(Ti,Px)。
步骤4 选择F(Ti,Px)最大值对应的处理器。
4 实验结果与分析 4.1 任务集及其参数文献[20]使用的DAG任务集产生方法所产生的任务集更具随机性、多样性和复杂性,因此,本文采用该方法生成实验任务集。文献[20]方法生成的任务模型的主要控制参数包括任务的深度Ddepth、单个分支节点的最大并行数MmaxParBranches、并行因子Ppar、节点因子Pterm(Ppar+Pterm=1)和随机因子PaddProb。其中,Ppar为从同一源点出发的并行任务个数的概率参数,Pterm为不同任务汇集同一节点任务个数的概率参数,PaddProb为任务与任务间随机建立关联的概率参数。本文实验中关联任务产生器的各个参数值设置为:Ddepth=4(4×2=8层),Ppar=0.8,Pterm=0.2,PaddProb=0.2,MmaxParBranches=6,任务模型的节点权值和边权值的取值范围均为10~100。
4.2 对比实验设计本文从调度长度比(Scheduling Length Radio,SLR)[21]、处理器利用率和所产生的通信量3个方面来评估算法性能。HEFT是经典的DAG任务调度算法,在现实多种网络的任务调度中得到广泛应用,本文在对HEFT算法的处理过程中考虑通信任务的影响,使该算法适用于基于总线的多处理器环境下的关联任务调度,本文将其重命名为busHEFT,该算法与本文算法(busCDEFT)、DTSV算法[17]作为实验对比算法。
在任务调度过程中,算法具有良好可扩展性表现为其适用于结构多样化的任务集调度,且不会因为任务集或调度系统的一些参数变化而导致性能急剧下降。为证明本文算法具有良好的可扩展性,设计如下2组实验:第一组实验在不同数量的处理器下比较算法的SLR、处理器利用率和通信量3个指标结果,实验设置处理器个数分别为2、3、4、5、6,CCR(Communication to Computation Ratio)为2;第二组实验在不同CCR下比较算法的上述3个指标结果,其中,CCR最小值为0.5,最大值为6.0,步长为0.5,处理器内核数目为3。为了使实验更具代表性,在每次实验参数变化后都使用重新随机生成的任务集,2组实验使用的任务集数目均为500。
4.3 结果分析第一组实验结果如图 2~图 4所示,从中可以看出,在不同数目的处理器条件下,与另外2种对比算法相比,本文算法具有更短的调度时延、更少的通信量和更高的资源利用率,这是因为DTSV算法虽然根据任务关联度评价函数将数据关联性大的任务放在同一个处理器上,在一定程度上减少了通信量,但是结合轮询算法分配其他关联度比较弱的任务以实现负载均衡的方法,所产生的通信量会随着处理器数量的增多而减少,同时任务调度时延也会增大,资源利用率降低,负载均衡的性能在异构处理器系统中较难保证,而本文算法和busHEFT算法在任务调度阶段考虑任务模型结构对调度次序的影响,从而能够合理分配调度优先级。在任务映射阶段,本文算法考虑了待调度任务在每个内核中的最早完成时间,使异构处理器核的运算能力与负载相互匹配,从而有效提高计算效率并缩短调度时延。此外,本文算法还兼顾了任务的关联度对通信时延的影响,算法在这样的前提条件下具有一定的并行感知调度性能,不会随着处理器的增多而任意并行调度,从而有效减少了任务通信量并提高了处理器利用率。
![]() |
Download:
|
图 2 不同处理器数目下3种算法的SLR性能比较 Fig. 2 Comparison of SLR performance of three algorithms with different numbers of processors |
![]() |
Download:
|
图 3 不同处理器数目下3种算法所产生的通信量比较 Fig. 3 Comparison of communication traffic of three algorithms with different numbers of processors |
![]() |
Download:
|
图 4 不同处理器数目下3种算法的处理器利用率比较 Fig. 4 Comparison of processor utilization of three algorithms with different numbers of processors |
第二组实验结果如图 5~图 7所示,从中可以看出,在其他参数设置相同、任务集CCR值不同的条件下,本文算法同样表现出较好的性能,其任务调度时延更短,通信量更少,处理器利用率更高。因此,本文算法的适用范围较广,可扩展性较高。
![]() |
Download:
|
图 5 不同CCR下3种算法的SLR性能比较 Fig. 5 Comparison of SLR performance of three algorithms under different CCR |
![]() |
Download:
|
图 6 不同CCR下3种算法所产生的通信量比较 Fig. 6 Comparison of communication traffic of three algorithms under different CCR |
![]() |
Download:
|
图 7 不同CCR下3种算法的处理器利用率比较 Fig. 7 Comparison of processor utilization of three algorithms under different CCR |
本文提出一种关联任务调度算法,根据关联任务的结构特点计算各个计算型任务的最长路径值,以合理分配任务的调度顺序,同时考虑各个内核的运算性能,设计任务与处理器内核间的最佳匹配函数,从而提高系统的运行效率。实验结果表明,该算法在处理结构复杂的多样化关联任务集时表现出良好的任务调度性能。下一步将研究关联任务具有截止时间约束情况下调度算法的实时性和可靠性问题。
[1] |
CHEN G, GUAN N, LÜ M S, et al. State-of-the-art survey of real-time multicore system[J]. Journal of Software, 2018, 29(7): 2152-2176. (in Chinese) 陈刚, 关楠, 吕鸣松, 等. 实时多核嵌入式系统研究综述[J]. 软件学报, 2018, 29(7): 2152-2176. |
[2] |
ZHOU N, HU J, HU H M. Development trend and key techniques of multi-core processor[J]. Computer Engineering and Design, 2018, 39(2): 393-399. (in Chinese) 周楠, 胡娟, 胡海明. 多核处理器发展趋势及关键技术[J]. 计算机工程与设计, 2018, 39(2): 393-399. |
[3] |
HE J, WANG B. Research on architecture design of multi-core processor[J]. Computer Engineering, 2007, 33(16): 208-210. (in Chinese) 何军, 王飙. 多核处理器的结构设计研究[J]. 计算机工程, 2007, 33(16): 208-210. DOI:10.3969/j.issn.1000-3428.2007.16.073 |
[4] |
SHENG X W. Research on inter core communication in multi-core processors[D]. Shenyang: Shenyang Ligong University, 2013. (in Chinese) 盛肖炜. 多核处理器内部核间通信研究[D]. 沈阳: 沈阳理工大学, 2013. |
[5] |
WANG T Y, NIU L W, REN S L, et al. Multi-core fixed-priority scheduling of real-time tasks with statistical deadline guarantee[C]//Proceedings of 2015 Design, Automation & Test in Europe Conference & Exhibition. New York, USA: ACM Press, 2015: 1335-1340.
|
[6] |
LAKSHMANAN K, KATO S, RAJKUMAR R. Scheduling parallel real-time tasks on multi-core processors[C]//Proceedings of the 31st IEEE Real-Time Systems Symposium. Washington D.C., USA: IEEE Press, 2010: 259-268.
|
[7] |
SAIFULLAH A, AGRAWAL K, LU C, et al. Multi-core real-time scheduling for generalized parallel task models[C]//Proceedings of 2011 IEEE Real-Time Systems Symposium. Washington D.C., USA: IEEE Press, 2012: 217-226.
|
[8] |
SANJOY B, VINCENZO B, ALBERTO M S, et al. A generalized parallel task model for recurrent real-time processes[C]//Proceedings of 2012 IEEE Real-Time Systems Symposium. Washington D.C., USA: IEEE Press, 2012: 63-72.
|
[9] |
KARAGIANNIS G, ALTINTAS O, EKICI E, et al. Vehicular networking: a survey and tutorial on requirements, architectures, challenges, standards and solutions[J]. IEEE Communications Surveys & Tutorials, 2011, 13(4): 584-616. |
[10] |
WANG Y, SHAO Z, CHAN H C B, et al. Memory-aware task scheduling with communication overhead minimization for streaming applications on bus-based multiprocessor system-on-chips[J]. IEEE Transactions on Parallel & Distributed Systems, 2014, 25(7): 1797-1807. |
[11] |
ZHAO R J, ZHU Y A, LI L. Mixed-criticality task scheduling algorithm based on heterogeneous multi-core system[J]. Computer Engineering, 2018, 44(2): 51-55. (in Chinese) 赵瑞姣, 朱怡安, 李联. 基于异构多核系统的混合关键任务调度算法[J]. 计算机工程, 2018, 44(2): 51-55. DOI:10.3969/j.issn.1000-3428.2018.02.008 |
[12] |
ROSEN J, ANDREI A, ELES P, et al. Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip[C]//Proceedings of IEEE International Real-Time Systems Symposium. Washington D.C., USA: IEEE Press, 2007: 1445-1462.
|
[13] |
GU Z H, HE X Q, YUAN M X. Optimization of static task and bus access schedules for time-triggered distributed embedded systems with model-checking[C]//Proceedings of the 44th Annual Design Automation Conference. Washington D.C., USA: IEEE Press, 2007: 294-299.
|
[14] |
CHEN Y S, SHIH C S, KUO T W. Dynamic task scheduling and processing element allocation for multi-function SoCs[C]//Proceedings of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium. Washington D.C., USA: IEEE Press, 2007: 81-90.
|
[15] |
WANG Y, LIU D, QIN Z W, et al. Optimally removing intercore communication overhead for streaming applications on MPSoCs computers[J]. IEEE Transactions on Computers, 2013, 62(2): 336-350. DOI:10.1109/TC.2011.236 |
[16] |
HUANG S J, ZHU Y, LI B Z, et al. Real-time scheduling method for dependency period tasks[J]. Chinese Journal of Computers, 2015, 38(5): 999-1006. (in Chinese) 黄姝娟, 朱怡安, 李兵哲, 等. 具有依赖关系的周期任务实时调度方法[J]. 计算机学报, 2015, 38(5): 999-1006. |
[17] |
DING N, NIE S H, XU L, et al. Data related task scheduling for vehicular ad hoc networks[J]. Chinese Journal of Computers, 2017, 40(7): 1614-1625. (in Chinese) 丁男, 聂率航, 许力, 等. 面向车联网应用的数据关联性任务调度算法[J]. 计算机学报, 2017, 40(7): 1614-1625. |
[18] |
REN L Y, ZHAO C P, YAN H. Multi-core scheduling algorithm based on task duplication and redundancy elimination[J]. Computer Engineering, 2019, 45(5): 59-65. (in Chinese) 任良育, 赵成萍, 严华. 基于任务复制与冗余消除的多核调度算法[J]. 计算机工程, 2019, 45(5): 59-65. |
[19] |
HUNG S H, TU C H, YANG W L. A protable efficent intercore communication scheme for embedded multicore platforms[J]. Journal of System Architecture, 2011, 57(2): 193-205. DOI:10.1016/j.sysarc.2010.11.003 |
[20] |
MELANI A, BERTOGNA M, BONIFACI V, et al. Response-time analysis of conditional DAG tasks in multiprocessor systems[C]//Proceedings of 2015 Euromicro Conference on Real-Time Systems. Washington D.C., USA: IEEE Press, 2015: 211-221.
|
[21] |
TOPCUOGLU H, HARIRI S, WU M Y. Performance-effective and low-complexity task scheduling for heterogeneous computing[J]. IEEE Transactions on Parallel and Distributed Systems, 2002, 13(3): 260-274. DOI:10.1109/71.993206 |