多核处理器实时调度平台是一个在多核处理器条件下集成多种调度算法并能够选择某种调度算法进行实时任务调度的平台,目前多核调度算法研究是一个新的研究方向。
近年来,单芯片多核心处理器(Chip Multi-core Processors, CMP,又简称多核处理器)的技术已经逐渐成熟,逐步取代单芯片单核心处理器,并在很多系统中使用,比如天河一号A高性能计算机[1]使用的就是八核处理器和六核处理器。同时多核处理器的调度算法的研究成果已经很多,比如适合多核调度情况的EDF算法,公平调度PFair算法,使用启发式方式分配任务、遗传算法调度[2]等等。
研究者对于自己研究的调度算法都进行了编程实现或者仿真实验等,证明了各自调度算法的优越性。但是在这个过程中,有两个问题需要注意:1) 测试环境是否统一;2) 测试程序的优先级如何保证。第一个问题,需要考虑两点:(1) CPU的体系结构是否一致? CPU的体系结构不一致,如ARM和X86,CPU的处理效率也不一致。如果分别在两种体系结构中运行相同的调度算法,得到的数据就不一样,相应的调度算法实验数据就没有可比性。(2)调度算法是以应用程序的方式,还是以系统内核的形式实现的?如果是以应用程序实现的,那么调度算法程序在运行过程中,必须通过内核函数调用,在过程之中的延迟不可避免,最终结果是不准确的;如果是以系统内核实现的,那么调度算法程序可以直接调用相关内核函数,延迟会减少,得到的数据比较准确。对于第二个问题,在非实时环境下实现调度算法,在调度过程中,对于CPU执行其他无关任务等情况,是无法控制的。如果CPU执行其他无关任务,相关测试程序将被中断或者迁移等,那么最终的调度结果是没有可比性的;如果在实时环境下,任务的高优先级能够得到保证,运行时不会被别的无关任务中断或挂起,得到的结果的准确度就比较高。
另外,研究者通常把自己研究的调度算法与相同类别的调度算法进行横向比较,从而确定调度算法的性能高低,而忽略了与其他不同类别的调度算法的比较,比如PFair的一个新版本调度算法往往只与PFair已有版本进行比较,而很少和EDF,LLF等等算法进行比较。这种情况对于研究一种调度算法的约束、优劣势
文件提取码:
2288
下载地址: