CN111597141B - 一种面向超高阶互连芯片的分级交换结构及死锁避免方法 - Google Patents

一种面向超高阶互连芯片的分级交换结构及死锁避免方法 Download PDF

Info

Publication number
CN111597141B
CN111597141B CN202010402657.6A CN202010402657A CN111597141B CN 111597141 B CN111597141 B CN 111597141B CN 202010402657 A CN202010402657 A CN 202010402657A CN 111597141 B CN111597141 B CN 111597141B
Authority
CN
China
Prior art keywords
message
port
network
module
chip
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
CN202010402657.6A
Other languages
English (en)
Other versions
CN111597141A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010402657.6A priority Critical patent/CN111597141B/zh
Publication of CN111597141A publication Critical patent/CN111597141A/zh
Priority to US17/109,155 priority patent/US11343203B2/en
Application granted granted Critical
Publication of CN111597141B publication Critical patent/CN111597141B/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种面向超高阶互连芯片的分级交换结构及死锁避免方法,本发明的分级交换结构包括片上网络和K个多端口组件,多端口组件包括:端口模块,用于通过高速串行/解串器接收报文、对报文进行编码和格式转换后发送至对应的报文检查模块,以及将报文检查模块发送的报文发送到网络中;报文检查模块,用于对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络,以及用于对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并报文发送至对应的端口模块。本发明能够提高网络交换效率,降低报文交换延迟,有效避免超高阶互连芯片中的报文交换中的死锁问题,可广泛用于超高阶芯片设计中。

Description

一种面向超高阶互连芯片的分级交换结构及死锁避免方法
技术领域
本发明涉及互连芯片技术,具体涉及一种面向超高阶互连芯片的分级交换结构及死锁避免方法。
背景技术
高速互连网络属于高性能计算系统核心关键部件,是影响性能和规模均衡扩展的最重要因素之一。高性能计算机性能提升主要通过提高系统并行性来实现。由于受到摩尔定律影响处理器发展速率放缓,E级高性能计算系统中计算核数势必按照指数增长,这将给高性能互连网络性能功耗都带来了巨大挑战。未来E量级计算机系统互连功耗预算约3~4兆瓦,结点注入速率400Gbps,网络规模支持10~20万结点。如果采用传统高速互连技术将无法满足上述指标需求,将面临系统成本功耗难以承受、互连网络工程化密度难以提高等多方面挑战。
在高性能系统互连网络中,要想获得更低的网络延迟,网络中路由器的最佳阶数k将随着高性能计算机技术进步而增长,k将不断向更高阶方向发展。现基于高阶路由器交换芯片的高性能互连网络已成为主流趋势,互连芯片向更高阶方向发展是实现低功耗、高密度互连网络的必然选择。目前互连网络技术以高速串行/解串器(SerDes)速率为代际特征持续发展,使路由器片上集成SerDes速率和数量进一步增加,未来互连芯片朝向更高阶方向发展成为一种趋势。2013年克雷公司XC系列高速网络配置了48端口互连交换芯片Aries,单个端口速率3通道×14Gbps。2014年天河高性能计算机高速互连网络配置了24端口网络交换芯片,SerDes速率14Gbps,相对天河一号网络交换芯片16端口和10Gbps SerDes速率显著改善;2015年天河二号升级新一代全自主高阶增强倍速(Enhanced Data Rate,简称EDR)互连网络,端口数量达到48。Menallox公司在2015年推出了36 端口EDR无限带宽(InfiniBand)高速网络,2019年再次推出了多达80端口的HDR交换芯片。IBM 公司则将高阶理念发挥至极致,研究了单端口1Lane×25Gbps,集成136端口的鹞式网络。上述克雷公司也在2016年在XC超级计算机网络配置了48端口互连交换芯片Aries,2020年再次推出Slingshot互连芯片,端口数量多达64,聚合带宽到达12.8Tbps。
随着超高阶互连芯片(High radix Network Router,简称NR)中交换端口数量的增加,导致交换端口占用网络资源过多、交换延迟高、缓冲区资源不足,进而可能导致出现芯片死锁。因此基于系统互连网络超高阶交换芯片设计的主流趋势,如何面向超高阶互连芯片的分级交换结构,并设计分级交换结构中的死锁避免方法,来满足未来低成本、低功耗、高密度系统互连网络搭建需求,已经成为一项亟待解决的关键技术问题。
发明内容
本发明要解决的技术问题:针对现有的超高阶互连芯片中交换端口多导致的占用网络资源过多、交换延迟高、缓冲区资源不足可能导致出现芯片死锁等特点,提供一种面向超高阶互连芯片的分级交换结构及死锁避免方法,本发明能够提高网络交换效率,降低报文交换延迟,有效避免超高阶互连芯片中的报文交换中的死锁问题,可广泛用于超高级芯片设计中。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向超高阶互连芯片的分级交换结构,包括片上网络和K个用于汇聚多个交换端口的多端口组件,所述多端口组件包括:端口模块,用于通过高速串行/解串器接收来自网络中的报文,对报文进行编码和格式转换后发送至对应的报文检查模块,以及将对应的报文检查模块发送的报文通过高速串行/解串器发送到网络中;报文检查模块,用于对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络进行交换,以及用于对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并将报文发送至对应的端口模块。
可选地,所述端口模块包括物理编码子层子模块和M个数据链路层协议子模块,所述物理编码子层子模块通过高速串行/解串器与网络相连、且分别通过M个数据链路层协议子模块与报文检查模块相连,所述物理编码子层子模块用于对报文数据进行对齐和重组,所述数据链路层协议子模块用于对报文格式转换和协议处理。
可选地,所述报文检查模块包括输入报文检查逻辑和输出报文检查逻辑,所述输入报文检查逻辑包括M个完全相同的端口协议处理逻辑、第一选择器部件、动态分配多队列部件以及第二选择器部件,所述端口协议处理逻辑包括报文检查部件、路由计算部件、ECC校验部件、先进先出队列缓冲,所述报文检查部件、路由计算部件两者并联后再通过ECC校验部件与先进先出队列缓冲的输入端相连,来自端口模块的报文比输入到对应的端口协议处理逻辑中,第一选择器部件轮流选择各个端口协议处理逻辑中的报文并存储在动态分配多队列部件中,所述第二选择器部件用于将动态分配多队列部件中存储的报文输出至片上网络。
可选地,所述输出报文检查逻辑包括数据校验部件、虚通道映射部件和M个完全相同的报文格式转换部件,来自片上网络的报文依次通过数据校验部件、虚通道映射部件后通过报文格式转换部件输出至端口模块。
可选地,所述报文检查部件包括依次相连的报文分区检查逻辑、序列报文检查逻辑和报文正确性检查逻辑。
可选地,所述路由计算部件包括依次相连的路由地址计算逻辑、路由地址查表逻辑、路由地址校验逻辑以及路由方式选择逻辑。
可选地,所述动态分配多队列部件为由16虚通道共享缓冲的存储器构成,且设置每两个端口协议处理逻辑共享1个16虚通道共享缓冲的存储器。
可选地,每一个动态分配多队列部件包含用于记录报文尾切片是否到达和到达时的异常检测信息的尾切片队列、用于记录头切片信息和头切片到达时的异常检测信息即路由计算信息的控制队列、以及用于记录数据有效载荷以及ECC数据保护信息的数据队列。
此外,本发明还提供一种前述面向超高阶互连芯片的分级交换结构的死锁避免方法,实施步骤包括:
1)第u个多端口组件的端口模块PORT u 通过高速串行/解串器接收来自网络中的报文;
2)所述端口模块PORT u 对报文进行编码和格式转换后发送至第u个多端口组件的报文检查模块HP u ;所述报文检查模块HP u 对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络进行交换;
3)片上网络对从报文检查模块HP u 接收到的报文根据报文的控制信息进行行列交换,将报文发送至对应的第v个多端口组件的报文检查模块HP v
4)所述报文检查模块HP v 对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并将报文发送至第v个多端口组件的端口模块PORT v ;所述端口模块PORT v 对报文进行格式转换和协议处理后将报文通过高速串行/解串器发送至下一级网络交换芯片或者网络接口芯片。
可选地,步骤2)的详细步骤包括:端口模块PORT u 的物理编码子层子模块对接收报文进行重组和对齐并转发给对应的数据链路层协议子模块LLP x 处理;所述数据链路层协议子模块处理LLP x 对报文进行编码、校验并发送给第u个多端口组件的报文检查模块HP u 中对应的端口协议处理逻辑HPORT x ;所述端口协议处理逻辑HPORT x 根据报文的虚通道号s向片上网络的接收端虚通道的第x*M*P+x*P+s个虚通道共享缓冲发送报文,其中xs为整数,且满足0≤xM-1,0≤sP-1,其中P为每个缓冲区对应的虚通道数目,即每个报文可选择从P个虚通道之一进行发送或接收;步骤3)的详细步骤包括:片上网络从接收端虚通道缓冲区提取报文进行行列交换,然后存储至片上网络的发送端虚通道缓冲区,片上网络从第t个发送端虚通道缓冲区VC t 抽取报文向第v个多端口组件的报文检查模块HP v 内的报文格式转换部件GB y 发送报文,其中ty均为整数,0≤tM*M*P-1,0≤yM-1y=t%(M*P)yt除以M* P的余数;步骤4)的详细步骤包括:所述报文检查模块HP v 对接收的片上网络报文进行校验、通道映射并通过第y个报文格式转换部件GB y 转换为数据链路层协议报文,将该报文发送给第v个多端口组件的端口模块PORT v 中的数据链路层协议子模块LLP y ;所述数据链路层协议子模块LLP y 对报文进行解析后发往所述端口模块PORT v 中的物理编码子层子模块;所述物理编码子层子模块对报文进行重组和对齐处理后通过高速串行/解串器发往高速网络中的下一级网络交换芯片或者网络接口芯片。
和现有技术相比,本发明具有下述优点:
1、本发明在超高阶互连芯片内部设置多端口组件和片上网络两级交换结构;多端口组件中的交换采用了报文检查和路由计算的并行处理方式,报文的检查可以在一个时钟周期内完成,路由计算可以在3个时钟周期内完成,使用本发明的设计可以实现报文检查和路由计算的并行执行,可有效减少报文协议解析的时序路径长度,节约硬件资源。
2、本发明能够在网络交换中的多端口组件和片上网络中无死锁交换,避免网络交换芯片中数据拥堵导致的死锁问题,实现了网络交换芯片中网络报文高带宽、低延迟的数据传输;
附图说明
图1是本发明实施例中的分级交换总体结构示意图。
图2是本发明实施例中的多端口组件的结构示意图。
图3是本发明实施例中的报文检查模块的入口协议处理结构。
图4是本发明实施例中的网络交换芯片的死锁避免方法的流程图。
具体实施方式
如图1所示,本实施例中面向超高阶互连芯片的分级交换结构包括片上网络和K个用于汇聚多个交换端口的多端口组件(第0 MPORT模块,…,第k MPORT模块,…,第K-1MPORT模块)。记超高阶互连芯片的交换端口数目为N,每M个交换端口汇聚为一个多端口组件,K个多端口组件的报文通过片上网络(Network On Chip,简称NOC)进行全交换,K个多端口组件结构完全相同,MNK、k为整数,MN的因子,即N可被M整除,K=N/M,0≤kK-1。网络交换芯片中报文交换可分为两级:多端口组件内的报文交换和片上网络中的报文交换。
如图2所示,多端口组件包括:
端口模块(简称PORT模块),用于通过高速串行/解串器(即SerDes)接收来自网络中的报文,对报文进行编码和格式转换后发送至对应的报文检查模块,以及将对应的报文检查模块发送的报文通过高速串行/解串器发送到网络中;
报文检查模块(简称HP模块),用于对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络进行交换,以及用于对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并将报文发送至对应的端口模块。
记第k个多端口组件中的端口模块和报文检查模块分别为PORT k 和HP k 。若第u个多端口组件为输入端口、第v个多端口组件为输出端口,则有:第u个多端口组件中的端口模块PORT u 通过高速串行/解串器接收来自网络中的报文,对报文进行编码和格式转换后发送至报文检查模块HP u 。报文检查模块HP u 对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络进行交换。片上网络对从报文检查模块HP u 收到的报文根据报文的控制信息进行行列交换,将报文发送至对应的第v个多端口组件中的报文检查模块HP v 。报文检查模块HP v 对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并将报文发送至端口模块PORT v 。端口模块PORT v 对报文进行格式转换和协议处理后将报文通过高速串行/解串器发送至下一级NR芯片进行交换。其中,uv为整数,0≤uK-1,0≤vK-1。
如图2所示,端口模块包括物理编码子层(Physical Coding Sublayer,简称PCS)子模块和M个数据链路层协议(Link Level Protocol,简称LLP)子模块(LLP 0 ~LLP M-1 ),物理编码子层子模块通过高速串行/解串器与网络相连、且分别通过M个数据链路层协议子模块(LLP 0 ~LLP M-1 )与报文检查模块相连,物理编码子层子模块用于对报文数据进行对齐和重组,数据链路层协议子模块(LLP 0 ~LLP M-1 )用于对报文格式转换和协议处理。
如图2所示,报文检查模块包括输入报文检查逻辑(HP_Ingress)和输出报文检查逻辑(HP_Egress),输入报文检查逻辑(HP_Ingress)用于从端口模块的数据链路层协议子模块接收数据链路层协议报文,对高速报文协议进行处理,负责进行报文合法性检查、分区检查、跳步数检查、通道切换、路由计算以及报文的格式转换,丢弃非法报文,做好相关记录,将合法报文转发给片上网络进行交换,最后通过片上网络将合法报文传递到数据链路层协议端口发送给下一级网络交换芯片(NR芯片);输出报文检查逻辑(HP_Egress)用于从片上网络接收报文,对片上网络报文进行数据校验、通道映射以及格式转换,将片上网络报文转换为数据链路层协议报文,提交给端口模块中的数据链路层协议子模块。
如图2和图3所示,输入报文检查逻辑(HP_Ingress)包括M个完全相同的端口协议处理逻辑(HPORT 0 ~HPORT M-1 )、第一选择器部件(Mux4)、动态分配多队列(DynamicAllocated Multi-Queue, 简称DAMQ)部件以及第二选择器部件(Mux32),以HPORT i 表示第i个端口协议处理逻辑,i为整数且0≤iM-1
如图2和图3所示,端口协议处理逻辑包括报文检查部件、路由计算部件(RoutingComputing,简称RC)、ECC校验部件(Error Correcting Code Generator,简称ECC_GEN)、先进先出队列缓冲(First In First Out,简称FIFO),报文检查部件、路由计算部件两者并联后再通过ECC校验部件与先进先出队列缓冲的输入端相连,来自端口模块的报文比输入到对应的端口协议处理逻辑中,第一选择器部件轮流选择各个端口协议处理逻辑中的报文并存储在动态分配多队列部件中,第二选择器部件用于将动态分配多队列部件中存储的报文输出至片上网络。
如图2和图3所示,输出报文检查逻辑(HP_Egress)包括数据校验部件(Data ErrorCorrecting,简称DEC)、虚通道映射部件(Virtual Channel to Virtual Channel,简称VC2VC)和M个完全相同的报文格式转换部件(GearBox,简称GB),来自片上网络的报文依次通过数据校验部件、虚通道映射部件后通过报文格式转换部件输出至端口模块。
如图3所示,报文检查部件包括依次相连的报文分区检查逻辑(Partition KeyChecking,简称PKC)、序列报文检查逻辑(Sequence Packet Checking,简称SPC)和报文正确性检查逻辑(Packet Checking,简称PC)。需要说明的是,报文正确性检查、报文分区检查均为对报文的格式进行校验,序列报文检查为对报文的序号连续性进行检查,上述检查均为现有技术,故在此不再赘述。
如图3所示,路由计算部件包括依次相连的路由地址计算逻辑rtb_addr_gen、路由地址查表逻辑rtb_mem、路由地址校验逻辑rtb_ecc_chk以及路由方式选择逻辑rtb_port_select。需要说明的是,路由地址计算、路由地址查表、路由地址校验、路由方式选择均为路径路径处理的常规方式,故在此不再详述。
参见前文可知,本实施例中每个端口协议处理逻辑中采用报文检查和路由计算的并行处理方式。每个端口协议处理逻辑从端口模块接收报文,报文检查部件和路由计算部件并行进行报文检查和路由计算后,将合法报文和路由计算结果发送给ECC校验逻辑。ECC校验逻辑对报文关键信息进行保护,将报文数据信息、控制信息以及校验信息存入端口协议处理逻辑的先进先出队列缓冲,随后第一选择器部件循环读取各个端口协议处理逻辑的先进先出队列缓冲中数据并存入动态分配多队列部件的缓冲区中。
本实施例中,动态分配多队列部件为由16虚通道共享缓冲的存储器构成,且设置每两个端口协议处理逻辑共享1个16 虚通道共享缓冲的存储器。记NR芯片核心时钟频率为C MHZ,LLP报文长度为W 1 bits,单个DAMQ输入数据宽度为W 2 bits,则LLP输入最大带宽为W 1 *C bps,动态分配多队列部件的最大输入带宽为W 2 *C bpsC、W 1 、W 2 为正整数,并且2*W 1 W 2 。为了避免网络拥塞,本实施例中设置每两个端口协议处理逻辑共享1个16虚通道共享缓冲的存储器。第一选择器部件通过无缝隙的对来自不同端口协议处理逻辑组合的报文切片进行循环优先级调度,来确保各个端口协议处理逻辑内部的先进先出队列缓冲的缓冲区不会出现异常。
如图3所示,每一个动态分配多队列部件包含用于记录报文尾切片是否到达和到达时的异常检测信息的尾切片队列(简称TAIL DAMQ)、用于记录头切片信息和头切片到达时的异常检测信息即路由计算信息的控制队列(简称CRTL DAMQ)、以及用于记录数据有效载荷以及ECC数据保护信息的数据队列(简称DATA DAMQ)。在网络交换芯片内对数据通路的数据进行ECC保护,数据通路内一共有3类缓冲:输入缓冲、行缓冲和列缓冲。所有的缓冲都带ECC编码,又分为数据缓冲和控制缓冲。行缓冲区的值包括头尾、虚通道、目的Tile的行号、目的端口号、是否保序、是否转维信息用于仲裁,数据缓冲根据仲裁结果传递数据。针对控制缓冲为了保证数据正确性,每次读写都会进行ECC校验操作;针对数据缓冲,进入输入缓冲进行ECC编码操作,从列缓冲读出数据进行ECC解码操作。对于CRTL DAMQ和TAIL DAMQ都具有ECC编码保护,但是对于DATA DAMQ在HP输入端口进行ECC计算,在HP的输出端口进行分ECC校验。由于DATA DAMQ宽度比较大,将DAMQ分为TAIL DAMQ、CRTL DAMQ和DATA DAMQ,并且DATA DAMQ在报文检查模块的输入端口进行ECC计算,在报文检查模块的输出端口进行分ECC校验,这样做的好处在于可以全芯片保护数据,但可以有效节省硬件资源,避免出现不必要的时序关键路径。
第一选择器部件(Mux4)用于从动态分配多队列部件的缓冲区中读取报文,根据报文的目的端口号和报文的虚通道号产生片上网络报文发送给片上网络进行交换。发往片上网络的报文根据报文中的控制信息字段选择在片上网络中将报文进行行列交换,并将报文传送至对应的片上网络输出端口发送给网络交换芯片中的其他多端口部件。
在网络交换芯片中采用基于信用控制的方式进行报文的传输,该方式具有传输速率高、传输延迟低、无丢失数据包等优势。但是,当交换节点或者目的节点的负载超过网络最大处理能力时网络拥塞将发生,产生芯片死锁,从而降低网络整体性能。为了实现N个端口的报文无死锁交换,本实施例进一步提供一种采用上述分级交换结构进行死锁避免的方法,用于在网络交换芯片中的报文检查和片上网络中实现无死锁交换,避免网络交换芯片中由于数据拥堵导致的死锁问题。如前文所记,在每个报文检查模块内有M个交换端口,每个端口模块内有M个数据链路层协议子模块。网络报文通过P个VC传输,在片上网络中设定M*M*P个接收端VC缓冲和发送端VC缓冲,P为正整数。如图4所示,本实施例还提供的面向超高阶互连芯片的分级交换结构的死锁避免方法的实施步骤包括:
1)第u个多端口组件的端口模块PORT u 通过高速串行/解串器接收来自网络中的报文;
2)端口模块PORT u 对报文进行编码和格式转换后发送至第u个多端口组件的报文检查模块HP u ;报文检查模块HP u 对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络进行交换;
3)片上网络对从报文检查模块HP u 接收到的报文根据报文的控制信息进行行列交换,将报文发送至对应的第v个多端口组件的报文检查模块HP v
4)报文检查模块HP v 对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并将报文发送至第v个多端口组件的端口模块PORT v ;端口模块PORT v 对报文进行格式转换和协议处理后将报文通过高速串行/解串器发送至下一级网络交换芯片或者网络接口芯片。
本实施例中,步骤2)的详细步骤包括:端口模块PORT u 的物理编码子层子模块对接收报文进行重组和对齐并转发给对应的数据链路层协议子模块LLP x 处理;所述数据链路层协议子模块处理LLP x 对报文进行编码、校验并发送给第u个多端口组件的报文检查模块HP u 中对应的端口协议处理逻辑HPORT x ;所述端口协议处理逻辑HPORT x 根据报文的虚通道号s向片上网络的接收端虚通道的第x*M*P+x*P+s个虚通道共享缓冲发送报文,其中xs为整数,且满足0≤xM-1,0≤sP-1,其中P为每个缓冲区对应的虚通道数目,即每个报文可选择从P个虚通道之一进行发送或接收。
本实施例中,步骤3)的详细步骤包括:片上网络从接收端虚通道缓冲区提取报文进行行列交换,然后存储至片上网络的发送端虚通道缓冲区,片上网络从第t个发送端虚通道缓冲区VC t 抽取报文向第v个多端口组件的报文检查模块HP v 内的报文格式转换部件GB y 发送报文,其中ty均为整数,0≤tM*M*P-1,0≤yM-1y=t%(M*P)yt除以M*P的余数。
本实施例中,步骤4)的详细步骤包括:所述报文检查模块HP v 对接收的片上网络报文进行校验、通道映射并通过第y个报文格式转换部件GB y 转换为数据链路层协议报文,将该报文发送给第v个多端口组件的端口模块PORT v 中的数据链路层协议子模块LLP y ;所述数据链路层协议子模块LLP y 对报文进行解析后发往所述端口模块PORT v 中的物理编码子层子模块;所述物理编码子层子模块对报文进行重组和对齐处理后通过高速串行/解串器发往高速网络中的下一级网络交换芯片或者网络接口芯片。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种面向超高阶互连芯片的分级交换结构,其特征在于,包括片上网络和K个用于汇聚多个交换端口的多端口组件,所述多端口组件包括:端口模块,用于通过高速串行/解串器接收来自网络中的报文,对报文进行编码和格式转换后发送至对应的报文检查模块,以及将对应的报文检查模块发送的报文通过高速串行/解串器发送到网络中;报文检查模块,用于对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络进行交换,以及用于对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并将报文发送至对应的端口模块。
2.根据权利要求1所述的面向超高阶互连芯片的分级交换结构,其特征在于,所述端口模块包括物理编码子层子模块和M个数据链路层协议子模块,所述物理编码子层子模块通过高速串行/解串器与网络相连、且分别通过M个数据链路层协议子模块与报文检查模块相连,所述物理编码子层子模块用于对报文数据进行对齐和重组,所述数据链路层协议子模块用于对报文格式转换和协议处理。
3.根据权利要求2所述的面向超高阶互连芯片的分级交换结构,其特征在于,所述报文检查模块包括输入报文检查逻辑和输出报文检查逻辑,所述输入报文检查逻辑包括M个完全相同的端口协议处理逻辑、第一选择器部件、动态分配多队列部件以及第二选择器部件,所述端口协议处理逻辑包括报文检查部件、路由计算部件、ECC校验部件、先进先出队列缓冲,所述报文检查部件、路由计算部件两者并联后再通过ECC校验部件与先进先出队列缓冲的输入端相连,来自端口模块的报文比输入到对应的端口协议处理逻辑中,第一选择器部件轮流选择各个端口协议处理逻辑中的报文并存储在动态分配多队列部件中,所述第二选择器部件用于将动态分配多队列部件中存储的报文输出至片上网络。
4.根据权利要求3所述的面向超高阶互连芯片的分级交换结构,其特征在于,所述输出报文检查逻辑包括数据校验部件、虚通道映射部件和M个完全相同的报文格式转换部件,来自片上网络的报文依次通过数据校验部件、虚通道映射部件后通过报文格式转换部件输出至端口模块。
5.根据权利要求3所述的面向超高阶互连芯片的分级交换结构,其特征在于,所述报文检查部件包括依次相连的报文分区检查逻辑、序列报文检查逻辑和报文正确性检查逻辑。
6.根据权利要求3所述的面向超高阶互连芯片的分级交换结构,其特征在于,所述路由计算部件包括依次相连的路由地址计算逻辑、路由地址查表逻辑、路由地址校验逻辑以及路由方式选择逻辑。
7.根据权利要求3所述的面向超高阶互连芯片的分级交换结构,其特征在于,所述动态分配多队列部件由16虚通道共享缓冲的存储器构成,且设置每两个端口协议处理逻辑共享1个16虚通道共享缓冲的存储器。
8.根据权利要求3所述的面向超高阶互连芯片的分级交换结构,其特征在于,每一个动态分配多队列部件包含用于记录报文尾切片是否到达和到达时的异常检测信息的尾切片队列、用于记录头切片信息和头切片到达时的异常检测信息即路由计算信息的控制队列、以及用于记录数据有效载荷以及ECC数据保护信息的数据队列。
9.一种权利要求1~8中任意一项所述的面向超高阶互连芯片的分级交换结构的死锁避免方法,其特征在于实施步骤包括:
1)第u个多端口组件的端口模块PORT u 通过高速串行/解串器接收来自网络中的报文;
2)所述端口模块PORT u 对报文进行编码和格式转换后发送至第u个多端口组件的报文检查模块HP u ;所述报文检查模块HP u 对接收到的数据链路层的报文进行协议处理,丢弃非法报文,将合法报文转发给片上网络进行交换;
3)片上网络对从报文检查模块HP u 接收到的报文根据报文的控制信息进行行列交换,将报文发送至对应的第v个多端口组件的报文检查模块HP v
4)所述报文检查模块HP v 对从片上网络接收到的报文进行数据校验、格式转换和通道映射,并将报文发送至第v个多端口组件的端口模块PORT v ;所述端口模块PORT v 对报文进行格式转换和协议处理后将报文通过高速串行/解串器发送至下一级网络交换芯片或者网络接口芯片。
10.根据权利要求9所述的面向超高阶互连芯片的分级交换结构的死锁避免方法,其特征在于,步骤2)的详细步骤包括:端口模块PORT u 的物理编码子层子模块对接收报文进行重组和对齐并转发给对应的数据链路层协议子模块LLP x 处理;所述数据链路层协议子模块处理LLP x 对报文进行编码、校验并发送给第u个多端口组件的报文检查模块HP u 中对应的端口协议处理逻辑HPORT x ;所述端口协议处理逻辑HPORT x 根据报文的虚通道号s向片上网络的接收端虚通道的第x*M*P+x*P+s个虚通道共享缓冲发送报文,其中xs为整数,且满足0≤xM-1,0≤sP-1,其中P为每个缓冲区对应的虚通道数目,即每个报文可选择从P个虚通道之一进行发送或接收;步骤3)的详细步骤包括:片上网络从接收端虚通道缓冲区提取报文进行行列交换,然后存储至片上网络的发送端虚通道缓冲区,片上网络从第t个发送端虚通道缓冲区VC t 抽取报文向第v个多端口组件的报文检查模块HP v 内的报文格式转换部件GB y 发送报文,其中ty均为整数,0≤tM*M*P-1,0≤yM-1y=t%(M*P)yt除以M*P的余数;步骤4)的详细步骤包括:所述报文检查模块HP v 对接收的片上网络报文进行校验、通道映射并通过第y个报文格式转换部件GB y 转换为数据链路层协议报文,将该报文发送给第v个多端口组件的端口模块PORT v 中的数据链路层协议子模块LLP y ;所述数据链路层协议子模块LLP y 对报文进行解析后发往所述端口模块PORT v 中的物理编码子层子模块;所述物理编码子层子模块对报文进行重组和对齐处理后通过高速串行/解串器发往高速网络中的下一级网络交换芯片或者网络接口芯片。
CN202010402657.6A 2020-05-13 2020-05-13 一种面向超高阶互连芯片的分级交换结构及死锁避免方法 Active CN111597141B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010402657.6A CN111597141B (zh) 2020-05-13 2020-05-13 一种面向超高阶互连芯片的分级交换结构及死锁避免方法
US17/109,155 US11343203B2 (en) 2020-05-13 2020-12-02 Hierarchical switching fabric and deadlock avoidance method for ultra high radix network routers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010402657.6A CN111597141B (zh) 2020-05-13 2020-05-13 一种面向超高阶互连芯片的分级交换结构及死锁避免方法

Publications (2)

Publication Number Publication Date
CN111597141A CN111597141A (zh) 2020-08-28
CN111597141B true CN111597141B (zh) 2022-02-08

Family

ID=72185413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010402657.6A Active CN111597141B (zh) 2020-05-13 2020-05-13 一种面向超高阶互连芯片的分级交换结构及死锁避免方法

Country Status (2)

Country Link
US (1) US11343203B2 (zh)
CN (1) CN111597141B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697275B (zh) * 2020-12-30 2023-05-12 深圳云天励飞技术股份有限公司 数据处理方法和装置
CN115190069B (zh) * 2022-04-26 2023-12-05 中国人民解放军国防科技大学 一种高性能片上网络容错路由器装置
CN116016698B (zh) * 2022-12-01 2024-04-05 电子科技大学 一种面向RapidIO控制器与互连裸芯的对等式接口及数据交互方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821046A (zh) * 2012-08-03 2012-12-12 北京理工大学 一种片上网络路由器输出缓冲系统
CN110247970A (zh) * 2019-06-17 2019-09-17 中国人民解放军国防科技大学 一种互连芯片动态共享缓冲装置
CN110519174A (zh) * 2019-09-16 2019-11-29 无锡江南计算技术研究所 一种面向高阶路由器芯片的高效并行管理方法及架构

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185203B1 (en) * 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US7277449B2 (en) * 2002-07-29 2007-10-02 Freescale Semiconductor, Inc. On chip network
US20100049942A1 (en) * 2008-08-20 2010-02-25 John Kim Dragonfly processor interconnect network
CN101540787B (zh) * 2009-04-13 2011-11-09 浙江大学 片上分布式操作系统通讯模块的实现方法
JP5913912B2 (ja) * 2010-11-05 2016-04-27 インテル コーポレイション Dragonflyプロセッサ相互接続ネットワークにおける革新的な適応型ルーティング
WO2013048388A1 (en) * 2011-09-28 2013-04-04 Hewlett-Packard Development Company, L.P. Managing packet flow in a switch fabric
US9647921B2 (en) * 2012-08-07 2017-05-09 Qualcomm Incorporated Statistics and failure detection in a network on a chip (NoC) network
EP3214822B1 (en) * 2014-11-28 2020-05-27 Huawei Technologies Co., Ltd. Network on chip, communication control method and controller
US9660942B2 (en) * 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
CN108234310B (zh) * 2016-12-12 2021-06-15 清华大学 多层次互连网络、自适应路由方法及路由设备
US20190260504A1 (en) * 2018-02-22 2019-08-22 Netspeed Systems, Inc. Systems and methods for maintaining network-on-chip (noc) safety and reliability
KR102034698B1 (ko) * 2018-05-25 2019-10-21 성균관대학교산학협력단 네트워크 온 칩에서의 플릿 전송 방법 및 장치
US11165686B2 (en) * 2018-08-07 2021-11-02 International Business Machines Corporation Switch-connected Dragonfly network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821046A (zh) * 2012-08-03 2012-12-12 北京理工大学 一种片上网络路由器输出缓冲系统
CN110247970A (zh) * 2019-06-17 2019-09-17 中国人民解放军国防科技大学 一种互连芯片动态共享缓冲装置
CN110519174A (zh) * 2019-09-16 2019-11-29 无锡江南计算技术研究所 一种面向高阶路由器芯片的高效并行管理方法及架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
片上网络路由器缓存关键技术研究;樊利芳;《中国优秀博硕士学位论文全文数据库(硕士)》;20180615;全文 *

Also Published As

Publication number Publication date
US20210359958A1 (en) 2021-11-18
CN111597141A (zh) 2020-08-28
US11343203B2 (en) 2022-05-24

Similar Documents

Publication Publication Date Title
CN111597141B (zh) 一种面向超高阶互连芯片的分级交换结构及死锁避免方法
US7817659B2 (en) Method and apparatus for aggregating input data streams
US7573896B2 (en) Method and apparatus for generic interface, packet cut-through, overbooking, queue concatenation, and logical identification priority for a system packet interface device
KR101727874B1 (ko) 고성능 패브릭 내에서의 qos를 위한 방법, 장치 및 시스템
US20120173846A1 (en) Method to reduce the energy cost of network-on-chip systems
CN109684269B (zh) 一种pcie交换芯片内核及工作方法
CN107786471B (zh) 多fpga芯片间数据处理方法及转换装置
US20190044657A1 (en) Method and apparatus to manage undersized network packets in a media access control (mac) sublayer
US11954059B2 (en) Signal processing chip and signal processing system
US11494320B2 (en) Delayed link compression scheme
US8121150B1 (en) Method and apparatus for processing variable-length packets in a buffer memory for transmission
US7568062B2 (en) Data cut-through in an infiniband/fibre channel bridge
CN114185840A (zh) 一种三维多裸片互连网络结构
US20070242697A1 (en) Method and apparatus for processing data at physical layer
CN103312577B (zh) 一种处理mac数据的方法及装置
CN108614792B (zh) 1394事务层数据包存储管理方法及电路
CN117897697A (zh) 用于芯片到芯片接口的按需分组化
Swaminathan et al. Design of a low power network interface for Network on chip
US7752375B2 (en) Input output control apparatus with a plurality of ports and single protocol processing circuit
JP2013150259A (ja) フレーム伝送システム
CN101296189A (zh) 分布式流处理网络设备以及其中的报文传输方法
Naqvi et al. A multi-credit flow control scheme for asynchronous NoCs
Sarman et al. RIBiT: Reduced Intra-flit Bit Transitions for Bufferless NoC
CN112631985B (zh) 一种链路共享的片上网络
Li et al. Architecture Design of Protocol Controller Based on Traffic-Driven Software Defined Interconnection

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