论文部分内容阅读
在高通量众核处理器执行任务过程中,众核处理器共享资源有限而资源消费者众多,这给处理器的调度策略带来挑战。高通量众核处理器属于并行体系结构,其核心部件资源为处理器核、存储层次和互连网络三部分。调度需求广泛存在于高通量众核处理器核心部件的共享资源中,对于高通量众核处理器来说,如何有效地分配调度有限的共享资源是一个重要的问题。 首先,高通量单程序多数据(SPMD)模式应用的执行过程将任务以线程的形式分布在众核处理器的每个核内并行执行,为了尽可能的增加处理器的利用率和吞吐量,每个核内安排了多个线程的计算任务。在处理器核内,针对有限的核内资源,调度机制为这些核内线程调配资源,对处理器核的总体吞吐量和性能有决定性的意义。其次、在存储端,线程之间对于共享存储资源的争夺将进一步影响等待访存结果的处理器核的性能。对于并行处理的高通量应用程序来说,公平的访存调度策略可以在多个线程间平均分配资源,有效缓解线程对共享存储资源的争夺带来的负面影响。另外,随着众核规模的增加,片上网络的拥塞显著提升,因此通过路由算法和拥塞调度策略来控制拥塞也必不可少。 综上所述,在高通量众核处理器资源消费者众多,而共享资源有限的前提下,调度策略的重要性和必要性都不言而喻。从高通量处理器的结构以及高通量SPMD应用的执行流程上来看,高通量众核处理器主要存在着处理器核内多线程,存储资源公平性访问,以及片上网络的拥塞控制等三方面的调度需求。 针对上面提到的三方面需求,结合近年来在国内外在众核处理器共享资源调度设计方面的经验,本文在核内同时多线程模式,共享存储资源的公平性访问模式,片上网络拥塞控制模式等方面对高通量处理器进行了设计优化。 本文的主要创新点及贡献包括: DTI:双路交替同时多线程调度机制。通过结合同时多线程和粗粒度多线程的优势,DTI将每两个线程配成一对,线程对之间采用同时多线程机制调度,线程对内采用粗粒度多线程的调度方式,来提高资源利用率,隐藏SPMD模式的高通量应用的集中访存延迟。实验结果表明,面向高通量SPMD应用wordcount,grep和kmeans,在核内8线程条件下,双路交替同时多线线程调度比传统的ICOUNT和DCRA多获得35%的性能和44%的使用率的提升; LFF:一种面向高通量应用的众核处理器公平性访存调度机制。针对SPMD模式的高通量应用并行线程行为相似的特征,本文将执行线程的公平性调度转化为访存公平性调度,提出了一种根据节点位置和访存历史信息的访存公平性调度方法:最少最远优先访存调度(LFF)。在LFF策略下,首先根据节点访存请求次数进行调度,次数少的优先访存,若次数相同,较远距离的节点具有更高的访存优先级。 LFF提高了处理器中线程的公平性,进而提升了高通量应用的整体性能;通过实验评估,本文提出的调度机制的公平性调度效果优于FR-FCFS,PAR-BS和ATLAS。在1024核情况下,系统异步率由FR-FCFS的15.5%降低到1.89%。 GHARA:全局层级化自适应路由机制。通过分级监控区域内不同方向的拥塞信息,建立全局拥塞感知网络,指导众核结构中的路由策略,减少拥塞,降低网络延迟;实验结果表明GHARA表现优于其他区域和全局自适应路由算法。在人工注入通信模式下,8×8 Mesh平均饱和带宽比全局自适应算法GCA提高10.7%,16×16 Mesh平均饱和带宽比全局自适应算法GCA提高14.7%。在运行真实测试程序集splash-2模式下,数据包延迟最高比GCA降低40%,平均降低14%。