CN106254254B - 一种基于Mesh拓扑结构的片上网络通信方法 - Google Patents
一种基于Mesh拓扑结构的片上网络通信方法 Download PDFInfo
- Publication number
- CN106254254B CN106254254B CN201610830325.1A CN201610830325A CN106254254B CN 106254254 B CN106254254 B CN 106254254B CN 201610830325 A CN201610830325 A CN 201610830325A CN 106254254 B CN106254254 B CN 106254254B
- Authority
- CN
- China
- Prior art keywords
- core
- data
- sub
- main core
- bits
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于集成电路设计技术领域,具体为一种基于Mesh拓扑结构的片上网络通信方法。片上网络的通信方式分为两种:广播和点对点传输;本发明包括:由主核向各个子核通信的广播,由各个子核向主核通信的点对点传输;片上网络通信采用包交换的数据传输方式;其中,由主核向各个子核通信的广播,是以中心的一个核称为主核,以其周围的核称为子核,该主核按照一定的路由算法分别向各个子核由近及远传播数据;由各个子核向主核通信的点对点传输,是以中心的一个核称为主核,以其周围的核称为子核,由各个子核按照一定的路由算法分别向与其相邻的子核传播数据并最终汇总到主核;同时,采用包交换的数据传输方式,在一条链路上可以提供多个数据通路,大大提高数据的传输效率。
Description
技术领域
本发明属于集成电路设计技术领域,具体为一种基于Mesh拓扑结构的片上网络通信方法(策略)。
背景技术
自从片上网络(NoC)的概念被提出以来,人们对网络结构的研究持续推进,已经有各种各样的网络结构被纷纷提出,总体来说,片上网络的拓扑结构主要分为三类,分别是树状、星状和网格状。
树状网络基本结构如图1(a)所示,图中显示的网络包含16个计算节点和8个路由器,其中路由器分为父层和子层两部分,而计算节点作为叶节点连接在子层路由器上,这种结构最大的优点是硬件实现起来最为简单,成本很低,但是缺点也十分明显,对于父层和子层的路由器来说,其路由算法是不同的,不利于网络的可扩展性和可重用性,增加了设计的难度。
星状网络基本结构如图1(b)所示,这种结构的每个路由器都对应一个计算节点,其相邻两个节点的数据通信只需要一跳即可传输完成,而且位于中心的节点非常便于进行数据的广播,所以具有最好的通信效率,但这种结构只适用于节点个数较少的情况,当节点个数大于9个时,星状网络的面积利用率将非常低下,不利于硬件实现。
二维网格(Mesh)网络的基本结构如图1(c)所示,是目前主流的片上网络架构。它的每个路由器对应一个计算节点,而每个路由器与其东西南北四个方向上的路由器相连,构成个网格状结构,每两个路由器之间的通信链路可以有多条,实际通信中可以通过高效的路由算法找到当前最为空闲的数据通路进行通信,从而提高了通信效率,同时这种结构的可扩展性高,可以方便地构造M×N个节点的网络,而且网络形状非常规则,有利于硬件版图的实现。本发明即是在二维网格的基础上,采用包交换的通信方式,实现二位片上网络的通信策略。
发明内容
本发明的目的是针对并行GPDT算法而设计一种基于Mesh结构的片上网络通信方法(策略)。
并行GPDT算法中,需要传输的数据是一个矩阵的若干片段,可以称之为数据块。这些数据块需要按某种顺序进行拼接或者进行累加才组成总的矩阵。片上网络结构中将处理器分为主核和子核两种类型,其中,主核负责计算本核分配到的那部分数据,还负责接收其他子核的计算结果,并对结果进行拼接或累加从而得到总矩阵。总矩阵首先需要通过“广播”的方式同步到其他子核当中,再进行接下来的运算。
本发明提出的基于Mesh拓扑结构的片上网络通信方法,包括:由主核向各个子核通信的广播方法,由各个子核向主核通信的点对点方法;片上网络通信采用包交换的数据传输方式;其中:
一、由主核向各个子核通信的广播方法,对于一个N×N的2D Mesh网络,以中心的一个核称为主核,以其周围的核称为子核,该主核按照一定的路由算法分别向各个子核由近及远传播数据;该路由算法为:①以主核为原点,其数据向其左上方和右下方传播时,先沿x方向再沿y方向,最终到达目标核(子核);②以主核为原点,向其右上方和左下方传播时,先沿y方向再沿x方向,最终到达目标核(子核);
二、由各个子核向主核通信的点对点方法,对于一个N×N的2D Mesh网络,以中心的一个核称为主核,以其周围的核称为子核,由各个子核按照一定的路由算法分别向与其相邻的子核传播数据并最终汇总到主核;该路由算法为:①以主核为原点,其左上方和右下方的子核数据向主核传播时,先沿x方向再沿y方向,最终到达目标核(主核);②以主核为原点,其右上方和左下方的子核数据向主核传播时,先沿y方向再沿x方向,最终到达目标核(主核);
三、包交换的数据传输方式,待传输的数据是一系列32bit的数据组成的数据包,数据包的结构设计为:head表示包头,recv[i]表示发送的数据中每个数据块的长度,disp[i]表示每个数据块在原矩阵中的起始位置,data[i]表示数据块的内容。
包头位于数据包的起始位置,包头指定数据包的各种基本信息。分为若干不同的区段,包括length、numSlice、destY、destX、multicast、reserved;其中,length表示数据包的长度(不包含包头),numSlice表示数据块的个数,destX和destY分别是目标节点的横坐标和纵坐标(以主核为原点),multcast表示是否广播,值为1表示广播,值为0表示点对点传输,reserved是保留位。
例如,31位~18位是length位,17位~12位是numSlice位,11位~9位和8位~6位分别是destY和destX位;5位是multicast位,4位~0位是保留位,尚未使用。
广播过程是实现并行GPDT算法中通信开销最大的通信任务,为了减少广播通信延时,本发明将主核放置在Mesh网络的中心位置,使其到达其他子核的平均距离最短;同时本发明还设计了相对平衡的广播通信机制,如图2(a)所示,以25核为例的广播通信链路。以主核为原点,主核向其左上方和右下方广播数据时,先沿x方向到达与目标核x坐标相同的位置,再沿y方向最终到达目标核。主核向其右上方和左下方广播数据时,先沿y方向到达与目标核y坐标相同的位置,再沿x方向最终到达目标核。
点对点传输所占用的通信链路,如图2(b)所示,每个子核只向其相邻的子核或主核发送数据,通过与广播链路相反的方向将数据一次传输到主核。某些子核还承担了部分数据汇总的任务,不仅可以减轻主核的工作负担,还进一步减少了通信数据量,降低了通信阻塞概率的发生。
采用包交换的数据传输方式,在一条链路上可以提供多个数据通路,大大提高数据的传输效率。
附图说明
图1片上网络主要拓扑结构。其中,(a)树状,(b)星状,(c)网格状。
图2 广播和点对点传输的通信链路(5×5 Mesh)。其中,(a)为广播的通信链路,(b)为点对点传输的通信链路。
图3 数据包的结构。
图4 数据包包头的结构。
图5 点对点传输不同位置的核接收到的数据块个数(优化前)。
图6 点对点传输不同位置的核接收到的数据块个数(优化后)。
具体实施方式
下面结合附图,对本发明作进一步的描述。
首先,广播过程是实现并行GPDT算法中通信开销最大的通信任务,为了减少广播过程中的通信延时,本发明将主核放置在二维Mesh网络的中心位置,其他子核放置在其周围,使得主核到达其他子核的平均距离最短,最重要的是本发明设计了相对平衡的广播通信机制,以25核的Mesh网络为例如图2(a),这种机制具体实现方式如下:
以主核为坐标原点,穿过主核的相互垂直且平行于Mesh网络的相邻两条边的线分别为x轴和y轴,为该坐标系中的所有核设置坐标(x0,y0).如果目标核的坐标x0<0,y0≥0或x0>0,y0≤0,那么广播数据时从坐标原点(0,0)出发,先沿x方向到达(x0,0),再沿y方向到达(x0,y0);如果目标核的坐标x0<0,y0≤0或x0>0,y0≥0,那么广播数据时从坐标原点(0,0)出发,先沿y方向到达(0,y0),再沿x方向到达(x0,y0)。
接着,点对点传输所占用的通信链路如图2(b)所示,每个子核只向与其相邻的核发送数据,与本地的数据累加之后,再依次传输到主核,不仅减少通信数据量,还能减轻主核的工作负担。仍然以广播时的坐标系为点对点传输的坐标系,假设要发送数据的子核的坐标为(x0,y0)。如果发送数据核的坐标x0<0,y0≥0或x0>0,y0≤0,那么点对点传输数据时从(x0,y0)出发,先沿x方向到达(x0+1,y0)或(x0-1,y0)核,在该核处与本地数据一起进行处理(累加操作),重复该过程直至到达(0,y0),再沿y方向重复上述过程直至到达主核(0,0);如果发送数据核的坐标x0<0,y0≤0或x0>0,y0≥0,那么点对点传输数据时从(x0,y0)出发,先沿y方向到达(x0,y0+1)或(x0,y0-1),在该核处与本地数据一起进行处理,重复该过程直至到达(x0,0),再沿x方向重复上述过程直至到达主核(0,0)。
本发明用到的通信方式为包交换。包交换是把由二进制数据表示的信息,分组为若干个长度相同的包,在每个包中添加地址信息和控制信息,在网络中以“存储-转发”的方式传输,即电路一旦空闲开始传输,不会占用固定的信道,被称为是无连接的方式,在一条链路上可以提供多个数据通路,大大提高数据传输效率。
待传输的数据是由32bit的数据组成的数据包,数据包的结构如图3所示,数据包中head表示包头,包含了数据包的地址信息和控制信息,recv[i]表示发送的数据中每个数据块的长度,disp[i]表示每个数据块在原矩阵中的起始位置,data[i]表示数据块的具体内容。其中,包头的结构如图4所示,length表示数据包的长度,numSlice表示数据块的个数;destY表示目标节点的纵坐标,destX表示目标节点的横坐标;multicast表示是否广播,广播时multicast置为1,点对点时,multicast置为0;reserved为保留位。
由图5可以看出,点对点传输时,子核越靠近主核发送的数据越多,通信量越大,在并行GPDT算法中存在两种不同类型的数据汇总行为(矩阵拼接和矩阵累加),为了减少整个并行GPDT的工作时间,除了将计算任务分配到多核上之外,也将矩阵拼接和累加的操作划分到多核上,不但减少了主核的工作量,也大大减少通信数据量,优化后的通信数据量如图6所示。
Claims (2)
1.一种基于Mesh拓扑结构的片上网络通信方法,其特征在于,包括:由主核向各个子核通信的广播方法,由各个子核向主核通信的点对点方法;片上网络通信采用包交换的数据传输方式;其中:
由主核向各个子核通信的广播方法,对于一个N×N的2D Mesh网络,以中心的一个核称为主核,以其周围的核称为子核,该主核按照一定的路由算法分别向各个子核由近及远传播数据;该路由算法为:
①主核为原点,其数据向其左上方和右下方传播时,先沿x方向再沿y方向,最终到达标核即子核);
②以主核为原点,向其右上方和左下方传播时,先沿y方向再沿x方向,最终到达目标核即子核;
由各个子核向主核通信的点对点方法,对于一个N×N的2D Mesh网络,以中心的一个核称为主核,以其周围的核称为子核,由各个子核按照一定的路由算法分别向与其相邻的子核传播数据并最终汇总到主核;该路由算法为:①以主核为原点,其左上方和右下方的子核数据向主核传播时,先沿x方向再沿y方向,最终到达目标核即主核;②以主核为原点,其右上方和左下方的子核数据向主核传播时,先沿y方向再沿x方向,最终到达目标核即主核;
所述包交换的数据传输方式,其数据包由待传输的数据是一系列32bit的数据组成,数据包的结构设计为:head表示包头,recv[i]表示发送的数据中每个数据块的长度,disp[i]表示每个数据块在原矩阵中的起始位置,data[i]表示数据块的内容;
包头位于数据包的起始位置,指定数据包的各种基本信息,分为若干不同的区段,包括length、numSlice、destY、destX、multicast、reserved;其中,length表示数据包的长度,numSlice表示数据块的个数,destX和destY分别是目标节点的横坐标和纵坐标,以主核为原点,multicast表示是否广播,值为1表示广播,值为0表示点对点传输,reserved是保留位。
2.根据权利要求1所述的基于Mesh拓扑结构的片上网络通信方法,其特征在于,所数据包的包头中,31位~18位是length位,17位~12位是numSlice位,11位~9位和8位~6位分别是destY和destX位;5位是multicast位,4位~0位是保留位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610830325.1A CN106254254B (zh) | 2016-09-19 | 2016-09-19 | 一种基于Mesh拓扑结构的片上网络通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610830325.1A CN106254254B (zh) | 2016-09-19 | 2016-09-19 | 一种基于Mesh拓扑结构的片上网络通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106254254A CN106254254A (zh) | 2016-12-21 |
CN106254254B true CN106254254B (zh) | 2020-05-26 |
Family
ID=57599798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610830325.1A Active CN106254254B (zh) | 2016-09-19 | 2016-09-19 | 一种基于Mesh拓扑结构的片上网络通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106254254B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213091B (zh) * | 2019-05-23 | 2021-06-04 | 复旦大学 | 自动化拓扑方法 |
CN114270330A (zh) * | 2019-08-24 | 2022-04-01 | 北京希姆计算科技有限公司 | 数据传输电路及方法、核、芯片、电子设备及存储介质 |
CN114095289B (zh) * | 2020-08-07 | 2023-05-12 | 北京希姆计算科技有限公司 | 数据多播电路、方法、电子设备及计算机可读存储介质 |
CN114363246A (zh) * | 2020-09-30 | 2022-04-15 | 北京灵汐科技有限公司 | 众核的片上网络数据传输方法、装置、设备及介质 |
CN112822127B (zh) * | 2020-12-29 | 2023-07-04 | 北京灵汐科技有限公司 | 片上网络的数据广播方法、装置、芯片及介质 |
CN112532529B (zh) * | 2021-02-09 | 2021-05-11 | 深圳市乙辰科技股份有限公司 | 一种mesh路由拓扑组网方法及系统 |
CN114745395B (zh) * | 2022-04-07 | 2023-12-26 | 深圳大学 | 一种p2p广播超团转发方法、装置、设备及存储介质 |
CN115333946B (zh) * | 2022-07-28 | 2024-03-08 | 深圳海星智驾科技有限公司 | 一种机器人操作系统的节点查询方法、装置和设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502378B2 (en) * | 2006-11-29 | 2009-03-10 | Nec Laboratories America, Inc. | Flexible wrapper architecture for tiled networks on a chip |
CN101262444A (zh) * | 2008-03-10 | 2008-09-10 | 清华大学 | 基于通道交叠的容错mesh网避免死锁的路由方法 |
CN101267394A (zh) * | 2008-03-10 | 2008-09-17 | 清华大学 | 三维mesh网中无死锁的平面自适应路由方法 |
CN101242372A (zh) * | 2008-03-10 | 2008-08-13 | 清华大学 | k元N维mesh网中的无死锁路由方法 |
CN101625673B (zh) * | 2008-07-07 | 2012-06-27 | 中国科学院计算技术研究所 | 一种二维网格片上网络的任务映射方法 |
FR2949879B1 (fr) * | 2009-09-04 | 2014-07-18 | Kalray | Noeuds d'entree/sortie d'un reseau sur puce torique. |
CN102333038B (zh) * | 2011-10-21 | 2013-11-13 | 上海交通大学 | 一种基于片上网络的无死锁路由方法 |
CN103428804B (zh) * | 2013-07-31 | 2016-03-30 | 电子科技大学 | 寻找片上网络任务与节点间映射方案及网络编码位置方法 |
-
2016
- 2016-09-19 CN CN201610830325.1A patent/CN106254254B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106254254A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254254B (zh) | 一种基于Mesh拓扑结构的片上网络通信方法 | |
CN105450555B (zh) | 一种片上网络系统,及片上网络通信链路的建立方法 | |
CN102970722B (zh) | 一种低时延的容迟容断传感器网络的组播路由算法 | |
CN102685017A (zh) | 一种基于fpga的片上网络路由器 | |
CN104754688A (zh) | 用于基于纠缠态的无线Mesh量子通信网络的路由方法 | |
CN102437953B (zh) | 片上网络中的低功耗自适应路由方法 | |
CN105163354B (zh) | 一种利用成对流间网络编码机会的数据流时延保障策略 | |
CN103209435A (zh) | 基于拥塞控制的无线多跳网多播方法 | |
CN103986661A (zh) | 一种支持网络编码的组播路由协议 | |
CN104683242A (zh) | 一种二维片上网络的拓扑结构以及路由方法 | |
CN103916253A (zh) | 一种基于信息中心网络的信息传输方法及其系统 | |
CN102143546A (zh) | 一种用于降低树型ZigBee网络中冗余路由包的方法 | |
CN104702506A (zh) | 一种报文传输方法、网络节点及报文传输系统 | |
CN102801622A (zh) | 一种数据报文的转发方法及转发装置 | |
CN111132236A (zh) | 基于改进olsr协议的多无人机自组织网络mpr节点选择方法 | |
CN104994508A (zh) | 一种认知无线mesh网络资源分配及路由方法 | |
CN102546380A (zh) | 修改的基于树的多播路由方案 | |
CN105072586A (zh) | 嵌入式无线自组织网络中对广播消息的转发的管理方法 | |
CN103312619B (zh) | 一种同时删除和转移消息的拥塞控制方法 | |
CN105072046A (zh) | 一种基于令牌控制节点并发数据转发的延迟容忍网络拥塞避免方法 | |
Huynh et al. | Energy efficient delay-aware routing in multi-tier architecture for wireless sensor networks | |
CN113203940B (zh) | 3D NoC测试规划中的并行测试方法 | |
CN109617818B (zh) | 一种报文转发方法及装置 | |
Hu et al. | NoC architecture with local bus design for network coding | |
Tanabe et al. | Comparative evaluation of information dissemination methods for effective and efficient information sharing in wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |