论文部分内容阅读
多核体系结构的出现与广泛应用带动了多核技术的迅猛发展,然而,诸如通讯延迟、存储墙、资源竞争等问题严重影响多核处理器性能的发挥。其中,提高多核间通信效率是提升多核系统性能的重要途径,也成为近年来计算机系统结构领域中研究的热点问题。多核体系结构下,对核间通信研究的本质是如何在保证系统中各应用正常运行的前提下,通过协调应用先后执行顺序及对应用的处理器核的分配,以达到减少甚至避免对共享资源的争用,最终提高多核系统效率。当前,业界已经提出了多种策略提高核间通信效率,主要包括以下三方面:1.改进MPI (Message Passing Interface)库;2.针对于特定网络连接(如mesh网络)的改进;3.使用更高效的进程映射算法。综合考虑通用性与可行性,本文从第三点进行研究,针对两种不同的多核平台,分别提出新的进程映射与调度算法。(1)对于运行周期任务的嵌入式多核平台,提出一种基于进程映射和部分任务预先调度的算法。该算法引入流水线思想,通过找出占用总线时长最长的通信型任务TRmx和依赖其的所有计算型任务,预先调度从开始任务T1到最长通信型任务(TRmx)之间的所有任务,进而对于后续每个周期,所有依赖于TRm的任务在执行前所需的数据已经准备就绪,消除了等待时间。该算法的本质是使不同周期内计算型任务与通信型任务覆盖执行,达到类似于流水线的效果,缩短了调度长度和程序运行时间。(2)对于NUMA系统,本文建立核间通信时间模型,针对该模型得出影响核间通信效率的多个因素:消息长度、消息发送速率、网络接口利用率等。通过实验量化分析出各因素对于核间通信时间的影响程度,并根据系统中多个结点(node)间通信造成对有限网络接口争用的情况,对每个结点上可同时运行的进程数目设定阈值。文中综合以上影响通信效率的各基本规则并结合阈值思想,对于NUMA体系结构提出优化的进程映射算法,并分析该算法的正确性与高效性。本文进行多组对比试验,并对数据进行深入分析,结果显示,文中提出的两种不同平台上的调度算法较常用算法均有明显效率提升,达到了预期目标。