一种用于片上消息网络的数据包路由方法技术

技术编号:32239326 阅读:10 留言:0更新日期:2022-02-09 17:43
本发明专利技术公开了一种用于片上消息网络的数据包路由方法,采用了很多措施来提高传输速度。例如底层交换机,例如1级、2级交换机无缓存直接转发;高层交换机可以采用多通道的方式解决通信瓶颈;也可以建立多维片上网络来进一步提高传输速度。支持片上网络通信协议分层实现。使用本发明专利技术提供的网络层数据包路由转发方法,使得片上网络的连接线数尽量少,占用芯片资源尽量小,功耗也小。功耗也小。功耗也小。

【技术实现步骤摘要】
一种用于片上消息网络的数据包路由方法


[0001]本专利技术涉及处理器
,更具体地说是一种用于片上消息网络的数据包路由方法。

技术介绍

[0002]功耗和制造工艺问题限制了单核处理器不断提高性能的发展途径,单核的主频已接近极限,多核或众核技术是提升处理器性能,同时降低功耗的最有效方式。
[0003]但是,当单芯片上集成越来越多的处理器核时,如何保证各个处理器核之间高效率通信成为1个重要问题。
[0004]多核或众核处理器的设计大致可以分为三类:总线或者交换开关互连的设计,流处理器和图形处理器,以及网络互连的处理器。以总线或交换开关为基本互连架构的多核设计的优点有:每个处理器核访问存储的路径都是一样的,而且这种共享存储也支持基于总线侦听的缓存一致性协议;各个处理器核类似于传统的单核处理器,具有较为强大的计算功能,只是作了一些裁剪来优化功耗等要素。也就是说,就算单线程应用程序没有任何改变,也能在新的多核处理器上运行,性能有可能有所提高。
[0005]但是这种结构的明显劣势来自于总线或者交换开关成为系统瓶颈,这个瓶颈体现在系统性能和功耗两个方面。
[0006]流处理器以及GPGPU(通用图形处理器)是一种大规模的数据并行计算模式。通常是采用SIMD技术,即单指令流多数据流来组织指令或数据的计算。这种结构的优点在于有效地支持大规模数据并行计算,但是缺点是只有存在大量规则数据并行的应用程序,GPU才能发挥其巨大优势。程序中的分支跳转以及线程间的数据共享都是GPU的软肋,就算能够被支持,效率也不高。如果谁想在GPU上做Web Server,那基本上是痴人说梦。其次,GPU需要对应用程序进行大量优化,以挖掘其并行性。这个优化过程需要对GPU结构和被优化的程序本身有着深刻地理解。
[0007]网络互连为主的处理器。无论是总线和交换开关的设计,还是流处理器,就没法从本质上改变多核乃至众核处理器设计上的不可扩展性。改变这种传统的互连,人们提出了使用片上网络的办法,使得未来众多的处理器核通过分布式的通讯方式相互沟通,从而避免了集中的互连设计带来的系统性能瓶颈以及较大的功耗开销。不过当片上集成核的数量不断增加时,如何把这个功能组织起来,并不是一个简单的事情。

技术实现思路

[0008]为了克服现有技术的上述缺陷,本专利技术提供一种用于片上消息网络的数据包路由方法。
[0009]为实现上述目的,本专利技术提供如下技术方案:
[0010]一种用于片上消息网络的数据包路由方法,包括:
[0011]一、交换机的缓存
[0012]交换机有2种,1种是内部不带缓存的,另1种是内部带缓存的。内部不带缓存的交换机是由组合逻辑构成,对数据没有延迟直接传递,适合于级数较低的交换机,例如1级或2级交换机。内部带缓存的交换机会缓存接收到的数据,其主要目的是隔断发送方和接收方之间的组合路径,防止组合逻辑路径过长。缓存的方式有2种,1种是基于寄存器的实时转发缓存,这种方式下内部缓存的寄存器位数要和接收数据位宽一致。每个时钟周期接收到的数据先放入缓存寄存器后,再转发到目的地址所在的交换机接口,数据接收和再发送之间有1个时钟周期的延迟;另1种是设置1个缓冲存储器把整个数据包接收下来,然后再转发到目的地址所在的交换机接口。这种方式下缓冲存储器的容量应该能装下最大数据包长度。而且再转发的时刻是不固定的,有可能边收边发,有可能是先接收完然后发送。
[0013]二、地址表示
[0014]处理器的地址有多个字段组成,1个具备N级处理器组的处理器的地址是{N

1级处理器组地址位段,
……
,2级处理器组地址位段,1级处理器组地址位段,1级处理器组内地址位段}。每个位段的位宽是由同级别下有多少个相同单元来决定的,例如如果1级处理器组内最多有4个处理器,那么1级处理器组内地址位段是2位;如果2级处理器组内最多有4个1级处理器组,那么1级处理器组地址位段也是2位。
[0015]1个具备2级处理器组的片上众核。共有16个处理器,所以处理器地址用4位表示。每1级处理器组内有4个处理器,每个处理器地址的低2位为1级处理器组内地址位段,高2位为1级处理器组地址位段。
[0016]例如,处理器P1的1级处理器组内地址位段为0b01,1级处理器组地址位段为0b00,那么P0的地址就是0b0001;处理器P12的1级处理器组内地址位段为0b00,1级处理器组地址位段为0b11,那么P12的地址就是0b1100。
[0017]同时每个处理器组也有1个组地址,处理器组的组地址中的组内位段全为0。例如G1.1的组地址为0b0100,G1.3的组地址为0b1100。
[0018]说明:本文中的数字表示中,以0b开头的数字为二进制数字,0b后面的每个数字为1位二进制数。
[0019]三、传输方式
[0020]数据报文的传输方式有单播,组播,广播三种形式。单播是指一对一传输,片上众核中的1个处理器向另1个处理器发送数据。组播是指1对多的传输,片上众核的1个处理器向某一处理器组内的所有处理器都发送相同的1个数据包。广播是指1个处理器对片上众核的所有处理器都发送相同的1个数据包。
[0021]在发送和接收端设立“type”字段来表示传输方式。Type的位宽和片上众核的最高处理器组的级数相同,而且type的每一位分别对应片上众核的每1级的组播控制。例如如果某一片上众核最高处理器组的级数为3级,type就有3位。可以规定type=0时表示单播;type[0]=0b1时表示对目的地址所在的1级处理器组内的各个处理器进行组播;type[1:0]=0b11时表示对目的地址所在的2级处理器组内的所有处理器和处理器组进行组播;以此类推。
[0022]以type具有3位为例说明type的表示。每一级的交换机会根据接收到的数据包的目的地址和传输方式来决定转发规则。type=0,表示是单播,即一对一的传输。Type=0b111,即所有位全部为1,表示是广播。Type=0b001,对目的地址所在的1级处理器组内的
各个处理器进行组播;type=0b011时表示对目的地址所在的2级处理器组内的所有处理器和处理器组进行组播。
[0023]当传输方式为广播时,不需要目的地址;当传输方式为1级处理器组组播时,目的地址中的“1级处理器组内地址位段”可以省略;当传输方式为2级处理器组组播时,目的地址中的“1级处理器组地址位段”和“1级处理器组内地址位段”都可以省略;以此类推。
[0024]四、交换机的转发规则
[0025]交换机的每个端口都有1个寄存器PADDR。PADDR用来存储此端口的地址。同时交换机也会设置1个寄存器来存储本处理器组的组地址GADDR。
[0026]一个交换机还有1个地址比较屏蔽寄存器PMASK。PMASK位宽和地址位宽相同。PMASK的作用主要是屏蔽一些不需要比较的字段,主要用于2级及以上的交换机。对于1级组交换机,PMASK本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于片上消息网络的数据包路由方法,其特征在于,包括:(一)传输方式确定在发送和接收端设立“type”字段来表示传输方式;Type的位宽和片上众核的最高处理器组的级数相同,而且type的每一位分别对应片上众核的每1级的组播控制;可以规定type=0时表示单播;type[0]=0b1时表示对目的地址所在的1级处理器组内的各个处理器进行组播;type[1:0]=0b11时表示对目的地址所在的2级处理器组内的所有处理器和处理器组进行组播;以此类推;当传输方式为广播时,不需要目的地址;当传输方式为1级处理器组组播时,目的地址中的“1级处理器组内地址位段”可以省略;当传输方式为2级处理器组组播时,目的地址中的“1级处理器组地址位段”和“1级处理器组内地址位段”都可以省略;以此类推;(二)交换机的转发规则确定交换机有1个寄存器PMASK;PMASK位宽和地址位宽相同;PMASK的作用主要是屏蔽一些不需要比较的字段,主要用于2级及以上的交换机;对于1级组交换机,PMASK可以省略,也可以设置为每一位都是1;对于单播的传输方式,从一个端口收到报文后,其报文的目的地址TADDR会与其他的组内端口的地址PADDR进行比较;比较规则是TADDR&PMASK==PADDR&PMASK;如果相等,说明目的地址与此端口的地址匹配要发往此端口;如果与某一端口地址相同则转发到此端口,如果与每个组内端口地址都不相同,则会被转发到组外端口;如果组外口正在被占用,则等待;如果有多个组外口,找任一个空闲的组外口发送出去即可;对于广播的传输方式,交换机不进行地址比较,直接将报文复制后转发到其他组内端口和组外端口;对于组播的传输方式,type的每1位对应1级的组播控制,交换机首先会将收到的type的每一位复制成和本级地址位段一样宽度并按位取反,形成和该级地址字段位数相同的1个数字CMPTYPE;组播时如果已经判定要在本组内组播,交换机会把报文的type改成每1位都为1的广播方式,丢弃报文的目的地址,然后发往交换机的组内端口;但是复制报文发往组外口的时候,报文不作任何修改;组播时是否要把报文复制到组外口,取决于type字段;如果本级为1级交换机,type[0]表示1级的组播控制,type[1]表示2级的组播控制;如果当前已经判定本1级组要组播,即type[0]=1,如果type[1]也为1,表示更高级组也要进行组播,这时将报文复制到组外口;如果type[1]为0,表示更高级组不进行组播,这时不复制报文到组外口。2.根据权利要求1所述的一种用于片上消息网络的数据包路由方法,其特征在于:交换机的每个端口都有1个寄存器PADDR;PADDR用来存储此端口的地址;同时交换机也会设置1个寄存器来存储本处理器组的组地址GADDR。3.根据权利要求1所述的一种用于片上消息网络的数据包路由方法,其特征在于:对于单播的传输方式,若交换机有4个组内口,地址分别为A口:0b110000,B口:0b110100,C口:0b111000,D口:0b111100;包括以下4种情况:情况1:从端口A中发送来1个报文目的地址为0b111000,那么这个报文的目的地址与其它3个口比较,发现与C口地址一致,于是将报文发送到C口;
情况2:从端口B中发送来1个报文目的地址为0b000000,那么这个报文的目的地址与其它3个口比较,都不一致;于是将报文发送到本交换机的组外口;情况3...

【专利技术属性】
技术研发人员:秦晓阳徐培欣
申请(专利权)人:苏州暴雪电子科技有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1