CN103001893B - 多路径透传方法和交换芯片 - Google Patents
多路径透传方法和交换芯片 Download PDFInfo
- Publication number
- CN103001893B CN103001893B CN201210535090.5A CN201210535090A CN103001893B CN 103001893 B CN103001893 B CN 103001893B CN 201210535090 A CN201210535090 A CN 201210535090A CN 103001893 B CN103001893 B CN 103001893B
- Authority
- CN
- China
- Prior art keywords
- cell
- exchange chip
- pressure
- transparent transmission
- slot number
- 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
Abstract
本发明实施例提供一种多路径透传方法和交换芯片,能够在发送端交换芯片和目标交换芯片之间的直连路径上传输的流量达到该直连路径的带宽的情况下,利用发送端交换芯片将多余流量发送给其它交换芯片,再由其它交换芯片将多余流量透传给目标交换芯片,从而使得系统中的交换芯片能够以超过该交换芯片与目标交换芯片之间带宽的带宽向目标交换芯片传输数据。
Description
技术领域
本发明涉及背板交换技术领域,特别涉及多路径透传方法和交换芯片。
背景技术
目前,具有N个槽位的全互连(fullmesh-N)背板交换系统通常采用直传方法传输数据,当流量需要从N个槽位中的一个槽位发往另一个槽位时,流量仅在这两个槽位中的交换芯片之间的直连高速信号走线中传递。如图1所示,以fullmesh-4背板交换系统为例,当该系统需要将数据从槽位101a发往槽位101b时,该数据流量仅能在槽位101a的线路卡102a中的交换芯片103a和槽位101b的线路卡102b中的交换芯片103b之间的信号走线中传递。当该系统中的交换芯片103a向交换芯片103b满流量传递数据时,交换芯片103a的其它发送端口,交换芯片103b的其它接收端口以及槽位101c的线路卡102c中的交换芯片103c、槽位101d的线路卡102d中的交换芯片103d都处于空闲浪费状态。在该系统的槽位中的线路卡的最大业务处理带宽为XGbps时,任意两个交换芯片之间的直连高速信号走线净带宽(扣除必要开销后的带宽)必须不小于XGbps,只有这样,才能满足线路卡的业务处理需求。由于fullmesh-N背板交换系统中的单个交换芯片需要同时与其它N-1个交换芯片相连,因此单个交换芯片的背板侧总带宽必须不小于X×(N-1)Gbps,其中N可以是大于等于3的自然数。这导致fullmesh-N背板交换系统存在明显的背板侧带宽浪费现象。此外,在fullmesh-N结构的N值较大的情况下,由于fullmesh-N背板交换系统的槽位数目较多,单个交换芯片所需的背板侧总带宽也会较大,因此,受交换芯片背板侧总带宽可实现性的约束,fullmesh-N背板交换系统的N值无法做的太大,从而限制了fullmesh-N背板交换系统的应用。
发明内容
有鉴于此,本发明实施例提供了一种多路径透传方法和交换芯片,能够提高交换系统的有效交换带宽。
第一方面提供了一种多路径透传方法,该方法包括:
第一交换芯片判断所述第一交换芯片向目标交换芯片直传流量是否达到二者之间的带宽阈值;
如果达到所述带宽阈值,则所述第一交换芯片将多余流量信元发送给与目标交换芯片相连的交换芯片;
其中,所述直传流量为所述第一交换芯片直接传输给目标交换芯片的流量;所述多余流量信元为所述第一交换芯片需要发送给所述目标交换芯片的,超过所述带宽阈值的流量信元。
在第一种可能的实现方式中,所述方法还包括:
第一交换芯片判断是否需要将接收到的流量信元进行透传;
在需要进行透传的情况下,所述第一交换芯片将所述接收到的流量信元进行透传。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一交换芯片判断是否需要将接收到的流量信元进行透传,包括:
从所述流量信元中提取出目标交换芯片槽位号;
将所述目标交换芯片槽位号与自身槽位号进行比较,如果二者不相同,则需要将所述流量信元进行透传;如果二者相同,则不需要将所述流量信元进行透传。
结合第二种可能的实现方式,在第三种可能的实现方式中,所述第一交换芯片实时检测其发送队列反压水线,将检测到的反压通过反压信元发送给与其相连的交换芯片;
其中,所述反压信元是包含了导致反压的反压源槽位号和反压目标槽位号的信元。
结合第三种可能的实现方式,在第四种可能的实现方式中,所述第一交换芯片接收与其相连的交换芯片发送的反压信元。
结合第四种可能的实现方式,在第五种可能的实现方式中,所述第一交换芯片根据自身检测到的反压以及接收到的反压信元,维护自身的反压信息表。
结合第五种可能的实现方式,在第六种可能的实现方式中,所述如果达到所述带宽阈值,则所述第一交换芯片将多余流量信元发送给与目标交换芯片相连的交换芯片,包括:
如果第一交换芯片检测到其发送队列存在反压,则所述第一交换芯片根据自身的反压信息表,从所述与目标交换芯片相连的交换芯片中确定透传芯片;
所述第一交换芯片将所述多余流量信元发送给所述透传芯片;
其中,所述透传芯片是指与第一交换芯片和目标交换芯片之间都不存在反压的交换芯片。
结合第六种可能的实现方式,在第七种可能的实现方式中,所述第一交换芯片基于优先级轮询对各种流量信元进行调度。
结合第七种可能的实现方式,在第八种可能的实现方式中,所述第一交换芯片基于优先级轮询对各种流量信元进行调度,包括:
所述第一交换芯片对直传流量信元、多余流量信元以及接收到的需要进行透传的流量信元进行优先级设置;
所述第一交换芯片按照优先级的高低对发送端口的直传流量信元、多余流量信元以及接收到的需要进行透传的流量信元依次进行发送。
结合第八种可能的实现方式,在第九种可能的实现方式中,所述第一交换芯片对直传流量信元、多余流量信元以及接收到的需要进行透传的流量信元进行优先级设置是:将直传流量信元的优先级设为高,将多余流量信元以及接收到的需要进行透传的流量信元的优先级设为低。
第二方面,提供了一种交换芯片,所述交换芯片包括:业务处理模块、第1发送队列-第n发送队列、第1接收队列-第n接收队列、第1透传队列-第n透传队列,调度模块,分发模块,第1发送端口-第n发送端口以及第1接收端口-第n接收端口;其中,
所述业务处理模块,用于将信元组装后发给相应的发送队列,以及对各个接收队列送来的信元进行拆分和业务处理;
第i发送队列,用于从业务处理模块接收并存放目标槽位号为i′的发送信元;
第i接收队列,用于从所述分发模块接收源槽位号为i′的接收信元,并将所述接收信元发给所述业务处理模块;
第i透传队列,用于从所述分发模块接收并存放目标槽位号为i′的透传信元;
所述调度模块,用于将各个发送队列的发送信元和各个透传队列的透传信元调度至相应的发送端口;
所述分发模块,用于将各个接收端口送来的信元发往相应的透传队列或接收队列;
第i接收端口,用于接收来自第fm(i)槽位的信元;
第i发送端口,用于将信元发往第fm(i)槽位;
其中,发送信元是源槽位号为本交换芯片槽位号m的流量信元;接收信元是目标槽位号为本交换芯片槽位号m的流量信元;透传信元是源槽位号或目标槽位号都不是本交换芯片槽位号m的流量信元;
其中,1≤i≤n且n≥2;fm(i)为与槽位号为m的交换芯片的第i接收端口和第i发送端口相连的槽位的槽位号,1≤m≤n+1且m≠fm(i),1≤i≤n。
在第二方面的第一种可能的实现方式中,所述各个发送队列、透传队列以及接收队列还用于对自身进行实时反压检测,并将检测到的反压上报给所述调度模块。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述分发模块包括:入口槽位地址解析与分发子模块、反压信元提取子模块;其中,
所述入口槽位地址解析与分发子模块,用于对各个接收端口送来的信元进行地址解析,如果接收端口送来的信元的目标槽位号与本交换芯片槽位号不相同,则将该信元送往相应的透传队列;如果接收端口送来的信元的目标槽位号与本交换芯片槽位号相同,则将该信元送往所述反压信息提取子模块;
所述反压信息提取子模块,用于确定所述入口槽位地址解析与分发子模块送来的信元是反压信元还是接收信元,如果是反压信元,则将提取到的反压信元送往所述调度模块;如果是接收信元,则将提取到的接收信元发往相应的接收队列;其中,所述反压信元包含了导致反压的反压源槽位号和反压目标槽位号。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述调度模块包括反压信息维护子模块,反压信息存储子模块,第1反压和优先权调度子模块-第n反压和优先权调度子模块;其中,
所述反压信息存储子模块,用于存储反压信息表;
所述反压信息维护子模块,用于根据各个发送队列、接收队列、透传队列上报的反压信息生成反压信元,并根据上报的反压信息和反压信息提取子模块送来的反压信元对所述反压信息表进行维护;
第i反压和优先权调度子模块,用于根据所述反压信息表中的反压信息以及各种信元的优先级,对各个发送队列的发送信元、第i透传队列的透传信元以及所述反压信息维护子模块生成的反压信元进行调度,并送往第i发送端口。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第i反压和优先权调度子模块包括第i权重轮询调度子模块和第i绝对优先权调度子模块,其中,
所述第i权重轮询调度子模块,用于基于所述反压信息表中的反压信息及各种信元优先级,根据权重轮询调度方法,将各个发送队列的发送信元、第i透传队列的透传信元调度至所述第i优先权调度子模块;
所述第i绝对优先权调度子模块,用于基于信元优先级的高低,依次将反压信息维护子模块生成的反压信元以及所述第i权重轮询调度子模块送来的信元调度至第i发送端口。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述权重轮询调度方法包括:
查询所述反压信息表;
根据查询结果开启或关闭对各个发送队列的调度;
根据信元优先级,对第i透传队列的透传信元和各个被开启的发送队列的发送信元分配相应的带宽,并发送至所述第i绝对优先权调度子模块。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述根据查询结果开启或关闭对发送队列的调度,包括:
若反压信息表中不存在第2信息,则第i权重轮询调度子模块开启对第i发送队列的调度;
若反压信息表中存在第3信息,不存在第1信息、第4信息和第5信息时,则第i权重轮询调度子模块开启对第k发送队列的调度;
若反压信息表中存在第1信息和第2信息,或者存在第2信息和第4信息,或者存在第2信息不存在第3信息时,第i权重轮询调度子模块关闭对任何发送队列的调度;
其中,所述第1信息是本交换芯片第i发送队列达到第1发送门限或第i透传队列达到透传门限的反压信息;第2信息是槽位号为fm(i)的交换芯片的第接收队列达到接收门限的反压信息;第3信息是本交换芯片的第k发送队列达到第2发送门限的反压信息;第4信息是槽位号为fm(i)的交换芯片的第发送队列达到第1发送门限或第透传队列达到透传门限的反压信息;第5信息是槽位号为fm(k)的交换芯片的第接收队列达到接收门限的反压信息;
其中1≤k≤n且k≠i;是槽位号为fm(i)的交换芯片中的与槽位号为m的交换芯片相连的发送端口号或接收端口号;是槽位号为fm(i)的交换芯片中的与槽位号为fm(k)的交换芯片相连的发送端口号或接收端口号;是槽位号为fm(k)的交换芯片中的与槽位号为m的交换芯片相连的发送端口号或接收端口号;1≤m≤n+1。
由上述技术方案可知,本发明实施例提供的方法和交换芯片能够在发送端交换芯片和目标交换芯片之间的直连路径上传输的流量达到该直连路径的带宽的情况下,利用发送端交换芯片将多余流量发送给其它交换芯片,再由其它交换芯片将多余流量透传给目标交换芯片,从而使得系统中的交换芯片能够以超过该交换芯片与目标交换芯片之间带宽的带宽向目标交换芯片传输数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1给出了采用现有方法的fullmesh-4背板交换系统的数据传输路径;
图2给出了本发明一实施例提供的一种多路径透传方法的流程图;
图3给出了本发明另一实施例提供的一种多路径透传方法的流程图;
图4给出了本发明另一实施例提供的一种多路径透传方法的流程图;
图5给出了本发明一实施例提供的一种交换芯片50的结构图;
图6给出了基于图5实施例的交换芯片50的分发模块56的结构图;
图7给出了基于图5实施例的交换芯片50的调度模块55的结构图;
图8给出了基于图7的调度模块55的第i反压和优先权调度子模块的结构图;
图9给出了基于图8的第i反压和优先权调度子模块中的第i权重轮询调度子模块采用的权重轮询调度方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2给出了本发明一实施例提供的一种多路径透传方法的流程图,如图2所示,本实施例提供的多路径透传方法包括:
201、第一交换芯片判断所述第一交换芯片向目标交换芯片的直传流量是否达到二者之间的带宽阈值;
可选地,第一交换芯片可以通过反压检测来确定其向目标交换芯片直传流量是否达到二者之间的带宽阈值,如果第一交换芯片的向目标交换芯片发送流量的发送队列出现了反压,则表明第一交换芯片和目标交换芯片之间的流量达到了带宽阈值;如果没有出现反压,则表明二者之间的流量没有达到带宽阈值。其中,所述直传流量为所述第一交换芯片直接传输给目标交换芯片的流量;
202、如果达到所述带宽阈值,则所述第一交换芯片将多余流量信元发送给与所述目标交换芯片相连的交换芯片;
其中,所述多余流量信元为所述第一交换芯片需要发送给所述目标交换芯片的流量信元总和,减去所述带宽阈值后的流量信元。
进一步地,所述第一交换芯片实时检测其发送队列反压水线,将检测到的反压通过反压信元发送给与所述第一交换芯片相连的交换芯片;其中,所述反压信元包括:导致反压的反压源槽位号和反压目标槽位号。
进一步地,所述第一交换芯片接收与所述第一交换芯片相连的交换芯片发送的反压信元,并根据自身检测到的反压以及接收到的反压信元,维护自身的反压信息表。
具体地,通过提取反压信元中的反压源槽位号和反压目标槽位号,并将二者相关联,使得反压信息表能够记载第一交换芯片以及与第一交换芯片相连的交换芯片当前存在的所有反压信息:被关联的反压源槽位号和反压目标槽位号。如果反压信息表中记载了一条反压信息:(反压源槽位号:2;反压目标槽位号:4),则该反压信息表明:从2号槽位中的交换芯片发送到4号槽位的交换芯片的直连流量达到了2号槽位和4号槽位之间的带宽阈值,2号槽位的发送缓存出现了反压。
本实施例提供的方法能够在发送端交换芯片和目标交换芯片之间的直连路径上传输的流量达到该直连路径的带宽阈值的情况下,利用发送端交换芯片将超出带宽阈值的流量发送给其它交换芯片,再由其它交换芯片将该超出带宽阈值的流量透传给目标交换芯片,从而使得系统中的交换芯片能够以超过该交换芯片与目标交换芯片之间带宽的带宽向目标交换芯片传输数据。
图3给出了本发明另一实施例提供的一种多路径透传方法的流程图,如图3所示,本实施例提供的多路径透传方法包括:
301、第一交换芯片判断所述第一交换芯片向目标交换芯片的直传流量是否达到二者之间的带宽阈值;
302、如果达到所述带宽阈值,则所述第一交换芯片根据自身的反压信息表,从所述与目标交换芯片相连的交换芯片中确定透传芯片;
其中,所述透传芯片是指与第一交换芯片和目标交换芯片之间都不存在反压的交换芯片。
具体地,第一交换芯片查找自身的反压信息表,确定是否具有与自己不存在反压,并且与目标交换芯片也不存在反压的交换芯片,如果具有符合这种要求的交换芯片,则将符合要求的交换芯片确定为透传芯片。
303、所述第一交换芯片将超出所述带宽阈值的流量信元发送给所述透传芯片。
可选地,如果有多个透传芯片,所述第一交换芯片可以将超出所述带宽阈值的流量信元均匀地发送给每个透传芯片;第一交换芯片也可以根据透传芯片到目标交换芯片之间的实际带宽,动态调整发送给每个透传芯片的流量信元的数量。
具体地,所述透传芯片在接收到超出所述带宽阈值的流量信元后将该超出所述带宽阈值的送往所述目标交换芯片。所述透传芯片可以根据该超出所述带宽阈值的流量信元中的目标交换芯片的槽位号确定该超出所述带宽阈值的应该发送给哪个目标交换芯片。
本实施例提供的方法能够在发送端交换芯片和目标交换芯片之间的直连路径上传输的流量达到该直连路径的带宽阈值的情况下,利用发送端交换芯片将超出所述带宽阈值的流量发送给其它交换芯片,再由其它交换芯片将超出所述带宽阈值的流量透传给目标交换芯片,从而使得系统中的交换芯片能够以超过该交换芯片与目标交换芯片之间带宽的带宽向目标交换芯片传输数据。
图4给出了本发明一实施例提供的一种多路径透传方法的流程图,如图4所示,本实施例提供的多路径透传方法包括:
401、第一交换芯片判断所述第一交换芯片向目标交换芯片直传流量是否达到二者之间的带宽阈值;
402、如果达到所述带宽阈值,则所述第一交换芯片将超出所述带宽阈值的流量信元发送给与目标交换芯片相连的交换芯片;
403、第一交换芯片判断是否需要将接收到的流量信元进行透传;
具体地,第一交换芯片可以从所述流量信元中提取出目标交换芯片槽位号;再将提取到的目标交换芯片槽位号与自身槽位号进行比较,如果二者不相同,则需要将所述流量信元进行透传;如果二者相同,则不需要将所述流量信元进行透传。
404、在需要进行透传的情况下,所述第一交换芯片将所述流量信元进行透传。
具体地,所述第一交换芯片需要将所述流量信元透传到所述目标交换芯片槽位号所对应的交换芯片。
进一步地,所述第一交换芯片可以基于优先级轮询对各种流量信元进行调度。其中各种流量信元包括直传流量信元、超出所述带宽阈值的流量信元以及接收到的需要进行透传的流量信元。具体地,所述第一交换芯片首先对直传流量信元、超出所述带宽阈值的流量信元以及接收到的需要进行透传的流量信元进行优先级设置;所述第一交换芯片按照优先级的高低对自身的某一发送端口的直传流量信元、超出所述带宽阈值的流量信元以及接收到的需要进行透传的流量信元依次进行发送。例如,可以将直传流量信元的优先级设为高,将超出所述带宽阈值的流量信元以及接收到的需要进行透传的流量信元的优先级设为低。超出所述带宽阈值的流量信元以及接收到的需要进行透传的流量信元的优先级没有特别要求,均属于需要透传的流量,可以置为相同优先级,也可以置任一种为高,此处不做约定。这样,当所述第一交换芯片的某一发送端口需要发送直传流量信元、超出所述带宽阈值的流量信元以及接收到的需要进行透传的流量信元时,该发送端口对直传流量信元分配较多的带宽,对超出所述带宽阈值的流量信元以及接收到的需要进行透传的流量信元分配较少的带宽。对于第一交换芯片的反压信元,则无需进行优先权轮询,第一交换芯片对反压信元进行实时发送。
需要注意的是,可以先执行步骤401、402,再执行步骤403、404;也可以先执行步骤403、404,再执行步骤401、402;也可以在执行步骤401、402的同时,执行步骤403、404。它们的执行可以没有固定的先后顺序,本实施例对此不进行限定。
本实施例提供的方法能够在发送端交换芯片和目标交换芯片之间的直连路径上传输的流量达到该直连路径的带宽阈值的情况下,利用发送端交换芯片将多余流量发送给其它交换芯片,再由其它交换芯片将多余流量透传给目标交换芯片,从而使得系统中的交换芯片能够以超过该交换芯片与目标交换芯片之间带宽的带宽向目标交换芯片传输数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图5给出了本发明一实施例提供的一种交换芯片的结构图,如图5所示,本实施例提供的交换芯片50包括:业务处理模块51、第1发送队列至第n发送队列52、第1接收队列至第n接收队列53、第1透传队列至第n透传队列54,调度模块55,分发模块56,第1发送端口至第n发送端口57以及第1接收端口至第n接收端口58;其中,
所述业务处理模块51,用于将信元组装后发给相应的发送队列,以及对各个接收队列送来的信元进行拆分和业务处理;
具体地,业务处理模块51实现了交换芯片50的数据处理功能,是交换芯片50的主体部分。
第i发送队列,用于从业务处理模块接收并存放目标槽位号为i′的发送信元;
第i接收队列,用于从所述分发模块接收源槽位号为i′的接收信元,并将所述接收信元发给所述业务处理模块;
第i透传队列,用于从所述分发模块接收并存放目标槽位号为i′的透传信元;
所述调度模块55,用于将各个发送队列的发送信元和各个透传队列的透传信元调度至相应的发送端口;
所述分发模块56,用于将各个接收端口送来的信元发往相应的透传队列或接收队列;
第i接收端口,用于接收来自第fm(i)槽位的信元;
第i发送端口,用于将信元发往第fm(i)槽位;
其中,发送信元是源槽位号为本交换芯片50槽位号m的流量信元;接收信元是目标槽位号为本交换芯片50槽位号m的流量信元;透传信元是源槽位号或目标槽位号都不是本交换芯片50槽位号m的流量信元;
其中,1≤i≤n且n≥2;fm(i)为与槽位号为m的交换芯片50的第i接收端口和第i发送端口相连的槽位的槽位号,1≤m≤n+1且m≠fm(i),1≤i≤n。
具体地,与交换芯片50相连的其它交换芯片的个数决定了n的取值;若交换芯片50与另外8个交换芯片相连接,则n等于8。
假设:交换芯片50的槽位号为1(即m=1),所述交换芯片50与另外3个交换芯片相连(即n=3),所述的另外3个交换芯片分别是:槽位号为2的交换芯片,槽位号为3的交换芯片,槽位号为4的交换芯片;
当交换芯片50的第1发送端口和接收端口与槽位号为2的交换芯片相连;交换芯片50的第2发送端口和接收端口与槽位号为3的交换芯片相连;交换芯片50的第3发送端口和接收端口与槽位号为4的交换芯片相连;则有:
f1(1)=2;f1(2)=3;f1(3)=4。
进一步地,各个发送队列、各个接收队列以及各个透传队列还用于对自身进行实时反压检测,并将检测到的反压上报给所述调度模块55。
进一步地,如图6所示,所述分发模块56包括:入口槽位地址解析与分发子模块561和反压信元提取子模块562;其中,
所述入口槽位地址解析与分发子模块561,用于对各个接收端口送来的信元进行地址解析,如果接收端口送来的信元的目标槽位号与本交换芯片槽位号不相同,则将该信元送往相应的透传队列;如果接收端口送来的信元的目标槽位号与本交换芯片槽位号相同,则将该信元送往所述反压信息提取子模块562;
所述反压信息提取子模块562,用于确定所述入口槽位地址解析与分发子模块送来的信元是反压信元还是接收信元,如果是反压信元,则将提取到的反压信元送往所述调度模块;如果是接收信元,则将提取到的接收信元发往相应的接收队列;其中,所述反压信元包括:导致反压的反压源槽位号和反压目标槽位号。
具体地,按照上述的假设,若提取到的接收信元的源槽位号为3,根据f1(2)=3,所述反压信息提取子模块562把该接收信元送往第2接收队列。
进一步地,如图7所示,所述调度模块55可以包括:反压信息维护子模块551,反压信息存储子模块552,第1反压和优先权调度子模块至第n反压和优先权调度子模块553;其中,
所述反压信息存储子模块551,用于存储反压信息表;
具体地,反压信息表记载了包含反压源槽位号、反压目标槽位号的反压信息以及该反压信息来自哪个槽位。
所述反压信息维护子模块552,用于根据各个发送队列、接收队列、透传队列上报的反压信息生成反压信元,并根据上报的反压信息和反压信息提取子模块562送来的反压信元对所述反压信息表进行维护;
具体地,各个队列可以将各自检测到的反压进行持续上报,直到反压消除才停止上报;所述反压信息维护子模块552根据接收到的反压信息对反压信息表进行实时更新;
第i反压和优先权调度子模块,用于根据所述反压信息表中的反压信息以及各种信元的优先级,对各个发送队列的发送信元、第i透传队列的透传信元以及所述反压信息维护子模块生成的反压信元进行调度,并送往第i发送端口。
进一步地,如图8所示,所述第i反压和优先权调度子模块包括第i权重轮询调度子模块5531和第i绝对优先权调度子模块5532,其中,
所述第i权重轮询调度子模块5531,用于基于所述反压信息表中的反压信息及各种信元优先级,根据权重轮询调度方法,将各个发送队列的发送信元、第i透传队列的透传信元调度至所述第i优先权调度子模块;
具体地,如图9所示,所述权重轮询调度方法包括:
901、查询所述反压信息表;
902、根据查询结果开启或关闭对各个发送队列的调度;
具体地,若反压信息表中不存在第2信息,则第i权重轮询调度子模块开启对第i发送队列的调度;
若反压信息表中存在第3信息,不存在第1信息、第4信息和第5信息时,则第i权重轮询调度子模块开启对第k发送队列的调度;
若反压信息表中存在第1信息和第2信息,或者存在第2信息和第4信息,或者存在第2信息不存在第3信息时,第i权重轮询调度子模块关闭对任何发送队列的调度;
其中,所述第1信息是本交换芯片第i发送队列达到第1发送门限或第i透传队列达到透传门限的反压信息;第2信息是槽位号为fm(i)的交换芯片的第接收队列达到接收门限的反压信息;第3信息是本交换芯片的第k发送队列达到第2发送门限的反压信息;第4信息是槽位号为fm(i)的交换芯片的第发送队列达到第1发送门限或第透传队列达到透传门限的反压信息;第5信息是槽位号为fm(k)的交换芯片的第接收队列达到接收门限的反压信息;
其中1≤k≤n且k≠i;是槽位号为fm(i)的交换芯片中的与槽位号为m的交换芯片相连的发送端口号或接收端口号;是槽位号为fm(i)的交换芯片中的与槽位号为fm(k)的交换芯片相连的发送端口号或接收端口号;是槽位号为fm(k)的交换芯片中的与槽位号为m的交换芯片相连的发送端口号或接收端口号;1≤m≤n+1。
具体地,第1发送门限、第2发送门限、透传门限以及接收门限可以被预先设定;此外,各个队列在反压上报时标注该反压上报是达到哪个门限(第1发送门限、第2发送门限、透传门限、接收门限)的反压上报。
903、根据信元优先级,对第i透传队列的透传信元和各个被开启的发送队列的发送信元分配相应的带宽,并发送至所述第i绝对优先权调度子模块。
具体地,第i权重轮询调度子模块向第i发送队列的发送信元分配较大的带宽,向第j发送队列的发送信元和第i透传队列的透传信元分配较小的带宽;其中j≠i,1≤j≤n。
可选地,各个透传队列可以各自进行是否存在透传信元的检测,若存在透传信元,则通知相应的权重轮询调度子模块;当相应的权重轮询调度子模块接收到透传队列的通知时,对该透传队列分配相应的带宽;否则,不对该透传队列分配带宽。
进一步地,反压信息维护子模块552可以根据上报的反压信息及接收到的反压信元维护反压信息表以及时更新反压信息表中存在哪些反压信息(第1信息、第2信息、第3信息、第4信息和/或第5信息)。
具体地,反压信息维护子模块552将第1信息、第3信息
所述第i绝对优先权调度子模块5532,用于基于信元优先级的高低,依次将反压信息维护子模块生成的反压信元以及所述第i权重轮询调度子模块送来的信元调度至第i发送端口。
具体地,可以将反压信元的优先级设置为高级,将来自所述第i权重轮询调度子模块的信元设置为低级;所述第i绝对优先权调度子模块5532在保证反压信元能够被实时发送的情况下,发送来自所述第i权重轮询调度子模块的信元。
本实施例提供的交换芯片能够对发送队列、接收队列以及透传队列进行反压检测,并根据自身检测的反压信息以及接收到的反压信息维护反压信息表,使得本实施例提供的交换芯片能够在其与目标交换芯片之间的直连路径上传输的流量达到该直连路径的带宽的情况下,将超出带宽阈值的流量发送给其它交换芯片,再由其它交换芯片将超出带宽阈值的流量透传给目标交换芯片,从而使得系统中的交换芯片能够以超过该交换芯片与目标交换芯片之间带宽的带宽向目标交换芯片传输数据。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的模块及步骤,能够以电子硬件、软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或装置可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种多路径透传方法,其特征在于,所述方法包括:
第一交换芯片判断其向目标交换芯片直传流量是否达到二者之间的带宽阈值;
如果达到所述带宽阈值,则所述第一交换芯片将多余流量信元发送给与所述目标交换芯片相连的交换芯片;
其中,所述直传流量为所述第一交换芯片直接传输给所述目标交换芯片的流量;所述多余流量信元为所述第一交换芯片需要发送给所述目标交换芯片的,超过所述带宽阈值的流量信元;
所述方法还包括:
所述第一交换芯片判断是否需要将接收到的流量信元进行透传;
在需要进行透传的情况下,所述第一交换芯片将所述接收到的流量信元进行透传。
2.根据权利要求1所述的多路径透传方法,其特征在于,所述第一交换芯片判断是否需要将接收到的流量信元进行透传,包括:
从所述流量信元中提取出目标交换芯片槽位号;
将所述目标交换芯片槽位号与自身槽位号进行比较,如果二者不相同,则需要将所述流量信元进行透传;如果二者相同,则不需要将所述流量信元进行透传。
3.根据权利要求2所述的多路径透传方法,其特征在于,所述第一交换芯片实时检测所述第一交换芯片的发送队列反压水线,将检测到的反压通过反压信元发送给与所述第一交换芯片相连的交换芯片;
其中,所述反压信元是包括了导致反压的反压源槽位号和反压目标槽位号的信元。
4.根据权利要求3所述的多路径透传方法,其特征在于,所述第一交换芯片接收与所述第一交换芯片相连的交换芯片发送的反压信元。
5.根据权利要求4所述的多路径透传方法,其特征在于,所述第一交换芯片根据自身检测到的反压以及接收到的反压信元,维护自身的反压信息表。
6.根据权利要求5所述的多路径透传方法,其特征在于,所述如果达到所述带宽阈值,则所述第一交换芯片将多余流量信元发送给与所述目标交换芯片相连的交换芯片,包括:
如果第一交换芯片检测到所述第一交换芯片的发送队列存在反压,则所述第一交换芯片根据自身的反压信息表,从所述与目标交换芯片相连的交换芯片中确定透传芯片;
所述第一交换芯片将所述多余流量信元发送给所述透传芯片;
其中,所述透传芯片是指与第一交换芯片和目标交换芯片之间都不存在反压的交换芯片。
7.根据权利要求6所述的多路径透传方法,其特征在于,所述第一交换芯片基于优先级轮询对各种流量信元进行调度。
8.根据权利要求7所述的多路径透传方法,其特征在于,所述第一交换芯片基于优先级轮询对各种流量信元进行调度,包括:
所述第一交换芯片对直传流量信元、多余流量信元以及接收到的需要进行透传的流量信元进行优先级设置;
所述第一交换芯片按照优先级的高低对发送端口的直传流量信元、多余流量信元以及接收到的需要进行透传的流量信元依次进行发送。
9.根据权利要求8所述的多路径透传方法,其特征在于,所述第一交换芯片对直传流量信元、多余流量信元以及接收到的需要进行透传的流量信元进行优先级设置是:将直传流量信元的优先级设为高,将多余流量信元以及接收到的需要进行透传的流量信元的优先级设为低。
10.一种交换芯片,其特征在于,所述交换芯片包括:业务处理模块、第1发送队列至第n发送队列、第1接收队列至第n接收队列、第1透传队列至第n透传队列,调度模块,分发模块,第1发送端口至第n发送端口以及第1接收端口至第n接收端口;其中,
所述业务处理模块,用于将信元组装后发给相应的发送队列,以及对各个接收队列送来的信元进行拆分和业务处理;
第i发送队列,用于从业务处理模块接收并存放目标槽位号为i′的发送信元;
第i接收队列,用于从所述分发模块接收源槽位号为i′的接收信元,并将所述接收信元发给所述业务处理模块;
第i透传队列,用于从所述分发模块接收并存放目标槽位号为i′的透传信元;
所述调度模块,用于将各个发送队列的发送信元和各个透传队列的透传信元调度至相应的发送端口;
所述分发模块,用于将各个接收端口送来的信元发往相应的透传队列或接收队列;
第i接收端口,用于接收来自第fm(i)槽位的信元;
第i发送端口,用于将信元发往第fm(i)槽位;
其中,发送信元是源槽位号为本交换芯片槽位号m的流量信元;接收信元是目标槽位号为本交换芯片槽位号m的流量信元;透传信元是源槽位号或目标槽位号都不是本交换芯片槽位号m的流量信元;
其中,1≤i≤n且n≥2;fm(i)为与槽位号为m的交换芯片的第i接收端口和第i发送端口相连的槽位的槽位号,1≤m≤n+1且m≠fm(i),1≤i≤n,1≤i′≤n+1。
11.根据权利要求10所述的交换芯片,其特征在于,所述各个发送队列、透传队列以及接收队列还用于对自身进行实时反压检测,并将检测到的反压上报给所述调度模块。
12.根据权利要求11所述的交换芯片,其特征在于,所述分发模块包括:入口槽位地址解析与分发子模块、反压信元提取子模块;其中,
所述入口槽位地址解析与分发子模块,用于对各个接收端口送来的信元进行地址解析,如果接收端口送来的信元的目标槽位号与本交换芯片槽位号不相同,则将该信元送往相应的透传队列;如果接收端口送来的信元的目标槽位号与本交换芯片槽位号相同,则将该信元送往所述反压信息提取子模块;
所述反压信息提取子模块,用于确定所述入口槽位地址解析与分发子模块送来的信元是反压信元还是接收信元,如果是反压信元,则将提取到的反压信元送往所述调度模块;如果是接收信元,则将提取到的接收信元发往相应的接收队列;其中,
所述反压信元包含了导致反压的反压源槽位号和反压目标槽位号。
13.根据权利要求12所述的交换芯片,其特征在于,所述调度模块包括反压信息维护子模块,反压信息存储子模块,第1反压和优先权调度子模块-第n反压和优先权调度子模块;其中,
所述反压信息存储子模块,用于存储反压信息表;
所述反压信息维护子模块,用于根据各个发送队列、接收队列、透传队列上报的反压信息生成反压信元,并根据上报的反压信息和反压信息提取子模块送来的反压信元对所述反压信息表进行维护;
第i反压和优先权调度子模块,用于根据所述反压信息表中的反压信息以及各种信元的优先级,对各个发送队列的发送信元、第i透传队列的透传信元以及所述反压信息维护子模块生成的反压信元进行调度,并送往第i发送端口。
14.根据权利要求13所述的交换芯片,其特征在于,所述第i反压和优先权调度子模块包括第i权重轮询调度子模块和第i绝对优先权调度子模块,其中,
所述第i权重轮询调度子模块,用于基于所述反压信息表中的反压信息及各种信元优先级,根据权重轮询调度方法,将各个发送队列的发送信元、第i透传队列的透传信元调度至所述第i绝对优先权调度子模块;
所述第i绝对优先权调度子模块,用于基于信元优先级的高低,依次将反压信息维护子模块生成的反压信元以及所述第i权重轮询调度子模块送来的信元调度至第i发送端口。
15.根据权利要求14所述的交换芯片,其特征在于,所述权重轮询调度方法包括:
查询所述反压信息表;
根据查询结果开启或关闭对各个发送队列的调度;
根据信元优先级,对第i透传队列的透传信元和各个被开启的发送队列的发送信元分配相应的带宽,并发送至所述第i绝对优先权调度子模块。
16.根据权利要求15所述的交换芯片,其特征在于,所述根据查询结果开启或关闭对发送队列的调度,包括:
若反压信息表中不存在第2信息,则第i权重轮询调度子模块开启对第i发送队列的调度;
若反压信息表中存在第3信息,不存在第1信息、第4信息和第5信息时,则第i权重轮询调度子模块开启对第k发送队列的调度;
若反压信息表中存在第1信息和第2信息,或者存在第2信息和第4信息,或者存在第2信息不存在第3信息时,第i权重轮询调度子模块关闭对任何发送队列的调度;
其中,所述第1信息是本交换芯片第i发送队列达到第1发送门限或第i透传队列达到透传门限的反压信息;第2信息是槽位号为fm(i)的交换芯片的第接收队列达到接收门限的反压信息;第3信息是本交换芯片的第k发送队列达到第2发送门限的反压信息;第4信息是槽位号为fm(i)的交换芯片的第发送队列达到第1发送门限或第透传队列达到透传门限的反压信息;第5信息是槽位号为fm(k)的交换芯片的第接收队列达到接收门限的反压信息;
其中1≤k≤n且k≠i;是槽位号为i的交换芯片中的与槽位号为m的交换芯片相连的发送端口号或接收端口号;是槽位号为fm(i)的交换芯片中的与槽位号为m的交换芯片相连的发送端口号或接收端口号;是槽位号为fm(i)的交换芯片中的与槽位号为fm(k)的交换芯片相连的发送端口号或接收端口号;是槽位号为fm(k)的交换芯片中的与槽位号为m的交换芯片相连的发送端口号或接收端口号;1≤m≤n+1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210535090.5A CN103001893B (zh) | 2012-12-12 | 2012-12-12 | 多路径透传方法和交换芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210535090.5A CN103001893B (zh) | 2012-12-12 | 2012-12-12 | 多路径透传方法和交换芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103001893A CN103001893A (zh) | 2013-03-27 |
CN103001893B true CN103001893B (zh) | 2016-01-27 |
Family
ID=47930046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210535090.5A Active CN103001893B (zh) | 2012-12-12 | 2012-12-12 | 多路径透传方法和交换芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103001893B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103269285B (zh) * | 2013-05-24 | 2016-08-17 | 杭州华三通信技术有限公司 | 网络通信集群装置和用于实现网络通信集群的方法 |
CN105610814B (zh) * | 2015-12-25 | 2018-09-21 | 盛科网络(苏州)有限公司 | 降低报文转发延时的方法及系统 |
CN112751688B (zh) * | 2019-10-30 | 2023-08-01 | 中兴通讯股份有限公司 | 一种otn设备的流控处理方法、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848158A (zh) * | 2010-05-18 | 2010-09-29 | 深圳市恒扬科技有限公司 | 一种数据通道的负载均衡方法、装置和网络交换设备 |
CN101860439A (zh) * | 2010-04-16 | 2010-10-13 | 中兴通讯股份有限公司 | 接口板、通信设备以及配置接口板的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958824B (zh) * | 2009-07-14 | 2012-06-27 | 华为技术有限公司 | 一种数据交换方法及数据交换结构 |
-
2012
- 2012-12-12 CN CN201210535090.5A patent/CN103001893B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860439A (zh) * | 2010-04-16 | 2010-10-13 | 中兴通讯股份有限公司 | 接口板、通信设备以及配置接口板的方法 |
CN101848158A (zh) * | 2010-05-18 | 2010-09-29 | 深圳市恒扬科技有限公司 | 一种数据通道的负载均衡方法、装置和网络交换设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103001893A (zh) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104009936B (zh) | 一种基于动态权重计算的队列调度方法 | |
CN100531142C (zh) | 保证报文顺序的方法和装置 | |
CN101247275B (zh) | 一种中断上报方法和网络设备 | |
CN102571607B (zh) | 一种网络流速分配系统 | |
CN103001893B (zh) | 多路径透传方法和交换芯片 | |
US7660251B2 (en) | Method and apparatus for hierarchial scheduling of virtual paths with underutilized bandwidth | |
EP2045945A3 (en) | Retransmission and retransmission request in data communication systems | |
GB2472726A (en) | Providing multi-level security at a middleware partition | |
WO2004061562A3 (en) | System and method for defining loan products | |
WO2009001408A1 (ja) | Rfidリーダ、電子タグシステム、およびサーバへの通知データの送信方法 | |
CN104615684B (zh) | 一种海量数据通信并发处理方法及系统 | |
US9230162B2 (en) | Identification control method and system for valuable document | |
CN105656807A (zh) | 一种网络芯片多通道数据传输方法及传输装置 | |
CN109461442A (zh) | 一种多媒体智能客服系统 | |
CN101364293A (zh) | 一种erp系统中实现业务数据交换的方法、装置和系统 | |
CN107443922B (zh) | 一种防伪二维码生成系统 | |
CN101309261A (zh) | 一种网络数据报文处理方法及系统、设备 | |
CN111372320A (zh) | 一种用于信道调度的船舶vdes通信系统及方法 | |
US7287061B2 (en) | Data transfer apparatus and data transfer method | |
CN100456744C (zh) | 一种数据调度方法及系统 | |
CN101022414B (zh) | 一种报文转发的方法和装置 | |
CN211352458U (zh) | 一种用于信道调度的船舶vdes通信系统 | |
CN116506530B (zh) | 一种误码率低的多协议rfid读写器 | |
CN102170401B (zh) | 一种数据的处理方法和设备 | |
US7324554B1 (en) | Communication bandwidth distribution system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |