安建峰,游红俊,赵伟勋,刘咪咪,张盛兵
(1.西北工业大学 计算机学院,陕西 西安 710129;2.上海航天电子技术研究所,上海 201109)
在诸如航天探测系统等尖端领域里,系统对安全性、可靠性、实时性以及功耗都有较高的要求,其中,安全性和可靠性一般通过硬件设备进行保障,实时性及功耗往往通过合理的任务调度方案来保证。随着近些年异构多核处理器的发展,在异构平台上,如何处理上述问题成为一种研究方向。
异构多核处理器由不同类型的处理器核组成,相比较单核、同构多核处理器具有独特的优势,能够更有针对性地处理特定的事件。常见的异构多核处理器有CPU 和GPU,或FPGA 的集成、ARM的BIG.LITTLE 架构等,根据处理器核的类型数量称之为二型异构多核处理器。在异构处理器中,研究最为广泛的就是ARM BIG.LITTLE 架构处理器下的任务调度算法[1-3]。
异构多核处理器的任务调度已经被证明是NP完全问题,目前还没有算法可以在多项式时间内求得最优解,现有算法大多使用启发式的算法求得近似解[4]。异构调度模式一般分为3 种类型:不迁移、同构核间迁移以及全局核间迁移。
1)不迁移[5-7]是指当任务分配到一个处理器核后只在该处理器核上执行;
2)同构核间迁移是指任务在执行期间可以迁移到同种类型的处理器核上执行;
3)全局核间迁移是指一个任务在执行期间可以迁移到任意类型处理器核上执行。
RARAVI 等[8]提出了用整数线性规划(Integer Linear Programming,ILP)的方法来解决同构核间迁移模式下的任务调度问题,并且提出了一种按分类进行分配的近似算法(Sort and Assign,SA)。……