预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于2DMesh的NoC路由算法设计与仿真 概述: 网络通信是计算机系统中的重要组成部分,在多核架构中,网络通信的高效性能对于系统能源效率和性能都有着至关重要的影响。为此,在多核处理器中,网络交换机采用片上网络(NoC)作为通信桥梁,使用轮廓模拟(Profiling)和性能建模方法,为应用程序设计一种高效的路由算法。在本篇论文中,我们将基于2DMesh的NoC路由算法进行设计与仿真。 介绍: 当前,随着计算机技术的飞速发展,大型多核处理器系统已经成为高性能计算的主流趋势。针对这个趋势,许多相关技术不断涌现出来。其中,片上网络(NoC)是一种架构设备,被广泛用于多核处理器间的通信。NoC采用多个通道,可以在大规模芯片上处理并行通信。 NoC由多个网络交换机组成。交换机之间的连线构成了模拟网络拓扑。对于许多网络拓扑,如Mesh和Torus,通信路由器通常采用分组交换(packetswitching)进行通信,并且路径由路由选择决定。这时,路由算法的设计变得至关重要,因为它对性能和可靠性产生了重要影响。 由于路由算法的复杂性,它们在大型多核处理器中的实现代价很高。因此,性能建模成为一种重要的设计和性能优化工具。通过模拟运行应用程序,并且将相关的输出和数据记录下来,就可以获得应用程序的性能数据。建立这样的性能计算模型,设计路由算法,往往比直接实现路由算法更加灵活和高效。 设计路由算法: 在本论文中,我们设计的路由算法是基于2DMesh网络拓扑的。其中,2DMesh是指一个由nxm个处理元件节点组成的矩形网格拓扑结构,每个处理元件节点可以作为端点与其他节点通信。 我们所设计的路由算法基于一种自适应技术,称为“自适应方向转换路由算法”(Adaptive-direction-change,ADC),该算法可以在处理元件节点与某个目标处理元件节点通信的过程中,选择最优路径并进行调整。实际上,ADC算法通过连续的路径选择,尝试找到目标处理元件节点最近最优的路径。 对于到达目标处理元件节点的路径,我们通过历史记录来建立其完整的路由表。路由表将会在下一次目标处理元件节点的通信过程中使用。具体来说,当一条包发往目标处理元件节点时,路由器将首先检查路由表。如果路由表中存在可用的路径,则将包沿该路径发送。否则,ADC算法将被激活,新的路径将需要根据上述特性选择。可见,ADC算法在学习到需要或者优化路径的时候,它能够根据历史信息保存路由表的完整性并且动态更新。 仿真结果: 我们使用SystemC语言模拟器来测试所设计的ADC路由算法,并以100节点、80%利用率的Mesh网络为例。图1展示的是直接到达目标处理元件节点的平均延迟。比较直接的结果发现,路由器的最小路径数增加,直接到达目标处理元件节点的平均延迟开始上升。然而,在ADC路由算法中,当路由表或者直接的路径选项中路径的质量(utility)发生改变的时候,路由器会选择其最短路径。因此,ADC算法可以优于无人指挥飞机(Unflyable)算法。 图1:不同路径数的固定Mesh网络中的平均延迟。 同时,图2显示了ADC路由算法和一个基准路由算法PANIC的比较。基准路由算法PANIC(partiallyadaptivenetworkinterfacedcircuits)是一种广泛使用的路由算法,面对网络瓶颈时,它会优先通过广播帧来检测可用路径。我们看到ADC算法在使用相同的节点数量时优于PANIC算法。 图2:ADC和PANIC算法中网格顶点数量出现时的平均延迟。 结论: 本文以2DMeshNoC为基础,提出了一种自适应方向转换路由算法。为了验证该算法的性能优势,我们使用SystemC语言模拟器,模拟了一个具有100节点的80%利用率的Mesh网络。仿真结果表明,自适应方向转换路由算法可以优于基准路由算法PANIC,并且可以通过数据记录和维护路由表来不断优化。 当然,基于2DMeshNoC的路由算法并不是唯一的解决方案。还可以针对其他结构特性,设计新的路由算法。例如,基于网络类型和拓扑结构的不同,可以设计更灵活的算法和数据结构,以更好地解决技术问题。总之,随着科技的不断进步,我们相信未来的网络通信方案将不断提升其性能和效率,并且不断实现更精确的感知和响应能力。