片上网络(NoC)技术是随着多核处理器和系统芯片(SoC)技术的发展而兴起的,它允许在单一芯片上的各个计算核心之间进行高效的数据通信。片上网络的路由算法是其关键组成部分,直接影响着整个网络的性能。在片上网络中,通信可以分为单播和组播两大类。单播是从一个源节点发送数据到一个目标节点,而组播则是从一个源节点发送数据到多个目标节点。组播在很多应用场景中是必不可少的,例如分布式共享存储结构的处理器中的栅栏同步、cache的复制和作废等。
传统的组播实现方法主要有两种,分别是基于路径的组播和基于树的组播。基于路径的组播在转发报文时每个路由节点最多仅在两个方向上转发,可以减少微片(flit)的阻塞,但可能导致一些目标节点路径过长,影响系统性能。基于树的组播则允许建立源节点和所有目标节点之间的最短路径,从而构成性能较好的树形结构。不过,当处理大报文时,基于树的组播有可能导致路由器端口微片堵塞,反而降低性能。
本文中胡文敏和刘衡竹提出的可配置片上网络组播路由算法是一种基于树的算法,其创新点在于引入了缩放因子控制。通过缩放因子的调整,可以生成不同形状的组播树,从而得到不同的性能和带宽效率。实验结果表明,当缩放因子较小时,本算法与VCTM(虚拟电路树组播)算法性能接近;而当缩放因子较大时,则性能接近OPT(优化)组播算法。
组播路由算法研究中,路由节点的转发端口数量限制是一个关键因素。在片上网络中,路由节点通常采用虫孔路由(wormhole routing)方式,即将一个大的报文切割成多个较小的微片,以减少对缓存的需求并提高吞吐量。路由节点中的路由器含有一定数量的端口,端口的微片数量限制决定了路由的效率和拥堵情况。
在设计组播路由算法时,需要考虑的因素很多,例如报文的大小、网络的流量分布、路由节点的处理能力和网络拓扑结构等。一个好的组播路由算法应该能够在保证较低延迟和较高吞吐量的同时,具有较好的扩展性和容错性。通过引入可配置的缩放因子,算法能够针对不同的应用场景和不同的组播通信特性,自适应地调整组播树的形状和性能,从而更好地满足多变的通信需求。
总结来说,片上网络的组播路由算法对整个片上网络的性能有着重要影响,而本文提出的可配置组播路由算法通过引入缩放因子控制,有效地平衡了组播性能和带宽效率,为不同组播通信场景提供了更优的解决方案。随着技术的不断进步和应用需求的日益增长,片上网络路由算法的研究将继续向着更加智能、高效的方面发展。