CN113535635B - 一种用于双层环簇网络的自适应重配置硬件结构 - Google Patents

一种用于双层环簇网络的自适应重配置硬件结构 Download PDF

Info

Publication number
CN113535635B
CN113535635B CN202110657538.XA CN202110657538A CN113535635B CN 113535635 B CN113535635 B CN 113535635B CN 202110657538 A CN202110657538 A CN 202110657538A CN 113535635 B CN113535635 B CN 113535635B
Authority
CN
China
Prior art keywords
ring
network
reconfiguration
cluster
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.)
Active
Application number
CN202110657538.XA
Other languages
English (en)
Other versions
CN113535635A (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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN202110657538.XA priority Critical patent/CN113535635B/zh
Publication of CN113535635A publication Critical patent/CN113535635A/zh
Application granted granted Critical
Publication of CN113535635B publication Critical patent/CN113535635B/zh
Active 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明属于集成电路设计技术领域,具体为一种用于双层环簇网络的自适应重配置硬件结构。本发明中,双层环簇网络为8X8 Mesh和5环簇的结构;自适应重配置硬件结构包括:网络接口模块,感知监测模块,重配置模块,可配置链路模块;本设计中的自适应重配置硬件结构通过感知监测模块对网络中的通信状况进行监测,通过监测的信息利用重配置模块对环簇网络的连接方式进行周期性重配置,以此来提升片上网络的吞吐量,降低片上网络的传输延时。

Description

一种用于双层环簇网络的自适应重配置硬件结构
技术领域
本发明属于集成电路设计技术领域,具体涉及用于双层环簇网络的重配置硬件结构。
背景技术
随着半导体工艺的发展,Dannard缩放比例定律和摩尔定律逐渐失效,意味着人们不可能通过无限增加核数来提升处理器的性能,除了工艺方面的限制外,不断增加核数也会带来处理器易用性方面的问题,如何调动成百上千个核心高效的运行,仍是一个相当严峻的挑战。因此,相对于不断的在芯片上增加处理器核心来提升处理器的并行能力,现代的处理器更倾向于采用异构的组织形式,通过在芯片同时集成CPU、GPU、DSP、AI加速器等功能单元来增加处理器芯片功能的多样性和性能的高效性。目前最常见的异构体系结构是CPU+GPU的异构方式。CPU作为通用的处理器单元,来完成一些计算量较小且通用的计算或者逻辑控制任务,而GPU内部拥有大量的计算单元,通常用于完成一些计算量较大,但数据间关联性较少的高并行任务,例如图像处理,科学计算,机器学习训练等。除了CPU、GPU异构外,一些处理器芯片中还会集成包括DSP、ISP、AI加速器等功能单元,这些功能单元由于较高的专用化程度,在完成相应计算任务时拥有很高的性能和能效比。异构多核处理器由于其功能多样化和组件专用化,相较于传统同构多核处理器拥有更高的性能和能效比,然而,异构多核处理器需要在芯片上集成多种多样,功能各异的处理单元,如何组织互连这些功能单元,让各个组件充分展现自己的优势无疑对片上互连提出了更高的要求。传统片上互连网络虽然相较于Bus结构和Crossbar结构有着更高的带宽和可扩展性,但由于其固定的组织结构,无法针对异构处理器中不同的应用场景进行自适应调整,从而限制了异构众核处理器在多种使用场景下的性能。因此异构众核处理器的互连结构需要拥有自适应的能力,通过对处理器运行场景的感知对自身的结构进行自适应的调整,以在各种各样应用场景下达到较高的性能。智能化的片上互连网络不仅能为异构多核处理器提供较高的带宽以及良好的可扩展性,而且其还可以根据应用场景不同对自身结构做出自适应调整以适应异构体系下复杂多变的通信状况,是片上互连技术的未来发展方向。
发明内容
为了克服现有技术的不足,本发明提出一种网络吞吐量大、传输延时少的用于双层环簇网络的重配置硬件结构。
本发明针对可重配置的双层环簇网络通过感知监测网络中的通信状况,利用重配置的方式对环簇网络的连接方式进行周期性重配置,以此来提升片上网络的吞吐量,降低片上网络的传输延时。
本发明提供的用于双层环簇网络的自适应重配置硬件结构,所述双层环簇网络为8X8 Mesh和5环簇的结构,5环簇依次记为:环簇0、环簇1、环簇2、环簇3、环簇4;自适应重配置硬件结构包括:网络接口模块,感知监测模块,重配置模块,可配置链路模块;其中:
所述网络接口模块,用于对来自紧耦合一级缓存的处理器Tile、二级缓存L2、主存储器Mem的请求进行打包发送至片上网络,以及将来自片上网络的数据包解包处理发送至相应的片上网络挂载组件;
所述感知监测模块,用于对环簇间的通信状况进行监测,并将监测信息发送至所述重配置模块,用于决定环簇间的重配置方式;在每个片上网络节点的网络接口处会有相应的统计模块对该节点数据包的传输目标簇进行统计;
所述重配置模块,主要利用所述感知监测模块提供的环间通信信息对环状网络各环簇间的互连方式进行周期性重配置;
所述可配置链路模块,用于对5个环簇进行连接,从而提供局部的环簇间可配置互连;所述可配置链路模块结构较为简单,主要由可配置的转换开关组成;重配置单元通过周期性的对这些转换开关进行重配置来改变各环簇的连接方式。
本发明中,所述网络接口模块,按照AXI协议进行设计,包含AXI读通道、AXI写通道、AXI监听通道以及用于一致性维护的解除阻塞响应通道,分别用于处理读请求、写请求、一致性监听响应,阻塞解除响应。网络接口模块由以下几个主要部分组成:
(1)数据包封装部分:主要负责对挂载组件来的请求或响应进行封装,加入各种信息用于在片上网络中进行传输。
(2)环状网络判别部分:负责对数据包能否使用环状网络进行判别,其中存储有环状网络中各环簇的连接状态,判别时,会根据数据包的目标节点来判别能否使用环状网络进行传输。
(3)环状网络传输方向判别部分:用于数据包在环状网络中传输方向的判别。
(4)数据包解包部分:用于对来自片上网络的数据包进行解析,并返回解析数据到相应挂载组件。
进一步地,网络接口模块的具体工作流程为:
(1)来自各组件的请求和响应在到达所述网络接口处后先进行封包处理;其中,包头中通常包括控制信息和地址信息,包体和包尾包含的是需要传输的数据信息;对于不包含数据信息的请求或者响应会被封装为只含控制信息和地址的Head_Tail类型;在完成请求或响应的数据包封装后,相应的数据以最小传输单元Flit的形式存入先入先出缓冲区FIFO或者寄存器进入下一级流水线;
(2)在完成数据封包后,下一级流水线是利用环状网络的互连状态信息对数据包能否使用环状网络传输进行判别,以及利用节点位置信息对环状网络的传输方向进行判别;其中网络接口模块中保存有与当前环簇相连的节点信息,通过与包头中的目标节点信息进行对比确定能否使用环状网络进行数据传输;为了选择合适的网络,网络接口模块会根据当前节点与目标节点的位置进行更优的网络选择;
(3)最后一级流水线是根据Mesh网络和环状网络的可用状态对数据包的注入方向进行最后选择;注入方向包括:Mesh网路,环状网路顺时针方向(cring),环状网路逆时针方向(acring),Bypass方向;其中优先级为Bypass> Ring > Mesh;如果环状网路不可用,则会选择Mesh网路进行传输,从而尽可能平衡两个网路的负载;
除了对挂载组件的请求和相应进行封包和发送外,所述网络接口还需要对来自片上网络的数据包进行解析,并把需要的信息返回到挂载在接口上的组件;首先来自Mesh,cring, acring的数据包按照类型存入相应的FIFO中,然后网络接口模块对数据包进行解析,并将解析得到的相关数据信息发送至相应的挂载组件。
本发明中,所述感知监测模块,用于对环簇间的通信状况进行监测,并将监测信息发送至所述重配置模块,用于决定环簇间的重配置方式;该模块由以下几个部分组成:
(1)环簇间数据包统计部分:用于统计环状网络中的各环簇间的通信状况。即当有数据包注入环状网络时,会根据包头中的目标环簇信息,利用计数器统计该环簇与其它环簇的通信状况。
(2)远程数据包的排空计数器:用于对跨环传输的数据进行统计,确定环簇中是否有需要跨环传输的数据包存在,以确定能否进行新的重配置过程。
感知监测模块具体工作流程为:
假设,环簇间有数据包传输进行传输时,单个环簇内的所述感知监测模块通过对所有节点传输数据包的数量进行统计来确定当前周期环簇内所有节点发送至其它环簇的包的数量;在统计出当前周期内环簇的通信状况后,相应的通信状况信息会被写入寄存器组中,寄存器当前的数值表示该环簇在当前重配置周期内发往其它环簇包的数量;在完成一个重配置周期的通信信息统计后,相应的通信信息通过距离加权(两个环簇距离越远,相连后收益越大,因此相应权重也越大)后发送到所述重配置模块;所述感知监测模块除了对环簇间的通信信息进行统计外还需对环簇内远程数据包的排空状况进行统计;因为在重配置前,需要保证环簇内所有需要跨环传输的数据包已经被发送,否则会导致某些数据包被错误路由;通过在所述感知监测模块中设计一个排空计数器,在新的跨环传输数据包注入时该计数器递增,在跨环传输数据包通过远程节点被传输到目标环簇后该计数器递减;当排空计数器为0时相应的排空信号被拉高,以此来通知所述重配置模块是否可以进行新一轮的重配置。
本发明中,所述重配置模块,利用所述感知监测模块提供的环间通信信息对环状网络各环簇间的互连方式进行周期性重配置;包括如下几个部分:
(1)排序部分:采用冒泡排序的方法对由感知监测模块得到的环簇间通信状况进行排序。
(2)重配置查找表部分:存储有固定的环簇网络各种连接方式的重配置方式。
(3)重配置部分:按照环簇间通信状况由大到小的顺序结合重配置查找表记录的环簇网络重配置方式,对环簇网络进行重配置计算。
重配置模块的具体工作流程为:
首先在监测周期结束后,各个所述的感知监测模块将环簇间的通信信息及环内远程数据包的排空状况发送至所述重配置模块;在所有的5个环簇远程数据包均排空且环簇间通信信息均到达所述重配置模块的情况下其开始进行重配置过程;5个环簇间的通信状况信息首先经过排序单元按照通信数量的大小进行排序;排序方法选用的是较为经典的冒泡排序算法,通过不断比较交换相邻元素的方式,将环簇间的通信状况按照由大较小的方式进行排列;在完成环簇间通信状况的排序操作后,相应的源-目标环簇对按照通信量由大到小的顺序被存储在寄存器组中等待下一步的重配置;
由于环簇的数量较少,所以环簇间可能的连接方式也较少,因此采用查找表的方式进行环簇间的重配置;在完成环簇间通信状况的排序并得到由高到低的各环簇间通信状况后,重配置逻辑开始按照顺序对相应的环簇对进行重配置;例如环簇0发往环簇4的通信量最高,则重配置模块首先对簇0到簇4的链路通路尝试重配置;簇0到簇4可以有多条可能的重配置路径,重配置表内预先存储了几条簇0到簇4的重配置方式,所述重配置模块依次尝试进行重配置;感知监测模块中包含链路占用状况寄存器用于寄存已被占用的链路,如果重配置时需要链路被占用,则会进行下一种重配置方式的尝试,在所有表中记录路径都被尝试后或者成功重配置出一条簇0到簇4的链路后,再进行下一对环簇的重配置;以此在所有环簇对均被遍历或者所有远程互连节点均被占用的情况下,重配置的计算便会完成;链路重配置方式和环簇的连接方式会被寄存在相应的寄存器组中,其中环簇的连接方式会被发送给各个网络接口模块进行环簇连接信息的更新,链路重配置方式会被发送给链路层进行相应的链路重配置;这样整个重配置过程完成,环状网络可以继续进行环间的通信。
所述双层环簇网络采用固定周期的重配置方式,由于重配置单元可以在较短的时钟周期内完成重配置路径的探索和环状网络互连方式的重配置,重配置时间通常为数十个时钟周期;所以为了尽可能捕获环簇间通信流量的特点又不会因为频繁重配置导致环状网络性能下降,选用的重配置周期为2000个时钟周期;本发明并未使用复杂的机器学习算法,而是利用处理器访存局域性的特点,如果当前重配置周期内某两个环簇进行频繁通信,那么认为在下一个重配置周期内它们之间的通信也会十分频繁。
与现有技术相比,本发明的有益技术效果体现在:
赋予片上网络自适应调整的能力,通过在每个环内设置计数器对当前阶段各个环间的通信状况进行记录,并以固定的周期根据环间通信状况对片上网络进行重配置调整。这样可以让更多的数据包通过环状网络进行传输;由于环状网络低延时的特性,网络中的整体通信延时会被大大降低。而且由于将节点分为了环簇,降低了重配置复杂度,通常一次重配置可在数十个周期内完成。
附图说明
图1为双层环簇网路结构示意图。
图2为网络接口模块的结构框图。
图3为感知监测模块的结构框图。
图4为重配置模块的结构框图。
图5为可配置链路模块的结构图。
图6为自适应重配置的流程图。
图7为利用自适应重配置机制的双层环簇网络的仿真结果图。
具体实施方式
双层环簇网路结构示意图如图1所示,整个网路分为8X8的包交换Mesh网络层和5环簇的环状网络层,其中进行重配置的是环状网络层各环簇间的连接方式。
本发明中,网络接口模块的结构如图2所示。网络接口模块用于对来自紧耦合一级缓存的处理器Tile,二级缓存L2,主存储器Mem的请求进行打包发送至片上网络以及将来自片上网络的数据包解包处理发送至相应的片上网络挂载组件。
网络接口模块具体包括两条数据通络,分别用于处理来自接口挂载组件(这些组件可以是处理器Tile,二级缓存或者主存储器)的请求或响应以及来自片上网络的请求响应数据包。两条数据通路按照AXI协议进行设计,包含AXI读通道,AXI写通道,AXI监听通道以及用于一致性维护的解除阻塞响应通道分别用于处理读请求,写请求,一致性监听响应,阻塞解除响应。下面结合图2分别介绍两条数据通路的结构以及工作流程。
如图2所示,上半部分的数据通路用于处理来自挂载组件的请求或响应。不同类型的数据首先进入打包模块Packing中进行打包封装。打包模块具体功能是根据是否携带数据将请求或者响应封装成为相应类型的数据包。包含数据的请求或响应被封装成为包含包头, 包体,包尾的数据包,其中包头中包含数据包在片上网络中传输的控制信息和地址信息,包体和包尾包含的是需要传输的数据信息。对于不包含数据信息的请求或者响应会被封装为只含控制信息和地址的Head_Tail类型。在完成请求或响应的数据包封装后,相应的数据会以最小传输单元Flit的形式存入先入先出缓冲区FIFO或者寄存器进入下一级流水线。
在完成数据封包后,下一级流水线是利用环状网络的互连状态信息对数据包能否使用环状网络传输进行判别以及利用节点位置信息对环状网络的传输方向进行判别;其中Ring detector环状网络探测模块的主要作用是对数据包能否使用环状网络传输进行判别以及对环状网络传输的顺逆时针方向进行判别。其工作具体过程如下:环状网络探测模块中保存有与当前环簇相连的节点信息,在新的数据包到来时,它首先解析数据包包头中的目标节点信息得到数据包需要传输的目标环簇编号,再根据记录的环簇连接状况确定该数据包能否使用环簇网络进行传输。能使用环簇网络传输的条件包括:
(1)环簇内节点的数据传输。
(2)环簇间的数据传输,且两个环簇通过可配置互联节点进行连通。
由于环状网络包含顺逆两个方向,除了进行能否使用环状网络传输的判别之外,环状网络探测模块还会利用当前网络接口的位置信息与环内目标节点的位置信息对比得到环内传输方向的信息。为了进一步降低传输延时,我们在跨环传输时引入了Bypass传输的机制。该机制具体如下:首先环簇网络进行跨环传输的流程如下,环状网络每个环簇内包含两种类型的节点,用于环内传输的普通节点和兼顾环内和环间传输的远程节点。数据包跨环传输时,源节点首先将数据包发送到相应的远程节点,远程节点与目标环簇直接相连,然后数据包借由远程节点跨环传输到目标环簇,最后在目标环簇内到达目标节点。Bypass机制就是通过建立源节点到远程节点的快速链路连接来降低跨环传输延时。首先在检测到数据包需要进行跨环的数据传输时,会提前向Bypass仲裁单元发出链路建立请求。Bypass仲裁单元是一个固定优先级的仲裁器,仲裁的优先级顺序是距离远程节点越远,Bypass收益越高,优先级越高。其会对各个节点的Bypass请求进行仲裁,然后返回仲裁结果到各个节点的网络接口中去,同时建立该节点到目标远程节点的Bypass链路实现单周期多跳的快速传输。
最后一级流水线是根据Mesh网络和环状网络的可用状态以及Bypass仲裁结果对数据包的注入方向进行最后选择。注入方向包括:Mesh网路,环状网路顺时针方向(cring),环状网路逆时针方向(acring),Bypass方向;其中优先级为Bypass> Ring > Mesh。其中各传输方向具体的选择条件如下:
(1)Bypass传输方向:数据包可以使用环簇网络进行跨环传输且Bypass仲裁单元仲裁该节点胜出并建立了该节点到目标远程节点的直接链路连接。
(2)Ring传输方向:数据包可以使用环状网络进行跨环或者环内传输且跨环传输时无Bypass链路建立。
(3)Mesh传输方向:数据包无法使用环状网络到达目标节点或者环状网络当前正处于繁忙状态无法响应该次数据传输。
下半部分的数据通路是对来自片上网络的数据包进行解析并返回需要的信息到挂载在接口上的组件。首先来自Mesh,cring, acring的数据包经过网络仲裁单元进行选择后按照类型存入相应的FIFO中,然后由Unpacking解包模块对数据包进行解析。解包模块解析的具体数据段包括:
(1)包头中的地址段。
(2)包头中的数据类型段。
(3)包头中的数据编号段。
(4)包体或者包尾中的数据段。
感知监测模块的结构如图3所示。感知监测模块用于对环簇间的通信状况进行监测,该信息会被发送至重配置模块用于决定环簇间的重配置方式。在每个片上网络节点的网络接口处会有相应的统计模块对该节点数据包的传输目标簇进行统计。统计的具体方式是各环簇内各个节点的网络接口在检测到有数据包发出时,会解析包头得到目标环簇信息,然后拉高该环簇到目标环簇的统计信号,再借由感知监测模块中的count one部分对各节点处高电平数量进行统计进而得到当前周期内环簇的通信状况,然后将相应的通信状况信息会被写入寄存器组中,寄存器当前的数值表示该环簇在当前重配置周期内发往其它环簇包的数量。在完成一个重配置周期的通信信息统计后,相应的通信信息通过距离加权(两个环簇距离越远,相连后收益越大,因此相应权重也越大)后发送到重配置模块。感知监测模块除了对环簇间的通信信息进行统计外还需对环簇内远程数据包的排空状况进行统计。因为在重配置前,需要保证环簇内所有需要跨环传输的数据包已经被发送,否则会导致某些数据包被错误路由;通过在感知监测模块中设计一个排空计数器,在新的跨环传输数据包注入时该计数器递增,在跨环传输数据包通过远程节点被传输到目标环簇后该计数器递减;当排空计数器为0时相应的排空信号被拉高,以此来通知重配置模块是否可以进行新一轮的重配置。
感知监测模块的结构如图4所示。重配置模块的主要功能是利用感知监测模块提供的环间通信信息对环状网络各环簇间的互连方式进行周期性重配置。首先在监测周期结束后,各个感知监测模块将环簇间的通信信息及环内远程数据包的排空状况发送至重配置模块。在所有的5个环簇远程数据包均排空且环簇间通信信息均到达重配置模块的情况下其开始进行重配置过程。5个环簇间的通信状况信息首先经过排序单元按照通信数量的大小进行排序。排序方法选用的是较为经典的冒泡排序算法,通过不断比较交换相邻元素的方式,将环簇间的通信状况按照由大较小的方式进行排列。在完成环簇间通信状况的排序操作后,相应的源-目标环簇对按照通信量由大到小的顺序被存储在寄存器组中等待下一步的重配置。
由于环簇的数量较少,所以环簇间可能的连接方式也较少,因此采用查找表的方式进行环簇间的重配置。在完成环簇间通信状况的排序并得到由高到低的各环簇间通信状况后,重配置逻辑开始按照顺序对相应的环簇对进行重配置。例如环簇0发往环簇4的通信量最高,则重配置模块首先对簇0到簇4的链路通路尝试重配置。簇0到簇4可以有多条可能的重配置路径,重配置表内预先存储了几条簇0到簇4的重配置方式,重配置模块依次尝试进行重配置。link occupy condition reg链路占用状况寄存器中会寄存已被占用的链路,如果重配置时需要链路被占用,则会进行下一种重配置方式的尝试,在所有表中记录路径都被尝试后或者成功重配置出一条簇0到簇4的链路后,再进行下一对环簇的重配置。以此在所有环簇对均被遍历或者所有远程互连节点均被占用的情况下,重配置的计算便会完成。链路重配置方式和环簇的连接方式会被寄存在相应的寄存器组中,其中环簇的连接方式会被发送给各个网络接口单元的ring detector模块进行环簇连接信息的更新,链路重配置方式会被发送给链路层进行相应的链路重配置。这样整个重配置过程完成,环状网络可以继续进行环间的通信。
可配置链路模块的结构如图5所示。可配置链路模块用于对5个环簇进行连接,从而提供局部的环簇间可配置互连。可配置链路模块结构较为简单主要由可配置的转换开关组成,重配置单元通过周期性的对这些转换开关进行重配置来改变各环簇的连接方式。
用于双层环簇网络的重配置算法流程如图6所示。双层环簇网络采用固定周期的重配置方式,由于重配置单元可以在较短的时钟周期内完成重配置路径的探索和环状网络互连方式的重配置,重配置时间通常为数十个时钟周期。所以为了尽可能捕获环簇间通信流量的特点又不会因为频繁重配置导致环状网络性能下降选用的重配置周期为2000个时钟周期。本设计采用的预测方式较为简单,并未使用复杂的机器学习算法,而是利用处理器访存局域性的特点,如果当前重配置周期内某两个环簇进行频繁通信,那么认为在下一个重配置周期内它们之间的通信也会十分频繁。下面介绍具体步骤:
步骤1、在单个重配置周期内,监测单元首先对环簇间的通信状况进行统计;在到达指定2000个时钟周期后进入步骤2;
步骤2、停止注入新的环间通信包到环状网络;在环状网络中所有需要远程传输的数据包进行排空后进入步骤4,否则进入步骤3;
步骤3、等待环状网络中所有需要远程传输的数据包进行排空;
步骤4、监测单元将统计的环间通信信息发送到重配置模块,进行流量排序;排序完成进行步骤5;
步骤5、根据排序结果利用通信量由大至小的先后顺序进行链路重配置计算;完成所有可能的链路连接方式遍历或者所有可用链路节点均被占据后进入步骤6,否则重复步骤5;
步骤6、利用计算的链路重配置方式对环簇的连接方式进行重配置并更新所述网络接口模块的环簇间连接信息。
如图7是拥有自适应重配置机制的双层环簇网络在几种包流量注入模式下的RTL仿真结果,其中双层环簇网络为8X8 Mesh + 5环簇的双层网络结构,基准网络为包交换的8X8 Mesh网络。四种包注入模式的介绍如下:
(1)Uniform:每个源节点以相同的概率向网络中的每个目的节点进行数据包的注入,Uniform是最简单常用的评估片上网络性能的流量类型,该种流量类型下片上网络中的流量分布均匀,负载平衡。
(2)Shuffle, Transpose, Bit_reverse:这三种流量类型源节点和目标节点为固定的对应关系,每个源节点根据自身ID,得出相应的数据包目标节点。
Shuffle流量类型下源-目标节点对的关系为:
Figure DEST_PATH_IMAGE002
dest:目标节点的ID;
src:源节点ID;
num_dest:片上网络中所有目标节点数量;
Transpose流量类型下源-目标节点的对应关系为:
Figure DEST_PATH_IMAGE004
dest:目标节点ID;
src_x:源节点的x坐标值;
radix:片上网络目标节点的行列数量;
src_y: 源节点的y坐标值;
Bit_reverse流量类型下源-目标节点的对应关系为:
Figure DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE008
:目标节点ID的第i个bit位;
Figure DEST_PATH_IMAGE010
:源节点ID的第i个bit位;
b:片上网络节点ID的总bit位。
从图中可以看出在四种流量模式下拥有自适应重配置机制的双层环簇片上网络,在平均包传输延时和最大注入速率保和点均有较大提升。

Claims (6)

1. 一种用于双层环簇网络的自适应重配置硬件结构,其特征在于,所述双层环簇网络为8X8 Mesh和5环簇的结构,5环簇依次记为:环簇0、环簇1、环簇2、环簇3、环簇4;自适应重配置硬件结构包括:网络接口模块,感知监测模块,重配置模块,可配置链路模块;其中:
所述网络接口模块,用于对来自紧耦合一级缓存的处理器Tile、二级缓存L2、主存储器Mem的请求进行打包发送至片上网络,以及将来自片上网络的数据包解包处理发送至相应的片上网络挂载组件;
所述感知监测模块,用于对环簇间的通信状况进行监测,并将监测信息发送至所述重配置模块,用于决定环簇间的重配置方式;在每个片上网络节点的网络接口处会有相应的统计模块对该节点数据包的传输目标簇进行统计;
所述重配置模块,主要利用所述感知监测模块提供的环间通信信息对环状网络各环簇间的互连方式进行周期性重配置;
所述可配置链路模块,用于对5个环簇进行连接,从而提供局部的环簇间可配置互连;所述可配置链路模块主要由可配置的转换开关组成;重配置单元通过周期性的对这些转换开关进行重配置来改变各环簇的连接方式;
所述重配置模块的具体工作流程为:
首先在监测周期结束后,各个所述的感知监测模块将环簇间的通信信息及环内远程数据包的排空状况发送至所述重配置模块;在所有的5个环簇远程数据包均排空且环簇间通信信息均到达所述重配置模块的情况下,其开始进行重配置过程;5个环簇间的通信状况信息首先经过排序单元按照通信数量的大小进行排序;排序方法选用冒泡排序算法,通过不断比较交换相邻元素的方式,将环簇间的通信状况按照由大较小的方式进行排列;在完成环簇间通信状况的排序操作后,相应的源-目标环簇对按照通信量由大到小的顺序被存储在寄存器组中,等待下一步的重配置;
采用查找表的方式进行环簇间的重配置;在完成环簇间通信状况的排序并得到由高到低的各环簇间通信状况后,重配置逻辑开始按照顺序对相应的环簇对进行重配置;
感知监测模块中包含链路占用状况寄存器用于寄存已被占用的链路,如果重配置时需要链路被占用,则进行下一种重配置方式的尝试,在所有表中记录路径都被尝试后或者成功重配置出一条簇0到簇4的链路后,再进行下一对环簇的重配置;以此在所有环簇对均被遍历或者所有远程互连节点均被占用的情况下,重配置的计算便会完成;链路重配置方式和环簇的连接方式会被寄存在相应的寄存器组中,其中环簇的连接方式会被发送给各个网络接口模块进行环簇连接信息的更新,链路重配置方式会被发送给链路层进行相应的链路重配置;这样整个重配置过程完成,环状网络可以继续进行环间的通信。
2.根据权利要求1所述的用于双层环簇网络的自适应重配置硬件结构,其特征在于,所述网络接口模块,按照AXI协议进行设计,包含AXI读通道、AXI写通道、AXI监听通道以及用于一致性维护的解除阻塞响应通道,分别用于处理读请求、写请求、一致性监听响应,阻塞解除响应;所述网络接口模块包括:
(1)数据包封装部分:主要负责对挂载组件来的请求或响应进行封装,加入各种信息用于在片上网络中进行传输;
(2)环状网络判别部分:负责对数据包能否使用环状网络进行判别,其中存储有环状网络中各环簇的连接状态,判别时,会根据数据包的目标节点来判别能否使用环状网络进行传输;
(3)环状网络传输方向判别部分:用于数据包在环状网络中传输方向的判别;
(4)数据包解包部分:用于对来自片上网络的数据包进行解析,并返回解析数据到相应挂载组件。
3.根据权利要求2所述的用于双层环簇网络的自适应重配置硬件结构,其特征在于,所述网络接口模块的具体工作流程为:
(1)来自各组件的请求和响应在到达所述网络接口处后先进行封包处理;其中,包头中包括控制信息和地址信息,包体和包尾包含需要传输的数据信息;对于不包含数据信息的请求或者响应会被封装为只含控制信息和地址的Head_Tail类型;在完成请求或响应的数据包封装后,相应的数据以最小传输单元Flit的形式存入先入先出缓冲区FIFO或者寄存器进入下一级流水线;
(2)在完成数据封包后,下一级流水线利用环状网络的互连状态信息对数据包能否使用环状网络传输进行判别,以及利用节点位置信息对环状网络的传输方向进行判别;其中网络接口模块中保存有与当前环簇相连的节点信息,通过与包头中的目标节点信息进行对比确定能否使用环状网络进行数据传输;
(3)最后一级流水线根据Mesh网络和环状网络的可用状态对数据包的注入方向进行最后选择;注入方向包括:Mesh网路,环状网路顺时针方向,环状网路逆时针方向,Bypass方向;其中优先级次序为Bypass> Ring > Mesh;如果环状网路不可用,则选择Mesh网路进行传输,从而尽可能平衡两个网路的负载。
4.根据权利要求1所述的用于双层环簇网络的自适应重配置硬件结构,其特征在于,所述感知监测模块,由以下几个部分组成:
(1)环簇间数据包统计部分:用于统计环状网络中的各环簇间的通信状况;即当有数据包注入环状网络时,根据包头中的目标环簇信息,利用计数器统计该环簇与其它环簇的通信状况;
(2)远程数据包的排空计数器:用于对跨环传输的数据进行统计,确定环簇中是否有需要跨环传输的数据包存在,以确定能否进行新的重配置过程。
5.根据权利要求4所述的用于双层环簇网络的自适应重配置硬件结构,其特征在于,所述感知监测模块具体工作流程为:
环簇间有数据包传输进行传输时,单个环簇内的所述感知监测模块通过对所有节点传输数据包的数量进行统计来确定当前周期环簇内所有节点发送至其它环簇的包的数量;在统计出当前周期内环簇的通信状况后,相应的通信状况信息会被写入寄存器组中,寄存器当前的数值表示该环簇在当前重配置周期内发往其它环簇包的数量;在完成一个重配置周期的通信信息统计后,相应的通信信息通过距离加权后发送到所述重配置模块;所述感知监测模块除了对环簇间的通信信息进行统计外,还对环簇内远程数据包的排空状况进行统计;所述排空计数器,在新的跨环传输数据包注入时该计数器递增,在跨环传输数据包通过远程节点被传输到目标环簇后该计数器递减;当排空计数器为0时相应的排空信号被拉高,以此来通知所述重配置模块是否可以进行新一轮的重配置。
6.根据权利要求1所述的用于双层环簇网络的自适应重配置硬件结构,其特征在于,所述重配置模块,包括如下几个部分:
(1)排序部分:采用冒泡排序的方法对由感知监测模块得到的环簇间通信状况进行排序;
(2)重配置查找表部分:存储有固定的环簇网络各种连接方式的重配置方式;
(3)重配置部分:按照环簇间通信状况由大到小的顺序结合重配置查找表记录的环簇网络重配置方式,对环簇网络进行重配置计算。
CN202110657538.XA 2021-06-13 2021-06-13 一种用于双层环簇网络的自适应重配置硬件结构 Active CN113535635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110657538.XA CN113535635B (zh) 2021-06-13 2021-06-13 一种用于双层环簇网络的自适应重配置硬件结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110657538.XA CN113535635B (zh) 2021-06-13 2021-06-13 一种用于双层环簇网络的自适应重配置硬件结构

Publications (2)

Publication Number Publication Date
CN113535635A CN113535635A (zh) 2021-10-22
CN113535635B true CN113535635B (zh) 2022-04-12

Family

ID=78124865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110657538.XA Active CN113535635B (zh) 2021-06-13 2021-06-13 一种用于双层环簇网络的自适应重配置硬件结构

Country Status (1)

Country Link
CN (1) CN113535635B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116055386B (zh) * 2023-03-07 2023-06-02 燧原智能科技(成都)有限公司 一种端口权重更新方法、装置、芯片及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286933A (zh) * 2008-03-05 2008-10-15 中科院嘉兴中心微系统所分中心 基于流量的无线传感网自适应簇调整方法
CN105122833A (zh) * 2014-03-20 2015-12-02 华为技术有限公司 一种光片上网络、动态调整光链路带宽的方法及装置
WO2018098753A1 (zh) * 2016-11-30 2018-06-07 深圳天珑无线科技有限公司 分布式网络的管理方法、节点及系统
CN112822752A (zh) * 2021-01-07 2021-05-18 西安电子科技大学 一种无人机自组织网络的路由建立方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286933A (zh) * 2008-03-05 2008-10-15 中科院嘉兴中心微系统所分中心 基于流量的无线传感网自适应簇调整方法
CN105122833A (zh) * 2014-03-20 2015-12-02 华为技术有限公司 一种光片上网络、动态调整光链路带宽的方法及装置
WO2018098753A1 (zh) * 2016-11-30 2018-06-07 深圳天珑无线科技有限公司 分布式网络的管理方法、节点及系统
CN112822752A (zh) * 2021-01-07 2021-05-18 西安电子科技大学 一种无人机自组织网络的路由建立方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive Fault-Tolerant Routing in 2D Mesh with Cracky Rectangular Model;Yi Yang et al.;《Journal of applied mathematics》;20140307;第1-10页 *
自适应的未来网络体系架构;林闯 等;《计算机学报》;20210630;第35卷(第6期);第5-21页 *

Also Published As

Publication number Publication date
CN113535635A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
Trik et al. A hybrid selection strategy based on traffic analysis for improving performance in networks on chip
US9571341B1 (en) Clock gating for system-on-chip elements
Kumary et al. A 4.6 Tbits/s 3.6 GHz single-cycle NoC router with a novel switch allocator in 65nm CMOS
Tran et al. RoShaQ: High-performance on-chip router with shared queues
Greenfield et al. Implications of Rent's rule for NoC design and its fault-tolerance
CN103345461A (zh) 基于fpga的带有加速器的多核处理器片上网络系统
Ebrahimi et al. Agent-based on-chip network using efficient selection method
Kim et al. A network congestion-aware memory controller
CN113535635B (zh) 一种用于双层环簇网络的自适应重配置硬件结构
Gebhardt et al. Comparing energy and latency of asynchronous and synchronous NoCs for embedded SoCs
Li et al. ALPHA: A learning-enabled high-performance network-on-chip router design for heterogeneous manycore architectures
Banerjee et al. Flow-aware allocation for on-chip networks
Requena et al. Exploiting wiring resources on interconnection network: increasing path diversity
Escamilla et al. ICARO: Congestion isolation in networks-on-chip
CN113490293B (zh) 一种双层自适应重配置环簇片上网络硬件结构
CN109995679A (zh) 基于任务驱动的芯片级多异构通讯核的NoC系统
Haase et al. Panaca: an open-source configurable network-on-chip simulation platform
Singh et al. Energy efficient and congestion-aware router design for future NoCs
Manzoor et al. A Review Of Design Approaches For Enhancing The Performance of Nocs at Communication Centric Level
Lankes et al. Hierarchical NoCs for optimized access to shared memory and IO resources
Lee et al. Adaptive routing scheme for NoC communication architecture
Rahmani et al. Forecasting-based dynamic virtual channels allocation for power optimization of network-on-chips
Lee et al. Design of a feasible on-chip interconnection network for a chip multiprocessor (cmp)
Freitas et al. NOC architecture design for multi-cluster chips
Wu et al. Lottery router: a customized arbitral priority Noc router

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant