论文部分内容阅读
随着基于NoC的片上多核系统的快速发展和应用,在整个网络中可能会出现负载分布不均匀或者是部分节点损坏的情况,而这些情况会严重影响整个片上系统的性能,甚至可能由于局部过热导致整个芯片烧毁或者部分节点损坏而不能正常工作。针对这样的问题,需要把负载过重的节点或损坏节点上的任务部分或全部迁移到其他节点上去,达到负载平衡和容错的目的。但是在迁移的过程中难以避免地会产生比较大的通信开销。为了尽可能的减少迁移通信开销,本文提出了一种负载判断策略以及基于此策略的任务迁移算法。此负载判断策略能够避免任务迁移颠簸现象和减少此任务的执行时间。而提出的任务迁移算法能够减少任务迁移通信开销并且使迁移后能耗更低、分布更均匀。首先提出的任务迁移算法通过计算每一个重载节点的步长区域可以得到候选轻载节点矩阵和步长矩阵。接着由权重矩阵对步长矩阵加权得到加权后的步长矩阵。最后由得到的候选轻载节点矩阵和加权后的步长矩阵就可以找出具有最小的通信开销的节点配对。随后,为了使多核系统支持容错的功能,本文先对课题组已开发出的多核仿真系统平台和MMPI并行编程模型进行了修改,然后将本文提出的任务迁移算法和一种课题组开发的任务迁移机制结合起来实现多核系统容错的能力。当多核系统中的节点损坏时,系统将把运行在此损坏节点上的任务迁移到由任务迁移算法计算出的正常节点上去继续执行从而达到容错的目的。最后,本文对任务迁移算法和基于节点容错的任务迁移策略进行了实验与评估。实验结果表明,与动态程序算法相比,本文提出的任务迁移算法能够使任务迁移通信开销平均减少18%。此外,在实验的4种网络规模中能够使得能耗开销平均减少3.9%并且使能耗分布更均匀。再者,本文正确地在多核平台上实现了分布式任务迁移策略,实现了平台的容错功能。实验结果得到,在任务迁移中,开销主要来自于任务状态信息的传输。