CN103684961A - 自动构建无死锁互连 - Google Patents

自动构建无死锁互连 Download PDF

Info

Publication number
CN103684961A
CN103684961A CN201310389131.9A CN201310389131A CN103684961A CN 103684961 A CN103684961 A CN 103684961A CN 201310389131 A CN201310389131 A CN 201310389131A CN 103684961 A CN103684961 A CN 103684961A
Authority
CN
China
Prior art keywords
channel
route
deadlock
dependency
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310389131.9A
Other languages
English (en)
Other versions
CN103684961B (zh
Inventor
乔吉·菲利普
塞列什·库马尔
埃里克·诺里格
马哈穆德·哈桑
桑达里·米特拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NetSpeed Systems Inc
Original Assignee
NetSpeed Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NetSpeed Systems Inc filed Critical NetSpeed Systems Inc
Publication of CN103684961A publication Critical patent/CN103684961A/zh
Application granted granted Critical
Publication of CN103684961B publication Critical patent/CN103684961B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17312Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

本发明涉及自动构建无死锁互连。本发明描述了用于在多核系统中自动地建立无死锁的互通信网络的系统与方法。本文中描述的示例性实施方式包括在系统的各块之间映射用户指定的通信图期间检测死锁。然后,通过重新分配信道资源以避免检测到的死锁。死锁避免方案的示例性实施方式在用于大规模多核片上系统的片上网络互连上呈现。

Description

自动构建无死锁互连
技术领域
本文中描述的方法和示例性实施方式总体上是指互连体系结构,更具体地,是指片上网络系统互连体系结构。
背景技术
由于整体化、系统复杂性以及缩小晶体管几何尺寸的水平日渐提高,使得位于芯片上的的组件数量在迅速增长。复杂的片上系统(SoC)可以包括各种组件,例如,处理器核、DSP、硬件加速器、存储器以及I/O,而片上多核处理器(CMP)可以包括大量同质的处理器核、存储器以及I/O子系统。在两个系统中,片上系统互连对于在各个组件之间提供高性能的通信起到了关键的作用。由于基于互连的传统总线和交叉开关的可伸缩性限制,片上网络(NoC)已呈现为使芯片上的大量组件互连的范例。NoC是一种由使用点对点物理链路而彼此互连的几个路由节点组成的全局共享的通信基础设施。消息由源注入并且通过多个中间路由器和物理链路从源路由器路由至目的地。然后,目的地路由器将该消息发送并且将其提供至目的地。对于该文件的其余部分,术语“组件”、“模块”或者“核”可被互换地使用来指代使用NoC互连的各种系统组件。无损失地概括,具有多个互连组件的系统本身将被称为“多核系统”。
存在几个可能的拓扑,在该拓扑中,路由器可以彼此连接以建立系统网络。在相关技术中,双向环(如图1(a)所示)与2-D网格(如图1(b)所示)是拓扑示例。
数据包是用于在各种组件之间进行相互通信的消息传输单元。路由选择包括识别数据包从源发送至目的地所通过的路径,该路径是网络上的路由器和物理链路的集合。将组件连接到一个或多个路由器的一个或多个端口,其中每一个这样的端口都具有唯一的ID。数据包携带目的地路由器和端口ID以供中间路由器用来将数据包发送至目的组件。
路由选择技术的示例包括确定性路由选择,该确定性路由选择包括为每一个数据包选择从A到B的相同路径。这种形式的路由选择独立于网络状态并且不会在底层网络中存在的路径多样性之间进行负载平衡。然而,确定性路由选择对于在硬件中实施是简单的,保持数据包的排序并且易于摆脱网络级死锁。因为最短路径路由选择减少了从源至目的地的跳数,从而最短路径路由选择将延迟时间最小化。为此,该最短路径对于两个组件间的通信同样是最低功率路径。维序路由选择是一种在2D网格网络中存在的确定性最短路径路由选择的形式。
图2示出了二维网格中XY路由选择的示例。更具体地,图2示出了从节点“34”到节点“00”的XY路由选择。在图2的示例中,每个组件仅连接到一个路由器的一个端口。首先,数据包被路由在X维度上直到其到达节点“04”,其中,X维度与目的地相同。接着,数据包被路由在Y维度上直至其到达目的地。
源路由选择和使用表格的路由选择是用于NoC中的其他路由选择的选项。基于网络的状态,自适应路由选择可以动态地改变网络上两点之间所采用的路径。这种形式的路由选择对于分析和实施会很复杂,并且因此很少应用于实践中。
运行在大的多核系统上的软件应用在各种块之间产生复杂的互通信消息。这样的复杂的、并发的、多跳的块间通信可以导致互连时的死锁情形。当消息不能行进至其目的地时会在网络中发生死锁,因为它们等待彼此释放资源(例如,释放缓冲器以及信道)。由于阻塞的缓冲器所发生的死锁可以迅速地遍布于整个网络,这可能使系统更多的操作瘫痪。死锁广义上可以被分类为网络级死锁和协议级死锁。
如果在网络中的信道之间有循环依赖,则在网络中就可能发生死锁。图3示出了网络级死锁的示例。在图3的示例中,以将所有缓冲器清空的状态开始,同时块启动A→C、B→D、C→A以及D→B的消息传递。每个块控制其输出信道并且将消息向其目的地发送。在图3的示例中,每个信道每次仅能拥有一条消息。从这一点开始,每个信道等待下一个信道以将消息移动的更远。在等待图中有循环依赖并且网络变成死锁。通过使用无死锁路由选择或者虚拟路径的构造可以避免这样的网络层死锁或者低级死锁。
网络端点可能不是理想的接收器,即,直至一些当前未处理的数据包被处理它们才会接收所有到来的数据包。如果在未处理的数据包的处理期间需要发送新的数据包,会在模块的NoC发射信道和接收信道之间产生依赖性。基于消息序列、组件位置以及由各种消息所采用的路线,该依赖性会成为循环。如果死锁是由在网络层以外的依赖性引起的,则这被称之为高级别、协议或者应用级死锁。在相关领域的系统中,大多数的高级任务包括以特定的序列存在于NoC上的多个模块之间的消息流。这样互通信的多点序列会引入导致协议级死锁的复杂依赖性。死锁的根本原因依然是由存在于多个组件之间的相互依赖的消息所引入的信道依赖性循环。从网络上的一个端点到另一个端点的独立消息不会引起协议级死锁;然而,取决于网络上这种消息的路由选择,系统中仍然有可能发生网络级死锁。
图4(a)、图4(b)以及图5(a)至图5(c)示出协议级死锁的示例。考虑通过交叉开关(crossbar)连接至存储器与高速缓冲存储控制器的三个中央处理单元(CPU)系统的示例。用于互连的高速缓冲存储控制器的接口具有单个先入先出(FIFO)缓冲器,该缓冲器最大可保持三个消息。内部地,高速缓冲存储控制器可以同时处理高达两个请求(并且因此处理高达两个未处理的存储器的失败请求)。
在图4(a)中,所有三个CPU向高速缓冲存储控制器发送读取请求。
在图4(b)中,对高速缓冲存储控制器的读取请求从交叉开关而排队在输入缓冲器中。
在图5(a)中,高速缓冲存储控制器接受来自输入缓冲器的两个请求“1”与“2”而第三请求“3”依然保留在输入缓冲器中。“1”与“2”在高速缓冲存储器中发生读取失败,该高速缓冲存储器依次将失败补充请求“m1”、“m2”发送至存储器。
在图5(b)中,存储器返回补充数据“d1”、“d2”。这个数据在高速缓冲存储控制器的输入缓冲器中排列在“3”之后。
在图5(c)中,在接受新的请求“3”之前,高速缓冲存储控制器等待未处理的请求的补充数据。然而,补充数据被阻挡在该请求“3”的后面。因此,该系统发生死锁。
在该系统中,通过在该系统中部署额外的缓冲区,或者使用多个物理或者虚拟网络来用于不同消息类型,可以达到避免死锁的目的。通常,以手动的方式来避免死锁1)解释互通信消息序列与依赖性,2)然后,分配足够的缓冲器以及虚拟和/或物理信道以及3)为序列中的各种消息分派适当的信道。
在诸如因特网的大规模网络中,死锁很少被关注。诸如拥塞检测、超时、数据包丢失、确认和重传的机制提供死锁的解决方案。然而,在功率、范围以及速度方面,这种复杂的机制太昂贵以至于不能在互连网络上实施,其中,在该互连网络上最主要的需求是低延迟时间和高性能。在这种系统中,死锁避免成为了关键性的结构需求。
发明内容
本发明基于各种系统组件之间的互通消息的类型的给定说明,提出了摆脱网络级死锁和应用级死锁的系统互连的自动结构。还公开了处理过程的示例性实施方式,其中,在保持互连资源成本最小的同时可实现避免死锁。
根据本发明的实施方式,提供一种计算机实现的方法,包括:基于多核系统的信道,为所述多核系统自动构建互连信道的映射,以使所述多核系统免于死锁。
该方法进一步包括:在依赖图中,为所述多核系统的消息序列的区段的端点之间的路线中的链路分配一个信道;以及自动地检查所述依赖图中的循环依赖性。
该方法进一步包括,当没有检测到循环依赖性时:在所述映射的自动构建中包括为所述链路分配一个所述信道;如果所述路线未被完整地映射,利用所述依赖图中所分配的一个信道或为所述路线中的另一条链路新分配的信道;以及如果所述路线未被完整地映射,自动地检查所述依赖图中的循环依赖性。
该方法进一步包括,当检测到循环依赖性时:从所述依赖图中丢弃所分配的一个信道,以及为所述依赖图中的所述路线分配另一个可用的信道。
其中,重复所述分配和所述检查循环依赖性,直至所述序列被完整地映射或者直至所述信道全部被用尽。
其中,所述构建包括:接收包含死锁的所述多核系统的说明;自动地再分配信道直至解决所述死锁;以及基于所述再分配构建所述映射。
根据本发明的另一个实施方式,提供一种计算机可读存储介质,存储有用于实现方法的指令,所述指令包括:基于多核系统的信道,为所述多核系统自动地构建互连信道的映射,以使所述多核系统免于死锁。
其中,所述指令进一步包括:在依赖图中,为所述多核系统的序列的端点之间的路线中的链路分配一个信道;以及自动地检查所述依赖图中的循环依赖性。
其中,所述指令进一步包括,当没有检测到循环依赖性时:在所述映射的自动构建中包括为所述链路分配一个所述信道;如果所述路线未被完整地映射,利用所述依赖图中所分配的一个信道或为所述路线中的另一条链路新分配的信道;以及如果所述路线未被完整地映射,自动地检查所述依赖图中的循环依赖性。
其中,所述指令进一步包括,当检测到循环依赖性时:从所述依赖图中丢弃所分配的一个信道,以及为所述依赖图中的所述路线分配另一个可用的信道。
其中,重复所述分配和所述检查循环依赖性,直至所述序列被完整地映射或者直至所述信道全部被用尽。
其中,所述构建包括:接收包含死锁的所述多核系统的说明;自动地再分配信道直至解决所述死锁;以及基于所述再分配构建所述映射。
根据本发明的又一个实施方式,提供一种系统,包括:路线构建模块,被配置为基于多核系统的信道,自动地为所述多核系统构建互连信道的映射,以使所述多核系统免于死锁。
该系统进一步包括:分配模块,被配置为在依赖图中,为所述多核系统的序列的端点之间的路线中的链路分配一个信道;以及依赖性模块,被配置为自动地检查所述依赖图中的循环依赖性。
其中,所述路线构建模块被配置为:当通过所述依赖性模块没有检测到循环依赖性时,在所述映射的自动构建中包括为所述链路分配一个所述信道;如果所述路线未被完整地映射,指示所述分配模块利用所述依赖图中所分配的一个信道或为所述路线中的另一条链路新分配的信道;以及如果所述路线未被完整地映射,指示所述依赖性模块自动地检查所述依赖图中的循环依赖性。
其中,所述分配模块被配置为:当通过所述依赖性模块检测到循环依赖性时,从所述依赖图中丢弃所分配的一个信道,以及为所述依赖图中的所述路线分配另一个可用的信道。
其中,所述分配模块被配置为重复所述分配,并且其中,所述依赖性模块被配置为重复地检查循环依赖性,直至所述序列被完整地映射或者直至所述信道被全部用尽。
其中,所述路线构建模块被配置为通过以下步骤来自动地构建所述映射:接收包含死锁的所述多核系统的说明;指示所述分配模块自动地再分配信道直至解决所述死锁;以及基于所述再分配构建所述映射。
其中,所述信道包括物理信道与虚拟信道中的至少一个。
其中,所述路线构建模块进一步被配置为捕获所述多核系统的所有高级别依赖性。
附图说明
图1(a)和图1(b)示出了双向环和2D网格NoC拓扑。
图2示出了在二维网格中XY路由的示例。
图3示出了网络级死锁的示例。
图4(a)、图4(b)示出了具有三个向高速缓冲存储控制器发送读取请求的CPU的存储器子系统的示例。
图5(a)至图5(c)示出了在存储器子系统中导致协议级死锁的信息交换。
图6示出了在存储器子系统中高速缓冲存储器读取失败时的通信序列的示例。
图7(a)和图7(b)示出了存储器子系统中死锁的示例。
图8(a)和图8(b)示出了根据示例性实施方式的在存储器子系统中自动实施死锁避免的示例。
图9示出了根据示例性实施方式的在NoC上进行无死锁通信量映射的流程图。
图10示出了可以实现示例性实施方式的计算机系统的示例。
具体实施方式
由运行在大的多核系统上的应用程序所引入的复杂依赖性使得通过人工分析以确保无死锁运行来说是很困难的。本文中描述的示例性实施方式均基于为系统中特定的块间的通信模式自动地构造无死锁互连的概念。还公开了自动构建无死锁互连的过程的示例。
运行在多核系统上的应用通常在多个块之间产生几个相互依赖的消息序列,其中,在完成消息处理并在块释放资源以用于新的消息之前,到达块的消息必须为不同的块生成另一个消息。对于假设的示例,考虑在块A上运行的任务,其请求在块B上执行操作。一旦接收到请求消息,块B完成部分操作并且将部分结果发送到第三块C,第三块C进行操作的其他部分并且将部分结果发送到块D。块D执行合并以及将最终结果发送回块A。在块A上完成的操作需要生成消息序列并且在网络上的多个块之间交换消息序列。为了成功完成起始块上的任务的消息之间存在更高等级的依赖性。在中间块的网络接口处存在输入信道对块的输出信道的依赖性。这种信道依赖性中的任意循环均可导致系统中的协议级死锁。
为了检测多核系统中的潜在死锁,传统系统会采用半自动化分析。然而,人工地分析结果并且对互连进行适当的修改以避免潜在的死锁。
系统中的通信被全部指定以获取所有高等级的消息依赖性。然后,示例性实施方式对互连上的消息采用了整体的观察,分配信道资源,以及分配消息到已分配的信道资源以确保所产生的互连在网络级和协议级两者是无死锁的。示例性实施方式通过利用虚拟信道,移除了通信图中的循环资源依赖性。虚拟信道在连接两个端口的物理信道上提供逻辑链路。每个虚拟信道在网络节点中具有独立分配的并且流控制的片缓冲器。系统中每一个高等级通信需要被指定为多个块的分组端到端序列的形式,消息在该多个块之间流动。在上述提供的假设的示例中,序列可表示为A→B→C→D→A。网络上介于每一个源-目的地对之间的路由选择路径(即,组成上述序列的区段)被制作成可用在示例性实施方式中的算法中,或者算法自动地判定以避免死锁。
示例性实施方式的流程以最复杂的消息序列开始,并且使用其在网络上的路由路径来创建信道依赖性图。示例性实施方式使用物理链路上的最低虚拟信道ID,并且随后渐进的获取不太复杂的消息序列并且继续将它们的路线映射(map,绘制)到现有的全局信道依赖性图中。当映射两个块之间的路径时,如果在依赖性图中检测到循环,则示例性实施方式由原路返回并且通过利用路径上的下一个最高虚拟信道ID重新映射包含依赖性的区段,以将循环从依赖性图中移除。通常,首先,示例性实施方式试图以信道ID值递增顺序映射任意预分配的虚拟信道,并且如果没有其他的预分配虚拟信道仍然保留在该路径上,同样以信道ID值递增的顺序分配空闲的虚拟信道ID。这个处理过程继续直到所有特定的消息序列的网络路线没有任何循环地映射到全局图上。如果不能以限定数目的可用虚拟信道实现特定的系统消息的无死锁映射,则该算法中止尝试。在以下示例与图9的流程图中提供了更多的细节。该方案的其他变形也是可行的。例如,代替为消息序列的区段的端点之间的路线的所有物理链路使用相同的虚拟信道,可以在路线的每个物理链路上使用不同的虚拟信道。为了减少虚拟信道的使用,或者为了在保持死锁避免的同时的负荷平衡,算法同样可以尝试为不同的消息使用不同的路线。
在系统示例中,CPU与包括高速缓冲存储器和外部DRAM存储器的存储器子系统通信。CPU发送在高速缓冲存储器中发生读取失败的读取请求。因此,高速缓冲存储控制器将读取补充请求发送至外部的存储器控制器。补充数据从存储器返回到高速缓冲存储控制器,其反过来又将读取响应发送至CPU。
图6示出了高速缓冲存储器上的通信序列读取失败的示例。上述描述的通信模式示例被表示为如图6所示的序列。在高速缓冲存储器读取失败的序列示例中,读取请求600从CPU(A)发送至高速缓冲存储器(B)。在高速缓冲存储器(B)处,发生高速缓冲存储器读取失败并且产生读取补充请求601,该读取补充请求601继续前进到存储器(C)。在存储器(C)处,产生读取补充响应602并且将其发送回高速缓冲存储器(B)。然后,高速缓冲存储器(B)将读取响应603发送回CPU(A)。
图7(a)和图7(b)示出了存储器子系统中死锁的示例。具体地,图7(a)示出了其中通过物理链路将CPU、高速缓冲存储器以及存储器互连的简单拓扑。网络上的每一个物理链路被假定为具有单个虚拟信道。图7(b)示出了对于上面的通信序列的可能信道依赖性图。具体地,基于图7(a)中的物理链路,在图7(b)中示出了如图6中所描述的高度缓冲存储器上的通信序列的读取失败。该图包含指示潜在的应用级死锁的循环。例如,在高速缓冲存储器(B)接收来自于存储器(C)的响应之前,当CPU(A)通过物理信道c将随后的读取请求消息发送至高速缓冲存储器(B)时,由于早期的补充请求通过相同物理的信道,故会发生死锁。从而,高速缓冲存储器(B)成为死锁,因为其在不首先处理其未处理的补充请求的情况下,是不能处理来自于CPU(A)的后来的读取请求消息的,并且不能处理未处理的补充请求,因为来自于存储器(C)的补充请求的响应在物理信道c的队列中,该响应位于后来的读取请求消息之后。类似地,当高速缓冲存储器(B)试图通过物理信道d返回来自于CPU(A)的消息的响应,但是在存储器(C)没处理完先前从高速缓冲存储器(B)发送至存储器(C)的消息的情况下是不能通过该信道发送消息时,就会发生死锁。
图8(a)和图8(b)示出了根据示例性实施方式的在图6的示例系统中实施的自动死锁避免。如图8(a)所示,在通信区段A→B与B→C上利用虚拟信道ID0而没有发现任何死锁。然而,当子系统试图在VC ID0上映射区段C→B时,检测到环路(例如,如图7(b)所描绘的由于死锁所导致的物理信道c)。子系统向后沿着路线前进并且试图使用VC ID1(离开未使用的VC ID0)重新映射C→B路径,该VC ID1在该图中不会引起任何循环。子系统以VC ID0开始继续前进以映射路径B→A,该VC ID0在该图中引起循环(例如,如图7(b)中所描绘的由于死锁的物理信道d)。于是子系统尝试VC ID1,该VC ID1在图中没有循环地成功映射。因此,子系统成功地映射了整个通信序列同时避免了潜在死锁。
图9示出了根据示例性实施方式的用于在NoC上进行无死锁通信量映射的流程图。在如图9所示的实施方式中,在900,系统选择用户指定的消息序列(例如,接收来自用户的消息序列)。在901,系统选择网络端点以限定序列的区段。在902,系统基于路由选择方案选择区段的端点之间的路线。在903,内部计数器可被从零设置以计数被试验用以映射特定的通信量的可用虚拟信道的数量。在904,系统利用由计数器指示的下一个可用虚拟信道,以将路线上的链路添加至全局信道依赖性图。在905,系统检查(例如,自动地)当前的依赖性图中的循环依赖性。在906,如果检测到循环,那么系统前进到907以从依赖性图中移除并且重置消息序列的当前区段。然后,系统前进到908,以将计数器递增到下一个可用的虚拟信道,并且在909,确定是否所有可用的虚拟信道都已经用尽。如果可用的虚拟信道没有用尽,则系统返回到904。然而,如果已经尝试了所有可用的虚拟信道,那么系统前进到910以结束该处理并且指示(例如,给用户消息)指定通信量不能用可用的虚拟信道映射。
如果未检测到循环,那么系统前进到911以确定当前区段是否被完全地映射。如果当前区段没有被完全地映射,那么系统前进到904以利用虚拟信道(由计数器指示的)在路线上添加下一条链路。
如果当前区段被完全地映射,那么系统前进到912以确定当前序列是否已经被完全地映射。如果当前序列没有被完全地映射,那么系统前进到901以为该序列的下一个区段选择端点。
如果当前序列已经被完全地映射,那么系统前进到913以确定是否所有的序列都已经被完全地映射。如果没有完全地映射所有的序列,那么系统前进到900以使用来自于用户说明的下一个消息序列。如果已经完全地映射所有的序列,则系统前进到914以表明(例如,向用户发送消息)特定通信量的可能无死锁映射。
图10示出了可以实现示例性实施方式的示例计算机系统1000。该计算机系统1000包括服务器1005,服务器1005可以包括输入/输出单元1035、存储器1060以及可操作以执行本领域的技术人员所熟知的一个或多个单元的处理器1010。本文中使用的术语“计算机可读介质”指的是参与向处理器1010提供用于执行的指令的任何介质(该介质可以以诸如的形式存在,计算机可读存储介质诸如有但并不限于光盘、磁盘、只读存储器、随机存取存储器、固态装置以及驱动器);或者适用于存储电子信息的任何其他类型切实的介质;或者可以包括诸如载波的临时介质的计算机可读信号介质。输入/输出单元对来自用户界面1040和操作员界面1045的输入进行处理,用户界面1040和操作员界面1045可利用诸如键盘、鼠标、触摸装置或者口令的输入设备。
服务器1005也可以连接至外部存储器1050,该外部存储器1050可以包括诸如便携式硬盘驱动器、光学介质(CD或者DVD)、磁盘介质或者计算机读取可执行代码所在的任何其他介质的可移动式存储器。服务器还可以连接诸如显示器的输出设备1055以输出数据以及其他信息至用户,以及向用户请求附加信息。从服务器1055至用户界面1040、操作员界面1045、外部存储器1050以及输出装置1055的连接可经由诸如802.11标准、蓝牙
Figure BDA0000375361670000131
或者蜂窝协议的无线协议,或者经由诸如电缆或者光纤的物理传输介质。因此,该输出设备1055可以进一步充当用于与用户交互的输入设备。
处理器1010可以执行一个或多个模块。路线构建模块1011被配置为自动地构建包括互连的物理链路的路径,该路径用于在多核系统中将消息从源块发送到目的地块。虚拟信道分配模块1012可以被配置为为链路分配可用虚拟信道中的一个并将其添加至全局信道依赖性图中,所述链路位于多核系统的消息序列中的区段的端点之间的路线中。依赖性模块1013可以被配置为通过检测信道依赖性图中的环路自动地检测信道之间的循环依赖性。
取决于想要的实施方式,路线构建模块1011、虚拟信道分配模块1012以及依赖性模块1013可以以不同的方式彼此相互作用。例如,路线构建模块1011可以选择网络端点以限定序列的区段,并且基于路由方案、基于负荷平衡、基于资源最小化或者其他可能的因素,选择区段的端点之间的路线。虚拟信道分配模块1012可以从零设置内部计数器以计算被试验用以映射特定通信量的可用的虚拟信道的数量。虚拟信道分配模块可以基于资源共享与最小化、负荷平衡或者其他可能的因素分配虚拟信道。
路线构建模块1011可指示虚拟信道分配模块1012利用下一个可用的虚拟信道(例如,由虚拟信道分配模块中的计数器指示),以将路线上的链路增加到全局信道依赖性图中。然而,路线构建模块1011可以指示依赖性模块1013检查(例如,自动地)当前依赖性图中的循环依赖性。如果依赖性模块1013检测到依赖性,则路线构建模块1011可从依赖性图中移除并且重置消息序列的当前区段,其中,虚拟信道分配模块1012可以使计数器累加至下一个可用的虚拟信道,并且检查可用的虚拟信道是否用尽。如果已经尝试了所有可用的虚拟信道,那么路线构建模块1011会终止并且指示(例如,向用户发送消息)指定通信量不能以可用的虚拟信道作为路线(map映射)。
如果依赖性模块1013没有检测到循环,那么路线构建模块1011可以确定当前区段是否被完全地映射。如果确定当前区段没有被完全地映射,那么路线构建模块1011尝试利用已分配的虚拟信道来在路线上添加下一个链路,并且再核查依赖性。
如果确定当前区段被完全地映射,那么路线构建模块1011可以确定当前序列是否已经被完全地映射。如果确定当前序列没有被完全地映射,那么路线构建模块1011会进行至为序列的下一个区段选择端点并且基于路由选择方案尝试在新的端点之间选择另一个路线。
如果确定当前序列被完全地映射,那么路线构建模块确定所有的序列是否已被完全地映射。如果确定没有完全地映射所有的序列,那么路线构建模块1011从用户说明中选择下一个消息序列并且尝试映射下一个消息序列。如果确定已完全地映射所有的序列,那么路线构建模块1011可以指示(例如,向用户发送消息)特定通信量的可能无死锁映射。
路线构建模块通过被配置为接收包含死锁的多核系统的说明;指示分配模块1012自动地重新分配虚拟信道直至解决死锁;并且基于重新分配来构建映射,也可进行映射的自动构建。
此外,根据在计算机内操作的算法和符号表示法来提供详细描述的一些部分。这些算法描述与符号表示法是在数据处理领域的技术人员使用的手段以最有效地向本领域的其他技术人员传达他们新技术的本质。算法是用于产生想要的最终状态或结果的一系列限定的步骤。在示例性实施方式中,为了达到切实的结果,步骤的执行需要切实数量的物理操作。
此外,根据本文公开的说明书的描述以及示例性实施方式的实践,示例性实施方式的其他实施方式对于本领域中的技术人员是显而易见的。所描述的示例性实施方式的各个方面和/或组件可以单独使用或者以任意组合使用。说明书与示例旨在被认为是示例,具有由所附权利要求指示的实施方式的真实范围与精神。

Claims (10)

1.一种计算机实现的方法,包括:
基于多核系统的信道,为所述多核系统自动构建互连信道的映射,以使所述多核系统免于死锁。
2.根据权利要求1所述的方法,进一步包括:
在依赖图中,为所述多核系统的消息序列的区段的端点之间的路线中的链路分配一个信道;以及
自动地检查所述依赖图中的循环依赖性。
3.根据权利要求2所述的方法,进一步包括,当没有检测到循环依赖性时:
在所述映射的自动构建中包括为所述链路分配一个所述信道;
如果所述路线未被完整地映射,利用所述依赖图中所分配的一个信道或为所述路线中的另一条链路新分配的信道;以及
如果所述路线未被完整地映射,自动地检查所述依赖图中的循环依赖性;以及
当检测到循环依赖性时:
从所述依赖图中丢弃所分配的一个信道,以及
为所述依赖图中的所述路线分配另一个可用的信道。
4.根据权利要求1所述的方法,其中,所述构建包括:
接收包含死锁的所述多核系统的说明;
自动地再分配信道直至解决所述死锁;以及
基于所述再分配构建所述映射。
5.一种系统,包括:
路线构建模块,被配置为基于多核系统的信道,自动地为所述多核系统构建互连信道的映射,以使所述多核系统免于死锁。
6.根据权利要求5所述的系统,进一步包括:
分配模块,被配置为在依赖图中,为所述多核系统的序列的端点之间的路线中的链路分配一个信道;以及
依赖性模块,被配置为自动地检查所述依赖图中的循环依赖性。
7.根据权利要求6所述的系统,其中,所述路线构建模块被配置为:当通过所述依赖性模块没有检测到循环依赖性时,
在所述映射的自动构建中包括为所述链路分配一个所述信道;
如果所述路线未被完整地映射,指示所述分配模块利用所述依赖图中所分配的一个信道或为所述路线中的另一条链路新分配的信道;以及
如果所述路线未被完整地映射,指示所述依赖性模块自动地检查所述依赖图中的循环依赖性。
8.根据权利要求6所述的系统,其中,所述分配模块被配置为:当通过所述依赖性模块检测到循环依赖性时,
从所述依赖图中丢弃所分配的一个信道,以及
为所述依赖图中的所述路线分配另一个可用的信道。
9.根据权利要求6所述的系统,其中,所述分配模块被配置为重复所述分配,并且其中,所述依赖性模块被配置为重复地检查循环依赖性,直至所述序列被完整地映射或者直至所述信道被全部用尽。
10.根据权利要求5所述的系统,其中,所述路线构建模块被配置为通过以下步骤来自动地构建所述映射:
接收包含死锁的所述多核系统的说明;
指示所述分配模块自动地再分配信道直至解决所述死锁;以及
基于所述再分配构建所述映射。
CN201310389131.9A 2012-08-30 2013-08-30 自动构建无死锁互连 Expired - Fee Related CN103684961B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/599,559 US9244880B2 (en) 2012-08-30 2012-08-30 Automatic construction of deadlock free interconnects
US13/599,559 2012-08-30

Publications (2)

Publication Number Publication Date
CN103684961A true CN103684961A (zh) 2014-03-26
CN103684961B CN103684961B (zh) 2018-03-27

Family

ID=50189084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310389131.9A Expired - Fee Related CN103684961B (zh) 2012-08-30 2013-08-30 自动构建无死锁互连

Country Status (2)

Country Link
US (1) US9244880B2 (zh)
CN (1) CN103684961B (zh)

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819616B2 (en) 2012-10-23 2014-08-26 Netspeed Systems Asymmetric mesh NoC topologies
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US8934377B2 (en) 2013-03-11 2015-01-13 Netspeed Systems Reconfigurable NoC for customizing traffic and optimizing performance after NoC synthesis
US9007920B2 (en) 2013-01-18 2015-04-14 Netspeed Systems QoS in heterogeneous NoC by assigning weights to NoC node channels and using weighted arbitration at NoC nodes
US9009648B2 (en) 2013-01-18 2015-04-14 Netspeed Systems Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US9054977B2 (en) 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
US9130856B2 (en) 2013-01-28 2015-09-08 Netspeed Systems Creating multiple NoC layers for isolation or avoiding NoC traffic congestion
US9160627B2 (en) 2013-04-04 2015-10-13 Netspeed Systems Multiple heterogeneous NoC layers
US9158882B2 (en) 2013-12-19 2015-10-13 Netspeed Systems Automatic pipelining of NoC channels to meet timing and/or performance
US9185023B2 (en) 2013-05-03 2015-11-10 Netspeed Systems Heterogeneous SoC IP core placement in an interconnect to optimize latency and interconnect performance
US9185026B2 (en) 2012-12-21 2015-11-10 Netspeed Systems Tagging and synchronization for fairness in NOC interconnects
US9223711B2 (en) 2013-08-13 2015-12-29 Netspeed Systems Combining associativity and cuckoo hashing
US9244880B2 (en) 2012-08-30 2016-01-26 Netspeed Systems Automatic construction of deadlock free interconnects
US9244845B2 (en) 2014-05-12 2016-01-26 Netspeed Systems System and method for improving snoop performance
US9253085B2 (en) 2012-12-21 2016-02-02 Netspeed Systems Hierarchical asymmetric mesh with virtual routers
US9294354B2 (en) 2013-10-24 2016-03-22 Netspeed Systems Using multiple traffic profiles to design a network on chip
US9319232B2 (en) 2014-04-04 2016-04-19 Netspeed Systems Integrated NoC for performing data communication and NoC functions
US9444702B1 (en) 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9473359B2 (en) 2014-06-06 2016-10-18 Netspeed Systems Transactional traffic specification for network-on-chip design
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US9477280B1 (en) 2014-09-24 2016-10-25 Netspeed Systems Specification for automatic power management of network-on-chip and system-on-chip
US9529400B1 (en) 2014-10-29 2016-12-27 Netspeed Systems Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US9535848B2 (en) 2014-06-18 2017-01-03 Netspeed Systems Using cuckoo movement for improved cache coherency
US9571402B2 (en) 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US9568970B1 (en) 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9762474B2 (en) 2014-04-07 2017-09-12 Netspeed Systems Systems and methods for selecting a router to connect a bridge in the network on chip (NoC)
US9774498B2 (en) 2012-12-21 2017-09-26 Netspeed Systems Hierarchical asymmetric mesh with virtual routers
US9781043B2 (en) 2013-07-15 2017-10-03 Netspeed Systems Identification of internal dependencies within system components for evaluating potential protocol level deadlocks
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US9830265B2 (en) 2013-11-20 2017-11-28 Netspeed Systems, Inc. Reuse of directory entries for holding state information through use of multiple formats
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US10027433B2 (en) 2013-06-19 2018-07-17 Netspeed Systems Multiple clock domains in NoC
US10042404B2 (en) 2014-09-26 2018-08-07 Netspeed Systems Automatic generation of power management sequence in a SoC or NoC
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10419300B2 (en) 2017-02-01 2019-09-17 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10528682B2 (en) 2014-09-04 2020-01-07 Netspeed Systems Automatic performance characterization of a network-on-chip (NOC) interconnect
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US10735335B2 (en) 2016-12-02 2020-08-04 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10860762B2 (en) 2019-07-11 2020-12-08 Intel Corpration Subsystem-based SoC integration
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
CN113642275A (zh) * 2020-05-11 2021-11-12 阿特里斯公司 用于无死锁变换的片上网络的综合的系统和方法
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9160607B1 (en) * 2012-11-09 2015-10-13 Cray Inc. Method and apparatus for deadlock avoidance
CN105099904B (zh) * 2014-04-30 2018-06-05 华为技术有限公司 一种确定中间路由节点的方法、装置及系统
US10200482B2 (en) * 2014-10-24 2019-02-05 The Boeing Company Mapping network service dependencies
US10657216B2 (en) * 2016-02-29 2020-05-19 Oregon State University Routerless networks-on-chip
CN111382115B (zh) * 2018-12-28 2022-04-15 北京灵汐科技有限公司 一种用于片上网络的路径创建方法、装置及电子设备
US11245643B2 (en) 2020-05-20 2022-02-08 Tenstorrent Inc. Speculative resource allocation for routing on interconnect fabrics
CN113076129B (zh) * 2021-03-23 2023-11-28 成都安恒信息技术有限公司 一种复杂配置依赖关系自动检查处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308477A (zh) * 2008-06-13 2008-11-19 华为技术有限公司 系统总线的防死锁方法、装置及片上系统
US20100158023A1 (en) * 2008-12-23 2010-06-24 Suvhasis Mukhopadhyay System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions
US20120159037A1 (en) * 2010-12-17 2012-06-21 Kwon Woo Cheol Memory interleaving device and method using reorder buffer
CN102546406A (zh) * 2011-12-28 2012-07-04 龙芯中科技术有限公司 片上网络路由集中控制系统和装置及自适应路由控制方法

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933933A (en) * 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip
US5742738A (en) * 1988-05-20 1998-04-21 John R. Koza Simultaneous evolution of the architecture of a multi-part program to solve a problem using architecture altering operations
US5404461A (en) * 1991-03-29 1995-04-04 International Business Machines Corp. Broadcast/switching apparatus for executing broadcast/multi-cast transfers over unbuffered asynchronous switching networks
US5355455A (en) * 1991-11-19 1994-10-11 International Business Machines Corporation Method and apparatus for avoiding deadlock in a computer system with two or more protocol-controlled buses interconnected by a bus adaptor
WO1994009576A1 (en) 1992-10-21 1994-04-28 Bell Communications Research, Inc. A broadband virtual private network service and system
JPH08185380A (ja) * 1994-12-28 1996-07-16 Hitachi Ltd 並列計算機
US5701416A (en) * 1995-04-13 1997-12-23 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
US5859981A (en) * 1995-07-12 1999-01-12 Super P.C., L.L.C. Method for deadlock-free message passing in MIMD systems using routers and buffers
US5764740A (en) 1995-07-14 1998-06-09 Telefonaktiebolaget Lm Ericsson System and method for optimal logical network capacity dimensioning with broadband traffic
US5991308A (en) 1995-08-25 1999-11-23 Terayon Communication Systems, Inc. Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
US5961623A (en) * 1996-08-29 1999-10-05 Apple Computer, Inc. Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system
US6003029A (en) 1997-08-22 1999-12-14 International Business Machines Corporation Automatic subspace clustering of high dimensional data for data mining applications
US6101181A (en) * 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
KR100250437B1 (ko) * 1997-12-26 2000-04-01 정선종 라운드로빈 중재 및 적응 경로 제어를 수행하는경로제어 장치
US6249902B1 (en) 1998-01-09 2001-06-19 Silicon Perspective Corporation Design hierarchy-based placement
US6415282B1 (en) 1998-04-22 2002-07-02 Nec Usa, Inc. Method and apparatus for query refinement
US6711152B1 (en) 1998-07-06 2004-03-23 At&T Corp. Routing over large clouds
US6968514B2 (en) 1998-09-30 2005-11-22 Cadence Design Systems, Inc. Block based design methodology with programmable components
US6888843B2 (en) * 1999-09-17 2005-05-03 Advanced Micro Devices, Inc. Response virtual channel for handling all responses
US6356900B1 (en) 1999-12-30 2002-03-12 Decode Genetics Ehf Online modifications of relations in multidimensional processing
CA2359168A1 (en) 2000-10-25 2002-04-25 John Doucette Design of meta-mesh of chain sub-networks
GB0118294D0 (en) * 2001-07-27 2001-09-19 Ibm Method and system for deadlock detection and avoidance
US20030145314A1 (en) * 2002-01-31 2003-07-31 Khoa Nguyen Method of efficient dynamic data cache prefetch insertion
US7096459B2 (en) * 2002-09-11 2006-08-22 International Business Machines Corporation Methods and apparatus for root cause identification and problem determination in distributed systems
US6925627B1 (en) 2002-12-20 2005-08-02 Conexant Systems, Inc. Method and apparatus for power routing in an integrated circuit
US8281297B2 (en) 2003-02-05 2012-10-02 Arizona Board Of Regents Reconfigurable processing
US20040257993A1 (en) * 2003-03-26 2004-12-23 Olav Lysne Method and device for network reconfiguration
US7065730B2 (en) 2003-04-17 2006-06-20 International Business Machines Corporation Porosity aware buffered steiner tree construction
US7318214B1 (en) 2003-06-19 2008-01-08 Invarium, Inc. System and method for reducing patterning variability in integrated circuit manufacturing through mask layout corrections
US7725859B1 (en) 2003-08-01 2010-05-25 Cadence Design Systems, Inc. Methods and mechanisms for inserting metal fill data
US7518990B2 (en) 2003-12-26 2009-04-14 Alcatel Lucent Usa Inc. Route determination method and apparatus for virtually-concatenated data traffic
US20050201356A1 (en) * 2004-03-11 2005-09-15 Yasuyuki Miura Adaptive routing for hierarchical interconnection network
US7219178B2 (en) * 2004-09-30 2007-05-15 Arm Limited Bus deadlock avoidance
KR100674933B1 (ko) 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
US8059551B2 (en) 2005-02-15 2011-11-15 Raytheon Bbn Technologies Corp. Method for source-spoofed IP packet traceback
US20060281221A1 (en) 2005-06-09 2006-12-14 Sharad Mehrotra Enhanced routing grid system and method
US7603644B2 (en) 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
US7343581B2 (en) 2005-06-27 2008-03-11 Tela Innovations, Inc. Methods for creating primitive constructed standard cells
JP3938387B2 (ja) * 2005-08-10 2007-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ、制御方法、およびコンパイラ・プログラム
US7693064B2 (en) * 2005-10-24 2010-04-06 Cisco Technology, Inc. Forwarding packets to a directed acyclic graph destination using link selection based on received link metrics
JP2007149061A (ja) 2005-10-31 2007-06-14 Seiko Epson Corp レイアウトシステムおよびレイアウトプログラム、並びにレイアウト方法
US7289933B2 (en) 2005-11-04 2007-10-30 Synopsys, Inc. Simulating topography of a conductive material in a semiconductor wafer
US7904892B2 (en) * 2006-01-06 2011-03-08 Northrop Grumman Corporation Systems and methods for identifying and displaying dependencies
US20070244676A1 (en) 2006-03-03 2007-10-18 Li Shang Adaptive analysis methods
US8448102B2 (en) 2006-03-09 2013-05-21 Tela Innovations, Inc. Optimizing layout of irregular structures in regular layout context
US20070256044A1 (en) 2006-04-26 2007-11-01 Gary Coryer System and method to power route hierarchical designs that employ macro reuse
WO2008005102A2 (en) 2006-05-13 2008-01-10 Sap Ag Consistent set of interfaces derived from a business object model
JP2007311491A (ja) 2006-05-17 2007-11-29 Toshiba Corp 半導体集積回路
US20080072182A1 (en) 2006-09-19 2008-03-20 The Regents Of The University Of California Structured and parameterized model order reduction
EP2080128A1 (en) 2006-10-10 2009-07-22 Ecole Polytechnique Federale De Lausanne (Epfl) Method to design network-on-chip (noc)-based communication systems
US9053072B2 (en) * 2007-01-25 2015-06-09 Hewlett-Packard Development Company, L.P. End node transactions at threshold-partial fullness of storage space
WO2008126516A1 (ja) 2007-04-10 2008-10-23 Naoki Suehiro 送信方法、送信装置、受信方法及び受信装置
US7724674B2 (en) * 2007-05-16 2010-05-25 Simula Innovations As Deadlock free network routing
US7809006B2 (en) * 2007-08-16 2010-10-05 D. E. Shaw Research, Llc Routing with virtual channels
US8136071B2 (en) 2007-09-12 2012-03-13 Neal Solomon Three dimensional integrated circuits and methods of fabrication
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
TWI390869B (zh) 2008-04-24 2013-03-21 Univ Nat Taiwan 網路資源分配系統及方法
JP4607254B2 (ja) 2008-06-12 2011-01-05 パナソニック株式会社 ネットワーク監視装置、バスシステム監視装置、方法、およびプログラム
US8050256B1 (en) 2008-07-08 2011-11-01 Tilera Corporation Configuring routing in mesh networks
US8255849B1 (en) 2008-12-08 2012-08-28 Cadence Design Systems, Inc. Solver for modeling a multilayered integrated circuit with three-dimensional interconnects
US8065433B2 (en) 2009-01-09 2011-11-22 Microsoft Corporation Hybrid butterfly cube architecture for modular data centers
US8285912B2 (en) 2009-08-07 2012-10-09 Arm Limited Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure
US8276105B2 (en) 2009-09-18 2012-09-25 International Business Machines Corporation Automatic positioning of gate array circuits in an integrated circuit design
US8407647B2 (en) 2009-12-17 2013-03-26 Springsoft, Inc. Systems and methods for designing and making integrated circuits with consideration of wiring demand ratio
US8541819B1 (en) 2010-12-09 2013-09-24 Monolithic 3D Inc. Semiconductor device and structure
US8492886B2 (en) 2010-02-16 2013-07-23 Monolithic 3D Inc 3D integrated circuit with logic
US20130080073A1 (en) 2010-06-11 2013-03-28 Waters Technologies Corporation Techniques for mass spectrometry peak list computation using parallel processing
US8196086B2 (en) 2010-07-21 2012-06-05 Lsi Corporation Granular channel width for power optimization
US9396162B2 (en) 2010-07-22 2016-07-19 John APPLEYARD Method and apparatus for estimating the state of a system
CN102467582B (zh) 2010-10-29 2014-08-13 国际商业机器公司 一种集成电路设计中优化连线约束的方法和系统
US9397933B2 (en) 2010-12-21 2016-07-19 Verizon Patent And Licensing Inc. Method and system of providing micro-facilities for network recovery
US8717875B2 (en) 2011-04-15 2014-05-06 Alcatel Lucent Condensed core-energy-efficient architecture for WAN IP backbones
US8711867B2 (en) 2011-08-26 2014-04-29 Sonics, Inc. Credit flow control scheme in a router with flexible link widths utilizing minimal storage
US9213788B2 (en) 2011-10-25 2015-12-15 Massachusetts Institute Of Technology Methods and apparatus for constructing and analyzing component-based models of engineering systems
US20130151215A1 (en) 2011-12-12 2013-06-13 Schlumberger Technology Corporation Relaxed constraint delaunay method for discretizing fractured media
JP2013125906A (ja) 2011-12-15 2013-06-24 Toshiba Corp フレアマップ計算方法、フレアマップ算出プログラムおよび半導体装置の製造方法
US20130174113A1 (en) 2011-12-30 2013-07-04 Arteris SAS Floorplan estimation
US9070121B2 (en) 2012-02-14 2015-06-30 Silver Spring Networks, Inc. Approach for prioritizing network alerts
US9111151B2 (en) 2012-02-17 2015-08-18 National Taiwan University Network on chip processor with multiple cores and routing method thereof
US8756541B2 (en) 2012-03-27 2014-06-17 International Business Machines Corporation Relative ordering circuit synthesis
US9379971B2 (en) * 2012-05-11 2016-06-28 Simula Inovation AS Method and apparatus for determining paths between source/destination pairs
US8635577B2 (en) 2012-06-01 2014-01-21 International Business Machines Corporation Timing refinement re-routing
US9244880B2 (en) 2012-08-30 2016-01-26 Netspeed Systems Automatic construction of deadlock free interconnects
US20140092740A1 (en) 2012-09-29 2014-04-03 Ren Wang Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US8601423B1 (en) 2012-10-23 2013-12-03 Netspeed Systems Asymmetric mesh NoC topologies
US8667439B1 (en) 2013-02-27 2014-03-04 Netspeed Systems Automatically connecting SoCs IP cores to interconnect nodes to minimize global latency and reduce interconnect cost

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101308477A (zh) * 2008-06-13 2008-11-19 华为技术有限公司 系统总线的防死锁方法、装置及片上系统
US20100158023A1 (en) * 2008-12-23 2010-06-24 Suvhasis Mukhopadhyay System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions
US20120159037A1 (en) * 2010-12-17 2012-06-21 Kwon Woo Cheol Memory interleaving device and method using reorder buffer
CN102546406A (zh) * 2011-12-28 2012-07-04 龙芯中科技术有限公司 片上网络路由集中控制系统和装置及自适应路由控制方法

Cited By (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244880B2 (en) 2012-08-30 2016-01-26 Netspeed Systems Automatic construction of deadlock free interconnects
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US10355996B2 (en) 2012-10-09 2019-07-16 Netspeed Systems Heterogeneous channel capacities in an interconnect
US8819611B2 (en) 2012-10-23 2014-08-26 Netspeed Systems Asymmetric mesh NoC topologies
US8819616B2 (en) 2012-10-23 2014-08-26 Netspeed Systems Asymmetric mesh NoC topologies
US9185026B2 (en) 2012-12-21 2015-11-10 Netspeed Systems Tagging and synchronization for fairness in NOC interconnects
US9774498B2 (en) 2012-12-21 2017-09-26 Netspeed Systems Hierarchical asymmetric mesh with virtual routers
US9253085B2 (en) 2012-12-21 2016-02-02 Netspeed Systems Hierarchical asymmetric mesh with virtual routers
US9007920B2 (en) 2013-01-18 2015-04-14 Netspeed Systems QoS in heterogeneous NoC by assigning weights to NoC node channels and using weighted arbitration at NoC nodes
US9009648B2 (en) 2013-01-18 2015-04-14 Netspeed Systems Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US9130856B2 (en) 2013-01-28 2015-09-08 Netspeed Systems Creating multiple NoC layers for isolation or avoiding NoC traffic congestion
US8934377B2 (en) 2013-03-11 2015-01-13 Netspeed Systems Reconfigurable NoC for customizing traffic and optimizing performance after NoC synthesis
US9160627B2 (en) 2013-04-04 2015-10-13 Netspeed Systems Multiple heterogeneous NoC layers
US9185023B2 (en) 2013-05-03 2015-11-10 Netspeed Systems Heterogeneous SoC IP core placement in an interconnect to optimize latency and interconnect performance
US10554496B2 (en) 2013-05-03 2020-02-04 Netspeed Systems Heterogeneous SoC IP core placement in an interconnect to optimize latency and interconnect performance
US9571402B2 (en) 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
US10027433B2 (en) 2013-06-19 2018-07-17 Netspeed Systems Multiple clock domains in NoC
US9781043B2 (en) 2013-07-15 2017-10-03 Netspeed Systems Identification of internal dependencies within system components for evaluating potential protocol level deadlocks
US10496770B2 (en) 2013-07-25 2019-12-03 Netspeed Systems System level simulation in Network on Chip architecture
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9054977B2 (en) 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US9223711B2 (en) 2013-08-13 2015-12-29 Netspeed Systems Combining associativity and cuckoo hashing
US9294354B2 (en) 2013-10-24 2016-03-22 Netspeed Systems Using multiple traffic profiles to design a network on chip
US9830265B2 (en) 2013-11-20 2017-11-28 Netspeed Systems, Inc. Reuse of directory entries for holding state information through use of multiple formats
US9563735B1 (en) 2013-12-19 2017-02-07 Netspeed Systems Automatic pipelining of NoC channels to meet timing and/or performance
US9158882B2 (en) 2013-12-19 2015-10-13 Netspeed Systems Automatic pipelining of NoC channels to meet timing and/or performance
US9569579B1 (en) 2013-12-19 2017-02-14 Netspeed Systems Automatic pipelining of NoC channels to meet timing and/or performance
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US10084692B2 (en) 2013-12-30 2018-09-25 Netspeed Systems, Inc. Streaming bridge design with host interfaces and network on chip (NoC) layers
US9769077B2 (en) 2014-02-20 2017-09-19 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US10110499B2 (en) 2014-02-20 2018-10-23 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
US9571420B2 (en) 2014-04-04 2017-02-14 Netspeed Systems Integrated NoC for performing data communication and NoC functions
US9319232B2 (en) 2014-04-04 2016-04-19 Netspeed Systems Integrated NoC for performing data communication and NoC functions
US9762474B2 (en) 2014-04-07 2017-09-12 Netspeed Systems Systems and methods for selecting a router to connect a bridge in the network on chip (NoC)
US9244845B2 (en) 2014-05-12 2016-01-26 Netspeed Systems System and method for improving snoop performance
US9473359B2 (en) 2014-06-06 2016-10-18 Netspeed Systems Transactional traffic specification for network-on-chip design
US9535848B2 (en) 2014-06-18 2017-01-03 Netspeed Systems Using cuckoo movement for improved cache coherency
US10528682B2 (en) 2014-09-04 2020-01-07 Netspeed Systems Automatic performance characterization of a network-on-chip (NOC) interconnect
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9477280B1 (en) 2014-09-24 2016-10-25 Netspeed Systems Specification for automatic power management of network-on-chip and system-on-chip
US10324509B2 (en) 2014-09-26 2019-06-18 Netspeed Systems Automatic generation of power management sequence in a SoC or NoC
US10042404B2 (en) 2014-09-26 2018-08-07 Netspeed Systems Automatic generation of power management sequence in a SoC or NoC
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US10074053B2 (en) 2014-10-01 2018-09-11 Netspeed Systems Clock gating for system-on-chip elements
US9529400B1 (en) 2014-10-29 2016-12-27 Netspeed Systems Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
US9860197B2 (en) 2015-02-03 2018-01-02 Netspeed Systems, Inc. Automatic buffer sizing for optimal network-on-chip design
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9825887B2 (en) 2015-02-03 2017-11-21 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9444702B1 (en) 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9829962B2 (en) 2015-02-12 2017-11-28 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US9568970B1 (en) 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US10218581B2 (en) 2015-02-18 2019-02-26 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10613616B2 (en) 2016-09-12 2020-04-07 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10564703B2 (en) 2016-09-12 2020-02-18 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10564704B2 (en) 2016-09-12 2020-02-18 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10735335B2 (en) 2016-12-02 2020-08-04 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10749811B2 (en) 2016-12-02 2020-08-18 Netspeed Systems, Inc. Interface virtualization and fast path for Network on Chip
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10523599B2 (en) 2017-01-10 2019-12-31 Netspeed Systems, Inc. Buffer sizing of a NoC through machine learning
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10419300B2 (en) 2017-02-01 2019-09-17 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10469338B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US10860762B2 (en) 2019-07-11 2020-12-08 Intel Corpration Subsystem-based SoC integration
CN113642275A (zh) * 2020-05-11 2021-11-12 阿特里斯公司 用于无死锁变换的片上网络的综合的系统和方法

Also Published As

Publication number Publication date
CN103684961B (zh) 2018-03-27
US9244880B2 (en) 2016-01-26
US20140068132A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
CN103684961A (zh) 自动构建无死锁互连
JP6060316B2 (ja) NoCを構成するための方法及びシステム並びにコンピュータ可読記憶媒体
US11003604B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
KR102374572B1 (ko) 네트워크 온 칩 설계를 위한 트랜잭션 트래픽 스펙
US7706275B2 (en) Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization
US9294354B2 (en) Using multiple traffic profiles to design a network on chip
US9477280B1 (en) Specification for automatic power management of network-on-chip and system-on-chip
Maglione-Mathey et al. Scalable deadlock-free deterministic minimal-path routing engine for infiniband-based dragonfly networks
US20140115218A1 (en) ASYMMETRIC MESH NoC TOPOLOGIES
US9160627B2 (en) Multiple heterogeneous NoC layers
WO2014113646A1 (en) Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of ip cores using high level specification
US10547514B2 (en) Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
CN102148763B (zh) 一种应用于片上网络的动态路径分配方法及系统
US10983910B2 (en) Bandwidth weighting mechanism based network-on-chip (NoC) configuration
Kinsy et al. Optimal and heuristic application-aware oblivious routing
US20180183672A1 (en) System and method for grouping of network on chip (noc) elements
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
US7835284B2 (en) Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by routing through transporter nodes
US9762474B2 (en) Systems and methods for selecting a router to connect a bridge in the network on chip (NoC)
US20180198682A1 (en) Strategies for NoC Construction Using Machine Learning
Seifi et al. A clustered NoC in group communication
US10084725B2 (en) Extracting features from a NoC for machine learning construction
Somisetty et al. Congestion aware negative first routing with fair arbitration for network on chip
CN117221212B (zh) 片上光网络低拥塞路由方法及相关设备
Moadeli et al. Quarc: A novel network-on-chip architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180327

Termination date: 20210830