一、 片上网络概述

  在半个多世纪以来,半导体工业一直遵循着“摩尔定律”发展,即集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍。截至目前,处理器中的晶体管数量最多已达到了上百亿。晶体管数量的增加一方面极大提升了单核处理器的性能,但另一方面却为处理器架构的设计带来了许多问题与挑战,包括功耗增加、资源利用率减少、可靠性降低等。此外,利用提高处理器主频、使用先进指令集和采用大容量高速缓存阵列等提高单核处理器性能的方式与急剧增加的功耗相比,其收益在逐步下降。因此,为了有效利用如此庞大数目的晶体管,并且能在保证较低功耗的前提下进一步提高处理器性能,多核处理器的设计成为了解决这一问题的关键方向。尽管业界在众核(核数大于8)处理器的研究与实践方面取得了显著突破,但是众核处理器仍然面临着许多设计难题。高效且低能耗的片上互联方式是难题之一。传统的总线型或交叉开关(crossbar)等互联结构有可扩展性差、带宽较低、延迟较大和功耗较高等缺点。片上网络为解决这些难题提供了新的途径。
  片上网络(Network-on-Chip,NoC)是片上系统的一种新的互联方法。同时它也是面向多核片上系统的主要技术组成部分。NoC带来了一种全新的核与核之间的片上通信方式,并且其性能显著优于传统总线式系统。基于NoC的系统能更好地适应复杂多核SoC设计中使用的全局异步局部同步的时钟机制。NoC构架主要基于电子或光学技术,分别称为片上电网络(Electrical Network-on-chip,ENoC)及片上光网络(Optical Network-on-chip ,ONoC)。随着半导体工艺技术的进步和芯片集成度的提高,NoC 的设计已有理论逐步成为现实,并展现出非常广阔的前景。
图1:典型的Mesh拓扑结构的片上网络系统

  图1展示了典型的拓扑结构为Mesh结构的片上网络系统。在此基于片上网络的系统中,处理器中的16个核由一个4×4的网格网络相连。每一个网络节点(node)包含一个计算核(IP核)核一个路由器(router)。路由器和相应的链路组成了片上网络。
相比于传统的SoC上多核的通信方式,NOC架构有以下几点优势:
 (1)良好的可扩展能力。相比于其他SoC通信方式,NoC不再受限于总线架构,因此可以扩展任意数量的计算节点。此外,在需要对片上系统功能进行扩展时,只需要将设计好的功能模块通过网络接口接入,无需重新设计网络整体架构。
 (2)较高的通信效率。NoC将IP核之间的数据传输变为路由器之间的数据转发,因此IP核节约了一部分的计算资源。此外,NoC避免了总线架构在同一时刻只能有一对通信节点进行通信的问题,可以实现同一时刻多对节点的通信。
 (3) 较低的功耗。NoC中采用全局异步局部同步的时钟机制,其功耗开销远低于其他SoC。NoC中局部模块运用同步时钟域,而全局上采用异步时钟,降低了由于全局时钟同步所带来的动态开销,同时,NoC中的时钟树设计复杂度也低于SoC。

二、 片上网络路由算法分类

  片上网络路由算法是旨在使发送数据能够从源节点在各种复杂条件下(网络拥塞、死锁、活锁、故障等),以满足设计要求(最低迟延传输、最小功耗传输等)的方式顺利传输到目标节点的一类算法。对于所涉及的路由算法,一般有一下几点要求:

  • 节点两两互通。为了满足用户需要,在无故障的情况下,网络上任意两节点间需要至少有一条通路。因此要求设计的路由算法能够实现网络上节点间的路径规划,使得发送数据能够在任意节点间进行传输。
  • 避免死锁和活锁。死锁是指当多个分组争用网络中的缓冲资源,分组一方面请求使用缓冲区资源,一方面又占用当前缓冲区,使得其他分组无法获得前进至下一跳所需的缓冲,进而造成的阻塞问题。活锁是指尽管网络中没有死锁现象的发生,某些数据包也无法到达目的节点[1]。为了避免死锁和活锁,路由算法应当包含合理的分组缓存资源管理机制,结合全局分组传输状况为分组的传输链路上预留足够的缓存空间;应当为分组预定合理的传输路径,避免环形死锁。
  • 算法简单,复杂度低。为了降低算法实现的成本,降低对于软硬件平台的运行压力,要求设计的路由算法要尽量简单,且算法的复杂度尽可能低。
  • 公平对待所有用户,防止饿死。为了能够满足所有用户的服务需要,设计的路由算法需要综合考虑用户优先级和公平性的问题,规划合理的数据分配方案,防止饿死问题的发生。
  • 具有一定容错性在实际应用中,由于各种内在和外在因素的影响,网络设备难免会出现故障损坏的问题。因此当存在网络故障的情况下,路由算法需要能够以延迟、效率等为代价,通过使用一些列方式避开故障区域,实现数据的顺利传输。

  依据目的节点数分类,片上网络路由算法可分为单播路由和多播路由两种,两者分别是应用在目的节点有一个或多个的情况下。对单播路由算法的研究是本文的重点。依据路由决策方式的不同,单播路由算法又可分为无关路由、自适应路由以及无关路由和自适应路由相结合三种。无关路由是指路由决策是固定的,与网络状态无关。自适应路由是指路由传输能够依据网络的不同状态自动调整路径选择,从而有效避开热点、拥塞或故障等问题区域。
  本节将按照路由决策方式分类介绍几种典型的路由算法。

1. 无关路由

  无关路由是指一类路由决策与网络状态无关的路由算法。无关路由可分为确定性路由和随即路由两种。

(一) 确定性路由

  在使用确定性路由算法时,分组将按照预设的固定路径在网络中传输。维序路由是典型的确定性路由算法。依据维序路由算法思想,分组每次只在片上网络中沿一个维度传输。
  对于二维片上网络结构,例如Mesh拓扑结构来说,XY路由是最常见的维序路由算法之一。分组先沿X(Y)轴方向传播,当所到达节点的X(Y)坐标与目的节点的相同时,则开始沿Y(X)轴进行传输,直至到达目的节点。
  对于多维的片上网络拓扑结构,例如n维超立方体,E-cube路由较为常见。在n维超立方体中,每一个节点都有相应的二进制编码标号,并由多条输入和输出通道。与XY路由算法类似,分组从源节点出发先沿第i维进行传输,每到一个节点就将本身所携带的目的节点编号与当前节点编号进行数学计算,从而判断是否在第i维上是否到达了目的节点的坐标位置。如果第i维坐标相同,则沿另外一个维度逼近源节点;否则继续沿第i维进行传输。
  确定性路由算法实现简单,在网络低负载时具有较高的可靠性和稳定性。然而当网络负载较高,或存在故障区域时,由于没有自适应性调解机制,确定性路由无法根据当前网络状况自发调整路局规划,进而导致传输延迟较大或分组丢失的问题。

(二) 随机路由

  与确定性路由不同,随机路由将分组按照某一概率模型随机发送到链路中进行传输。为了避免随机路由所导致的无法到达目的节点或到达时间过长的问题,在实现时通常会规定最长路由时间。如果超过此时间目的节点仍然没有接收到分组,则分组将被丢弃。典型的随机路由算法包括:

  • 洪泛路由算法。在洪泛路由中,同一分组被复制成多份,并被依概率随机发送到不同链路中。当目的节点接收到第一个到达的复制分组后,其他复制分组将被丢弃。在此思想基础上,洪泛路由包含直接洪泛和概率洪泛。概率洪泛是指依概率向所有可能到达目的节点的链路发送复制分组;而直接洪泛路由是对概率洪泛路由的改进算法,它通过预处理推断出了能够传出到目的节点的大致方向,从而向可能的方向的链路上发送复制分组。洪泛路由算法通过大量复制分组以实现降低传输时延、提高容错性能的目的。其缺点是大量分组在网络中传输会占用大量的网络资源,带来较高的能耗。
  • Valiant路由算法[2]。由于无关路由在实际应用时会在网络中产生不均衡的流量[3],因此要对分组传输路径做进一步的约束以缓解高负载时网络的拥塞。基于洪泛路由算法,Valiant路由算法会在源节点和目标节点之间随机选取一个节点作为传输“中继”节点,即分组先从源节点以无关路由的方式传输到“中继节点”,在“中继”节点处做接下来的路径规划并继续以无关路由的方式传输到目标节点。这样的路由方式可以在一定程度上平衡网络负载,降低网络的拥塞概率。但是缺点是由于增加了随机的中继节点,传输路径不一定是源节点与目标节点之间的最短路径。这样会导致延迟增加的问题。
  • IVAL路由算法[4]。基于维序路由算法,IVAL算法对Valiant路由算法进行了改进。在使用IVAL路由时,源节点、目的节点与“中继节点”之间采用了相反的维序路由的方式,即从源节点到“中继节点”使用XY(YX)路由,从“中继节点”到目的节点采用YX(XY)路由。与其他路由方式相比,IVAL路由算法能够在保证最差情况下的网络吞吐率的同时,提高网络的局部最优。

  与确定性路由相比,随机路由算法简单,鲁棒性强,有一定的自适应能力,能够一定程度上缓解网络故障或高负载时路由的效率低、延迟高的问题。

2. 自适应路由

  自适应路由能够结合不同情况下的网络状态自发调整路由路径,具有较高的容错性和鲁棒性。经典的自适应路由包括转弯模型、奇偶转弯模型[5]、虚信道路由[6]-[7]。基于这些经典路由算法,各种改进的算法在近些年不断被提出,并收获了优秀的性能表现。

(一) 转弯模型和奇偶转弯模型

图二:几种转向方式。

  为了避免环形死锁,Glass等人提出了转弯模型(turn model)。通过分析路由过程中可能的转向,转弯模型算法可以预测出产生环形死锁的概率,并通过禁止某些转向来阻值环的产生,从而减少死锁发生的概率。对于二维Mesh结构的网络,结合实验数据,作者在文章中表明West-First、North-Last和Negative-First三种基于转弯模型的算法在实际应用时表现较好。
  奇偶转弯模型[8]是对转弯模型的改进算法,其主要应用在二维Mesh拓扑结构网络中。与转弯模型不同,转弯模型是根据预测结果对路由的某些转向进行限制,而奇偶转向模型则是对转弯的位置进行了约束。文章定义了ES、EN、WS、WN、SE、SW、NE和NW转向的概念。根据节点所处于网络位置的行号和列号的奇偶性,奇偶转向模型对不同节点的路由转向进行了不同的限制。在文章中,两条基本规则被制订:(1)不允许分组在偶数列进行EN和ES转向(2)不允许分组在奇数列进行NW和SW转向。仿真结果表明,奇偶转向模型可以在网络流量不均匀的条件下展现出更强的自适应性能力,使得消息的传递可以免受一些消极因素的影响,例如热点区域,从而提升片上网络的通信效率。

(二) 不规则Mesh网络的路由算法

  尽管奇偶转弯模型在二维Mesh网络中展现出了高路由性能,然而对于一些异构网络(网络中包含不规则大小的组件,如路由器、处理单元等)或网络中存在故障区域时,转弯模型路由无法正常在这些区域进行转弯,进而造成控制程序的失效或后续路由的低效率。为了提升路由算法在应对不规则Mesh网络时的性能表现,在奇偶转弯模型的基础上Schafer等人提出了应对策略[9]。
  在路由传输时,如果接下来的路径区域内不包含不规则部件,则执行奇偶路由。在侦测到前方即将经过存在不规则部件的区域时,程序会提前进行转弯判定。如果预测转弯会受阻,则控制程序会命令分组提前或延后几跳进行转弯操作。考虑到不规则网络组件与故障区域有极大的相似性,这一路由算法同样适用于网络存在局部故障的情况下。此路由算法设计极大地提升了路由的容错能力和抗干扰能力。

(三) 跳步容错路由

  为了使得路由转发能够避开网络故障或热点区域,提高路由的容错能力,李旺远等人基于转弯模型提出了“跳步容错路由”[11]。在此算法中,每个节点都要维护一张周围链路的实时状态表。该表要不断更新,以确保经过该节点的分组能够在算法的控制下顺利进行后续的转发操作。当某一方向发生拥塞或故障时,分组能够即时通过状态表获取问题信息,提前进行跳步并使用设置的逃离虚信道避开问题区域。仿真表明,该算法能够有效避免死锁,并且能够在高网络负载的情况下展现出更低的时延和更高的吞吐特性。

(四) XY-YX路由

  对于XY路由,由于路由路径固定,即先沿X轴传播,再沿Y轴传播,因此如果大量分组需要同时被进行水平(沿X轴)或垂直传输(沿Y轴),则可能导致片上网络中某些行列的严重阻塞。
  为了解决这一问题,欧阳一鸣等人提出了XY-YX路由算法[10]。XY-YX路由是对XY无关路由的一种适应性改进。在XY-YX路由算法中,分组的传输并非严格按照先沿X轴后沿Y轴,而是依赖于目的节点与当前节点的相对位置。当当前节点的Y轴坐标大于目的节点,即当前节点位于目的节点的北面时,则分组传输执行XY路由;当当前节点的Y轴坐标小于目的节点,即当前节点位于目的节点的南面时,则分组传输执行YX路由。仿真结果表明,XY-YX路由相较于XY路由,在网络中存在热点节点的情况下时,具有更低的传输延迟。

(五) DyXY路由

  Li等人提出了“DyXY路由”(Dynamic X-Y Routing)。在该算法中,网络中的每个节点都存有相邻节点的“压力值”(stress value)。压力值是一个用于表示该路由节点拥塞程度的参数,通常可用节点队列中的分组数目进行表示。一般情况下,分组沿源节点与目的节点之间的最短路径进行传输。如果当前节点某维的坐标与目的节点相同,则分组沿其他维进行转发;否则,在拥塞区域,分组将向压力值最小的相邻节点进行传输。试验结果表明,DyXY路由能够在有效避免死锁和活锁的同时,使网络中的流量分布更加均匀合理,从而降低传输时延。

(六) 虚信道(Virtual Channel)路由

  虚信道路由[6]是对虫孔路由的改进,它解决了虫孔路由器的阻塞问题,能够提高物理信道的利用率,显著增加片上网络的性能。通过引入虚信道技术,虚信道路由将一个物理信道分成逻辑上的多个独立的虚信道以对物理信道进行分时复用。通过对虚信道的合理调度,当网络中发生分组阻塞时,若阻塞的分组被缓存在某一条虚信道的缓存中,其它分组能够使用其它的虚信道继续进行传输。虚信道路由需要为每条虚信道提供一个独立的缓存空间,虚信道数目增加一条,路由器的缓存空间需要相应增加一倍。Dally等人对虚信道路由的仿真分析工作[7]表明,虚信道路由能够显著提升网络的吞吐量,同时能够降低网络中不同信道间的通信依赖关系。

(七) NoC-LS路由

  Ali等人将已有的动态网络路由算法应用到了片上网络中,并提出了基于“距离向量路由”(Distance Vector Routing)和“链路状态路由”(Link State Routing)的NoC-LS路由算法[13]。其基本原理为考虑到片上网络芯片在出厂后内部硬件结构、数目在正常情况下不会改变,因此其预先计算了节点间的传输成本,并将计算结果维护成表。系统将参照此表使用Dijkstra算法计算出两点间的最短路径,并进行路由转发。当网络中出现故障或人为更动时,系统将会对节点间的传输重新进行评估并更新传输成本表,以此来保证路由传输的最小成本开销。
  NoC-LS能够显著提高片上网络的路由效率。然而NoC-LS却有着实现复杂且算法复杂度较高的缺点。

(八) SRN路由

  Kim等人提出了SRN(Search Routing for NoC)路由算法。该算法能够使得网络摆脱周期性的外部路由管理,实现完全的自我组织、自我配置和容错。
SRN算法的实现包含以下两部分过程:

  • 路径发现(route discovery)。在源节点获取到待发送分组时,会先查看分组内所包含的目的节点信息,并判断本地缓存的路径中是否包含到达目的节点的路径。如果包含则跳过路径发现过程;否则会向临近节点发送一个包含源节点和目的节点的路径请求。临近节点收到路径请求后会首先判断目的节点是否为自身:如果是则会向请求的发送节点发送回复信息,如果不是则将自己的节点编号加入到路径记录序列的末尾,并重复上述向周围节点发送路径请求的步骤,直至到达目的节点。
  • 路径维持(route maintenance)。在路径发现过程结束之后,程序会执行分组转发程序。每当分组到达一个节点时,该节点会向下一个即将跳转的节点发送确认请求。如果下一跳节点情况正常,则其会向当前节点发送确认信息;如果下一个节点检测到意外情况发生,如链路有损坏,则会向当前节点发送错误信息。当前节点收到下一跳节点的确认信息后会正常执行跳转操作,而在收到错误信息后则会在路径缓存中选择其他路径跳转。

  实验结果表明,SNR算法能够在最小化路由开销的同时具有很强的容错能力。

(九) 生物算法

  生物算法是指通过对大自然中生物行为的观测以及分析所总结出的一系列可应用于其他科学领域的优化方法。常见的生物算法包括遗传算法[20](从生物的进化角度)、蚁群算法[19](从蚂蚁群体觅食的角度)以及神经网络(从动物大脑中神经元之间传递信息的角度)。通过于其他学科知识的融合,研究人员们将多种生物算法应用到了片上网络的路由算法中。
  Daneshtalab等人[15]和Di Caro等人[16]将蚁群算法应用到了片上网络中。在自然界蚂蚁觅食的过程中,蚂蚁会分泌一种称为“信息素”的物质并将这种物质留在所经过的路径上。而这种信息素也会随着时间逐渐消散。路径上包含的信息素越多代表最近一段时间内越多的蚂蚁曾在觅食时经过这条路径,即这条路径更有可能以最短的距离通向食物。
  Fen等人[17]和Emrani等人[18]将遗传算法应用到了片上网络中。遗传算法是基于生物遗传和进化机制的适合于复杂系统优化的自适应概率优化技术。其的核心是将问题的解抽象成染色体(数组),然后经过一系列操作使最初的染色体集收敛至一个或多个环境适应度最高的染色体,这些剩余的染色题对应数组所代表的解在一定程度上很可能即为此问题的最优解。
  通过引入生物算法,片上网络路由算法的鲁棒性和容错性能够极大的提高。此外,由于不同生物算法具有其独特的优势,因此将其与路由算法融合还可以得到其他方面效果的提升。例如将蚁群算法与路由算法融合能够极大的降低时延。

3. 无关路由与自适应路由相结合

(一) 伪自适应XY路由

  考虑到传统的XY路由无法很好的在网络高负载情况下合理的分布负载,Dehyadgari等人[21]提出了伪自适应XY路由(Pseudo adaptive XY routing algorithm)。此算法包含两种工作模式:无关路由模式和自适应路由模式。当网络拥塞程度降低时,分组将采用XY路由(无关路由模式)进行传输。而当拥塞度较高时,分组将会依据选择节点周围拥塞度相对较低的链路并通过。试验结果表明,在网络拥塞度相同时,伪自适应XY路由能有效降低分组传输延迟;而当网络负载较高时,伪自适应XY路由能够使得负载在网络上的分布更加均匀合理。

(二) DyAD路由算法

  文章[22]指出,在低负载情况下,XY路由比奇偶路由的平均时延更低;而在高负载条件下奇偶路由则有着更高的吞吐。因此为了能够结合二者在不同负载条件下各自的优势,同时尽量消除其劣势,Hu等人提出了DyAD(Dynamic Adaptive Deterministic)路由算法。在DyAD路由算法中,网络中的每一个路由器都能时刻监视其所在的局部区域的网络状况。在拥塞区域,网络将采用XY路由以保证最短路径传输;而在拥塞区域,网络将采用奇偶传输以尽量降低拥塞程度。

三、 针对3-D片上网络的路由算法

  随着数字IC工艺的发展,片上网络已经从2-D向3-D发展。3-D片上网络在处理延迟、速度、能耗等方面相较于传统的平面网络展现出了显著的优势。不仅对于2-D片上网络,路由算法对于3-D片上网络的性能表现同样起到至关重要的作用。文章[24]-[30]提出了多种用于3-D片上网络的路由算法,以进一步提高3-D片上网络的性能优势。

四、 总结

  受限于实现成本及能耗开销等问题,目前单核处理器性能无法有太多的提升,因此设计多核和众核处理器成为了进一步提升处理器性能的关键。片上网络是一种用于连通片上核心的互联架构,相较于其他的互联架构,片上网络具有可扩展性强、通信效率高以及能耗较低等特点。因此片上网络具有广阔的未来发展前景。片上网络的设计空间包括网络的拓扑结构、路由节点的设计以及路由算法的设计等。首先,本文简要介绍了片上网络的相关内容。之后,本文针对目前片上网络的路由算法进行了分类整理。片上网络路由算法可按照自适应性度分为无关路由、自适应路由以及无关路由与自适应路由相结合三类。其中无关路由是指路由方式固定且与网络状态无关,自适应路由是指一类路由方式与网络状态相关联的路由算法,无关路由与自适应路由相结合是指一类可在无关路由与自适应路由间切换路由方式的算法。本文还依据上述算法分类,简要介绍了一些经典算法的设计目标以及核心思想。

参考文献:
[1] 朱小兵. 片上网络路由算法研究. MS thesis. 西安电子科技大学, 2009.
[2] Rantala, Ville, Teijo Lehtonen, and Juha Plosila. Network on chip routing algorithms. Turku Centre for Computer Science, 2006.
[3] 谢佩博, 顾华玺 [1, and 贾林. “片上网络路由算法的研究.” 计算机工程与设计 13 (2009).
[4] Towles, Brian, William J. Dally, and Stephen Boyd. “Throughput-centric routing algorithm design.” Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures. 2003.
[5] Glass, Christopher J., and Lionel M. Ni. “The turn model for adaptive routing.” ACM SIGARCH Computer Architecture News 20.2 (1992): 278-287.
[6] Dally, William J., and Charles L. Seitz. “Deadlock-free message routing in multiprocessor interconnection networks.” (1988).
[7] Dally, William J. “Virtual-channel flow control.” IEEE Transactions on Parallel and Distributed systems 3.2 (1992): 194-205.
[8] Chiu, Ge-Ming. “The odd-even turn model for adaptive routing.” IEEE Transactions on parallel and distributed systems 11.7 (2000): 729-738.
[9] Schafer, Martin KF, et al. “Deadlock-free routing and component placement for irregular mesh-based networks-on-chip.” ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005… IEEE, 2005.
[10] 欧阳一鸣, 董少周, and 梁华国. 基于 2D Mesh 的 NoC 路由算法设计与仿真. Diss. 2009.
[11] 李旺远, and 王长山. “Mesh 跳步容错路由算法.” 計算機與現代化 2010.3 (2010): 39-42.
[12] Li, Ming, Qing-An Zeng, and Wen-Ben Jone. “DyXY: a proximity congestion-aware deadlock-free dynamic routing method for network on chip.” Proceedings of the 43rd annual Design Automation Conference. 2006.
[13] Ali, Muhammad, Michael Welzl, and Sybille Hellebrand. “A dynamic routing mechanism for network on chip.” 2005 NORCHIP. IEEE, 2005.
[14] Kim, Young Bok, and Yong-Bin Kim. “Fault tolerant source routing for network-on-chip.” 22nd IEEE International Symposium on Defect and Fault-Tolerance in VLSI Systems (DFT 2007). IEEE, 2007.
[15] Daneshtalab, Masoud, et al. “NoC hot spot minimization using antnet dynamic routing algorithm.” IEEE 17th International Conference on Application-specific Systems, Architectures and Processors (ASAP’06). IEEE, 2006.
[16] Di Caro, Gianni, and Marco Dorigo. “AntNet: Distributed stigmergetic control for communications networks.” Journal of Artificial Intelligence Research 9 (1998): 317-365.
[17] Fen, G. E., and W. U. Ning. “Genetic algorithm based mapping and routing approach for network on chip architectures.” Chinese Journal of Electronics 19.1 (2010): 91-96.
[18] Emrani, Zahra, and Karim Mohammadi. “A technique for NoC routing based on extended compact genetic optimization algorithm.” 2011 19th Iranian Conference on Electrical Engineering. IEEE, 2011.
[19] Dorigo, Marco, Vittorio Maniezzo, and Alberto Colorni. “Ant system: optimization by a colony of cooperating agents.” IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 26.1 (1996): 29-41.
[20] Holland, John Henry. Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. MIT press, 1992.
[21] Dehyadgari, Masood, et al. “Evaluation of pseudo adaptive XY routing using an object oriented model for NOC.” 2005 International Conference on Microelectronics. IEEE, 2005.
[22] Hu, Jingcao, and Radu Marculescu. “DyAD: smart routing for networks-on-chip.” Proceedings of the 41st annual Design Automation Conference. 2004.
[23] Majer, Mateusz, et al. “Packet routing in dynamically changing networks on chip.” 19th IEEE International Parallel and Distributed Processing Symposium. IEEE, 2005.
[24] Ebrahimi, Masoumeh, Masoud Daneshtalab, and Juha Plosila. “Fault-tolerant routing algorithm for 3D NoC using hamiltonian path strategy.” 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 2013.
[25] Salamat, Ronak, et al. “LEAD: An adaptive 3D-NoC routing algorithm with queuing-theory based analytical verification.” IEEE Transactions on Computers 67.8 (2018): 1153-1166.
[26] Dubois, Florentine, et al. “Elevator-first: A deadlock-free distributed routing algorithm for vertically partially connected 3d-nocs.” IEEE Transactions on Computers 62.3 (2011): 609-615.
[27] Ahmed, Akram Ben, and Abderazek Ben Abdallah. “LA-XYZ: low latency, high throughput look-ahead routing algorithm for 3D network-on-chip (3D-NoC) architecture.” 2012 IEEE 6th International Symposium on Embedded Multicore SoCs. IEEE, 2012.
[28] Ahmed, Akram Ben, and Abderazek Ben Abdallah. “Architecture and design of high-throughput, low-latency, and fault-tolerant routing algorithm for 3D-network-on-chip (3D-NoC).” The Journal of Supercomputing 66.3 (2013): 1507-1532.
[29] Jovanovic, Slavissa, et al. “A new deadlock-free fault-tolerant routing algorithm for NoC interconnections.” 2009 International Conference on Field Programmable Logic and Applications. IEEE, 2009.
[30] Ebrahimi, Masoumeh, et al. “DyXYZ: Fully adaptive routing algorithm for 3D NoCs.” 2013 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing. IEEE, 2013.

附:全文写作mindmap

片上网络路由算法综述相关推荐

  1. ZigBee网络路由算法设计

    ZigBee技术是一种低功耗.低成本.低速率的无线通信技术.目前在工业领域.医学领域.军事领域.智能家居.道路监测.家庭自动化等方面有着良好的应用前景.ZigBee网络常用的路由算法有Cluster- ...

  2. 【超树+蝶形】基于的超树结构和蝶形运算单元的无线传感器网络路由算法FPGA实现详解

    1.单独的存储器模块的设计介绍 存储器模块,我们使用ISE的IP核进行设计,具体的设计步骤如下图所示:

  3. 片上网络NoC(一)—— 概述

    也许人们比较熟悉的是片上系统SoC(system-on-chip),却对片上网络NoC(networ-on-chip)相对陌生一点.其实可以简单的理解为NoC是SoC的"升级版"或 ...

  4. python距离向量路由算法_路由算法(全网最细)

    我在复习过程中整理的面试系列文章,全部免费分享给大家,适合保研和考研,需要的请移步我的个人原创公zhong号:程序员宝藏(号如其名,诚不欺你),回复关键字:复试上岸,即可获取! 正文开始 正文开始 1 ...

  5. 路由算法(全网最细)

    正文开始 文章目录 正文开始 @[toc] 1.路由算法综述 2.静态路由算法 3.距离-向量路由算法(RIP) 4.链路状态路由算法(OSPF) 5.层次路由 1.路由算法综述 路由器转发分组是通过 ...

  6. 贝叶斯网络推理算法简单罗列

    题目:贝叶斯网络推理算法简单罗列 上一篇<贝叶斯网络与最大可能解释(MPE)问题>理清了最大可能解释(Most Probable Explanation, MPE)的概念,接下来准备在MA ...

  7. 编程实现路由算法 实验报告_lt;中国通信专刊gt; EARS:用于软件定义网络中自动路由的智能驱动体验网络架构...

    题目:EARS:用于软件定义网络中自动路由的智能驱动体验网络架构 摘要:软件定义网络(SDN)通过将控制平面与数据平面解耦来适应逻辑集中的控制,并提供对网络资源的有效利用.但是,由于传统路由策略依赖于 ...

  8. 路由网址这是mvc时代系列之三:网络路由与ASP.NET MVC生命周期(上)路由网址

    首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 网络 路由途用是定决ASP.NET MVC应该以种哪方法输出网址并且返回给浏览器 .一般来说,跳转址地或者在View中表现超级链接时,都须要 ...

  9. 通信网络基础期末复习-第五章-路由算法

    写在前面:本文主要依据为<通信网络基础>李建东,盛敏编著,如有侵权,请联系作者删除.本文仅用于个人期末复习与知识结构的搭建. 文章目录 第五章 路由算法 5.1 路由算法概述 5.1.1路 ...

最新文章

  1. Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据
  2. python数字组合算法_面试宝典_Python.常规算法.0001.在圆圈和框框分别填入1~8数字各一次?...
  3. 【转载】关于RabbitMQ的消息确认
  4. 不是Linux文件系统的权限,Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)...
  5. ajax核心技术1---XMLHttpRequset对象的使用
  6. 关于如何学好前端开发,你需要知道的事!
  7. Spring RestTemplate: 比httpClient更优雅的Restful URL访问, java HttpPost with header
  8. 联调测试是什么意思_功能模块提测前注意这几件事,再也不怕被测试diss了
  9. 自然语言处理——句子的相似度
  10. git用SSH下载代码
  11. 使用C语言生成DAC的Sin正弦波数据表(一个周期采样32个)
  12. Ubuntu 20.4 安装 Notepad++
  13. react实现关于文本框的双向绑定
  14. 使用Spark MLlib进行情感分析
  15. PDF内容复制自动替换换行符
  16. 分享99个PHP源码,总有一款适合您
  17. 50G-PON,继10G PON之后的新一代PON技术
  18. 为什么谷歌会从零开始构建一个全新的操作系统?
  19. C++:this指针的简单理解
  20. 汇通达再度冲刺港交所上市:整体毛利率低下,已有股东提前退出

热门文章

  1. Pytorch 学习率衰减方法
  2. java后端工程师面试题(笔试):2022-11-04 经历(一)
  3. 小米 android微博授权管理工具下载,微博
  4. ubuntu 安装tar.gz文件
  5. 机器学习中baseline,benchmark,backbone的学习记录
  6. Intel8086处理器使用NASM汇编语言实现操作系统08-关于负数的相关处理idiv/cbw/cwde/cdqu/cwd/cdq/cdo/
  7. STM32F4的LED点灯
  8. 行内元素、块元素、行内块元素的区别
  9. 量化实战之银行零售资产分池
  10. 每日程序C语言37-圈子报数问题