论文部分内容阅读
随着单芯片多处理器(Chip Multiprocessors,CMP)上集成的处理器核数量不断增多,片上网络架构被提出作为用于CMP的有前景的互联技术。多个处理器核并行执行过程中对于内存带宽有了更高的需求,处理器核和片外内存之间的内存带宽成为一个关键问题(“带宽墙”问题)。在片上网络中集成更多的内存控制器是解决此问题的一种有效且可行的方法。内存控制器在片上网络中的不同位置会对系统性能产生重大影响,在片上网络中如何放置多个内存控制器成为一个重要的问题。先前的研究或耗时巨大、或缺少理论分析、或使用范围受限,因此设计一种高效的布局方法十分重要。本文在对内存访问过程中的延时进行分析之后发现内存控制器的不同布局会导致不同的内存访问延时,尤其是片上通信过程中的争用延时。如何定量表示出争用延时成为一大问题难点。如果能够找到争用延时的替代指标,然后基于替代指标设计出一种高效的计算方法,那么在该方法的基础上,可以针对不同的内存控制器类型得出不同的布局方案。基于以上想法,本文提出了链路忙碌因子以及路径负载这两个替代指标,设计了两阶段的计算方法,并且提出了基于替代指标的布局评价标准。在此基础上,分别针对不同的内存控制器类型找到了在不同网络规模,不同内存控制器数量情形下对应的最优布局。本文的主要工作及创新点如下:一、对内存访问请求的延时进行了分析。我们分析了不同的内存控制器布局将会影响延时组成的哪一部分,找到了受影响最严重的延时组成元素—争用延时。二、提出了链路忙碌因子、路径负载这两个替代指标。链路忙碌因子可以定量表示出每段链路有多少个数据包争用,进而可以用该值来代指数据包在片上通信网络中各段链路上的争用延时。而路径负载可以定量表示出处理器核将内存请求发送到内存控制器所经过的所有链路以及内存控制器将内存回复发送回处理器核所经过的所有链路上一共有多少个数据包争用,进而可以用该值来代指访存请求往返路径上的整个争用延时。三、针对两个替代指标,设计了两阶段的计算方法,并提出了平均路径负载值这个基于替代指标的布局评价标准。针对链路忙碌因子这个替代指标,我们设计了第一阶段的链路忙碌因子标记算法。针对路径负载这个替代指标,以第一阶段的链路忙碌因子标记算法的结果为前提,我们设计了第二阶段的路径负载计数算法。四、针对分离型和集成型两种不同类型的内存控制器,分别找到了在不同网络规模、不同内存控制器数量情形下对应的最优布局。OPNET仿真平台上的实验结果表明,采用本文所提方法找到的内存控制器布局相比于其他布局具有更低的网络延时和更高的网络吞吐量。同时通过本文所提的方法找到了更多的最优布局方案。本论文的研究为未来的CMP设计提供了坚实的理论基础。