论文部分内容阅读
多核处理器已经成为当前的主流处理器。由于拥有多个处理核心,应用程序可以把并行的线程同时交付给多个核心分别处理,因此程序的运行速度得到很大的提高。根据其内核结构是否存在差异,多核处理器分为同构多核处理器和异构多核处理器。异构多核处理器根据各自的特点选择合适的子任务进行处理,这使系统的整体运算性能大幅提升。研究人员普遍相信异构多核处理器是未来发展的趋势。异构多核处理器的发展也为任务调度的研究提供了广阔的发展空间,任务调度算法的好坏直接影响到系统的性能。论文的主要工作如下:提出了一种基于删除冗余复制任务的能量感知算法。复制调度策略的思想是把任务调度到多个处理器上执行,减少任务之间的通信开销,从而减少任务的最早完成时间,加快应用程序的执行速度,这在带来性能提升的同时也带来了更多的能量消耗。由于在应用程序的调度过程中,整体的调度长度主要跟关键路径任务的执行相关,对于非关键路径任务,稍微延迟其执行时间并不会影响整体的调度长度。所以本文采用的策略是,对于非关键路径任务,如其在调度过程中复制了其最关键的直接前驱任务,当删除该复制任务后,如果当前任务满足其与直接后继任务的数据约束关系,同时不影响当前处理器执行下一个任务,则该复制任务可以被删除。实验证明本文提出的算法能够有效降低调度过程中的复制任务数量,减少了系统的能量消耗。提出了一种改进的基于任务复制的表调度算法。现有的表调度算法在计算优先级权值时考虑的参数单一,只考虑任务距离出口任务的平均执行时间开销和通信时间开销。在异构环境下,任务在不同处理器上的执行时间不同,其分配到不同处理器执行时的性能相差很大。本文改进任务优先级权值的计算方法,充分考虑任务对处理器的依赖性,对处理器依赖性强的任务给予其相对更大的优先级权值。在任务调度阶段,任务是按着调度列表来执行,但是在调度过程中,包括关键路径任务在内的很多数据已经准备就绪的任务由于执行次序未到而没有得到及时的执行。本文对其调度过程进行改进,首先对DAG图进行分层,同一层的任务之间没有依赖关系,可以并行执行。在调度完一个任务后,对位于同一层的其他数据已经准备就绪的未调度的任务,采用插入策略,搜索处理器中满足调度该任务的空闲时间并调度该任务到此合适的空闲时间上。充分利用处理器的空闲时间,加快任务的执行速度。实验证明,本文提出的算法有效的提升调度的性能。