CN105099956B - 交换网系统和数据交换方法 - Google Patents

交换网系统和数据交换方法 Download PDF

Info

Publication number
CN105099956B
CN105099956B CN201510354932.0A CN201510354932A CN105099956B CN 105099956 B CN105099956 B CN 105099956B CN 201510354932 A CN201510354932 A CN 201510354932A CN 105099956 B CN105099956 B CN 105099956B
Authority
CN
China
Prior art keywords
port
data
input
scheduling
output port
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
CN201510354932.0A
Other languages
English (en)
Other versions
CN105099956A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510354932.0A priority Critical patent/CN105099956B/zh
Publication of CN105099956A publication Critical patent/CN105099956A/zh
Priority to EP16813704.0A priority patent/EP3306880B1/en
Priority to PCT/CN2016/086765 priority patent/WO2016206588A1/zh
Priority to US15/851,283 priority patent/US10505867B2/en
Application granted granted Critical
Publication of CN105099956B publication Critical patent/CN105099956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/628Queue scheduling characterised by scheduling criteria for service slots or service orders based on packet size, e.g. shortest packet first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • 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
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供一种交换网系统和数据交换方法。本发明交换网系统,包括:M个第一交叉开关单元CU和N个第二CU,每个第一CU包括:L个第一输入端口、第一仲裁器、第一交叉开关以及N个第一输出端口,每个第二CU包括:M个第二输入端口、第二仲裁器、第二交叉开关以及一个第二输出端口,所述M个第一CU的M×N个第一输出端口分别与所述N个第二CU的N×M个第二输入端口相耦合,其中,每个第一CU的N个第一输出端口分别与所述N个第二CU中各个第二CU的一个第二输入端口相耦合,且一一对应,N=M×L,且M、N、L均为正整数。本发明实施例降低了算法的复杂度,减少交叉开关的面积,当输入端口、输出端口较多时,可以降低SF系统的实现难度,提高性能。

Description

交换网系统和数据交换方法
技术领域
本发明涉及通信技术,尤其涉及一种交换网系统和数据交换方法。
背景技术
交换网(Switch Fabric,简称:SF)将输入端口的数据交换到对应输出端口,一种典型的交换网结构就是交叉开关(Crossbar)结构,交叉开关可分为无缓冲的交叉开关(Bufferless Crossbar)和有缓冲的交叉开关(Buffered Crossbar)。
无缓冲的交叉开关和有缓冲的交叉开关均是通过用N个N×1的多路复用器(multiplexer,简称:MUX)来实现N×N的交叉开关,区别在于,无缓冲的交叉开关无缓冲区,根据一个N×N的仲裁器(Arbiter)的控制来选择将输入端口的数据发往相应的输出端口;有缓冲的交叉开关有N2个缓冲(buffer),根据N个N×1的仲裁器的控制来选择将输入端口的数据发往相应的输出端口。
但是,无缓冲的交叉开关中N×N的仲裁器的算法复杂,而有缓冲的交叉开关需要N2个独立的缓冲区,会增大交叉开关的面积,当N值较大时,两种交叉开关实现难度高,导致性能降低。
发明内容
本发明实施例提供一种交换网系统和数据交换方法,以降低了算法的复杂度,减少交叉开关的面积,当输入端口、输出端口较多时,可以降低SF系统的实现难度,提高性能。
第一方面,本发明实施例提供一种交换网系统,包括:
M个第一交叉开关单元CU和N个第二CU,每个第一CU包括:L个第一输入端口、第一仲裁器、第一交叉开关以及N个第一输出端口,每个第二CU包括:M个第二输入端口、第二仲裁器、第二交叉开关以及一个第二输出端口,所述M个第一CU的M×N个第一输出端口分别与所述N个第二CU的N×M个第二输入端口相耦合,其中,每个第一CU的N个第一输出端口分别与所述N个第二CU中各个第二CU的一个第二输入端口相耦合,且一一对应,N=M×L,且M、N、L均为正整数;
所述每个第一CU中的任一第一输入端口,用于接收并缓存数据,以及根据接收到的所述数据生成第一调度请求,所述数据携带有目的端口,所述目的端口为所述N个第二CU中的任一第二CU的第二输出端口,所述第一调度请求用于请求通过所述N个第一输出端口向所述目的端口发送所述数据;所述第一仲裁器,用于对所述第一调度请求进行调度仲裁,以确定与所述目的端口匹配的第一目标输出端口,并生成第一调度授权,所述第一目标输出端口为所述每个第一CU的N个第一输出端口中与所述任一第二CU相耦合的一个第一输出端口,所述第一调度授权用于指示所述任一第一输入端口向所述第一目标输出端口发送所述数据;所述任一第一输入端口,还用于根据所述第一调度授权,将所述数据调度给所述第一交叉开关;所述第一交叉开关,用于在所述第一仲裁器的配置下,将所述数据交换至所述第一目标输出端口;
所述任一第二CU中的第二目标输入端口,用于接收和缓存所述数据,并生成第二调度请求,所述第二目标输入端口为所述任一第二CU中与所述第一目标输出端口相耦合的一个第二输入端口,所述第二调度请求用于请求使用所述任一第二CU的第二输出端口;所述第二仲裁器,用于对所述第二调度请求进行仲裁,以生成第二调度授权,所述第二调度授权用于指示所述第二目标输入端口向所述任一第二CU的第二输出端口发送所述数据;所述第二目标输入端口,还用于根据所述第二调度授权,将所述数据调度给所述第二交叉开关;所述第二交叉开关,用于在所述第二仲裁器的配置下,将所述数据交换至所述任一第二CU的第二输出端口。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一仲裁器用于根据预设的映射关系对所述第一调度请求进行调度仲裁,以从所述每个第一CU的N个第一输出端口中确定与所述目的端口匹配的所述第一目标输出端口,所述预设的映射关系包括所述每个第一CU的N个第一输出端口与所述N个第二CU的N个第二输出端口的一一对应关系。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第二仲裁器用于根据预设的调度算法对所述第二调度请求进行仲裁,以生成所述第二调度授权,所述预设的调度算法包括:轮询RR调度、最老信元优先OCF调度、最长队列优先LQF调度、最久端口优先LPF调度或者加权调度。
结合第一方面、第一方面的第一种至第二种中任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述每个第一CU还包括:L个第一缓存,所述L个第一缓存分别与所述每个第一CU的L个第一输入端口耦合,且一一对应;所述L个第一缓存用于分别缓存所述每个第一CU中的L个第一输入端口接收的数据。
结合第一方面、第一方面的第一种至第三种中任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述每个第二CU还包括:M个第二缓存,所述M个第二缓存分别与所述每个第二CU的M个第二输入端口耦合,且一一对应;所述第二缓存用于缓存所述第二输入端口接收的数据。
结合第一方面、第一方面的第一种至第四种中任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一交叉开关包括:N个第一复用器,所述第一复用器包括L个第一入端口和一个第一出端口,所述L个第一入端口分别与所述L个第一输入端口相耦合,且一一耦合,所述一个第一出端口与所述N个第一输出端口中的一个第二输出端口相耦合,所述N个第一复用器用于在所述第一仲裁器的配置下,将所述任一第一输入端口与所述第一目标输出端口之间的通道选通,以将所述数据交换至所述第一目标输出端口。
结合第一方面、第一方面的第一种至第五种中任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第二交叉开关包括:第二复用器,所述第二复用器包括M个第二入端口和一个第二出端口,所述M个第二入端口分别与所述M个第二输入端口中的一个第二输入端口相耦合,所述一个第二出端口与所述一个第二输出端口相耦合,所述第二复用器用于在所述第二仲裁器的配置下,将所述第二目标输入端口与所述任一第二CU的第二输出端口之间的通道选通,以将所述数据交换至所述任一第二CU的第二输出端口。
第二方面,本发明实施例提供一种数据交换方法,所述方法适用于交换网系统,所述交换网系统包括:M个第一交叉开关单元CU和N个第二CU,每个第一CU包括:L个第一输入端口、第一仲裁器、第一交叉开关以及N个第一输出端口,每个第二CU包括:M个第二输入端口、第二仲裁器、第二交叉开关以及一个第二输出端口,所述M个第一CU的M×N个第一输出端口分别与所述N个第二CU的N×M个第二输入端口相耦合,其中,每个第一CU的N个第一输出端口分别与所述N个第二CU中各个第二CU的一个第二输入端口相耦合,且一一对应,N=M×L,且M、N、L均为正整数;
所述方法包括:
所述每个第一CU中的任一第一输入端口接收并缓存数据,根据接收到的所述数据生成第一调度请求,所述数据携带有目的端口,所述目的端口为所述N个第二CU中的任一第二CU的第二输出端口,所述第一调度请求用于请求通过所述N个第一输出端口向所述目的端口发送所述数据;
所述第一仲裁器对所述第一调度请求进行调度仲裁,以确定与所述目的端口匹配的第一目标输出端口,并生成第一调度授权,所述第一目标输出端口为所述每个第一CU的N个第一输出端口中与所述任一第二CU相耦合的一个第一输出端口,所述第一调度授权用于指示所述任一第一输入端口向所述第一目标输出端口发送所述数据;
所述任一第一输入端口根据所述第一调度授权,将所述数据调度给所述第一交叉开关;
所述第一交叉开关在所述第一仲裁器的配置下,将所述数据交换至所述第一目标输出端口;
所述任一第二CU中的第二目标输入端口接收和缓存所述数据,并生成第二调度请求,所述第二目标输入端口为所述任一第二CU中与所述第一目标输出端口相耦合的一个第二输入端口,所述第二调度请求用于请求使用所述任一第二CU的第二输出端口;
所述第二仲裁器对所述第二调度请求进行仲裁,以生成第二调度授权,所述第二调度授权用于指示所述第二目标输入端口向所述任一第二CU的第二输出端口发送所述数据;
所述第二目标输入端口根据所述第二调度授权,将所述数据调度给所述第二交叉开关;
所述第二交叉开关在所述第二仲裁器的配置下,将所述数据交换至所述任一第二CU的第二输出端口。
本发明实施例提供的交换网系统和数据交换方法,通过将输入第一CU的任一第一输入端口的数据通过第一仲裁器和第二仲裁器的调度交换至数据携带的目的端口对应的任一第二CU的第二输出端口,降低了算法的复杂度,减少交叉开关的面积,当输入端口、输出端口较多时,可以降低SF系统的实现难度,提高性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一个实施例提供的交换网系统的结构示意图;
图2为本发明的另一个实施例提供的交换网系统的结构示意图;
图3为本发明一个实施例的第一CU的结构示意图;
图4为本发明一个实施例的第二CU的结构示意图;
图5为本发明的一个实施例提供的数据交换方法的流程图;
图6为本发明的再一个实施例提供的交换网系统的结构示意图;
图7为本发明的又一个实施例提供的交换网系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明的一个实施例提供的交换网系统的结构示意图,如图1所示,该交换网系统包括:M个第一交叉开关单元(Crossbar Unit,简称:CU)11、……、1M和N个第二CU21、……、2N;第一CU 11包括:L个第一输入端口a111、……、a11L、第一仲裁器、第一交叉开关以及N个第一输出端口b111、……、b11N,其它M-1个第一CU的结构与第一CU 11的结构相同;第二CU 21包括:M个第二输入端口a211、……、a21M、第二仲裁器、第二交叉开关以及一个第二输出端口,其它N-1个第二CU的结构与第二CU 21的结构相同;所述M个第一CU的M×N个第一输出端口分别与所述N个第二CU的N×M个第二输入端口相耦合。
举例说明,第一CU 11的第一输出端口b111与第二CU 21中的第二输入端口a211相耦合、……、第一CU 11的第一输出端口b11N与第二CU 2N中的第二输入端口a2N1相耦合,第一CU 1M的第一输出端口b1M1与第二CU 21中的第二输入端口a21M相耦合、……、第一CU 1M的第一输出端口b1MN与第二CU 2N中的第二输入端口a2NM相耦合。
第一CU 11中的第一输入端口a111接收并缓存数据,以及根据接收到的所述数据生成第一调度请求,所述数据携带有目的端口,第一输入端口a111接收的数据在发出前是经过编码的,而编码前的数据包括数据头和数据两部分,数据头中携带了目的端口信息,第一输入端口a111接收编码数据后通过译码得到目的端口为第二CU 21的第二输出端口,所述第一调度请求用于请求通过第一CU 11的第一输出端口向所述第二CU 21的第二输出端口发送所述数据;所述第一仲裁器,用于对所述第一调度请求进行调度仲裁,以确定与所述第二CU 21的第二输出端口匹配的第一目标输出端口,并生成第一调度授权,所述第一目标输出端口为所述第一CU 11的N个第一输出端口中与所述第二CU 21相耦合的第一输出端口b111,所述第一调度授权用于指示所述第一输入端口a111向所述第一输出端口b111发送所述数据;所述第一输入端口a111,还用于根据所述第一调度授权,将所述数据调度给所述第一交叉开关;所述第一交叉开关,用于在所述第一仲裁器的配置下,将所述数据交换至所述第一输出端口b111;
所述第二CU 21中的第二目标输入端口,用于接收和缓存所述数据,并生成第二调度请求,所述第二目标输入端口为所述第二CU 21中与所述第一输出端口b111相耦合的第二输入端口a211,所述第二调度请求用于请求使用所述第二CU 21的第二输出端口;所述第二仲裁器,用于对所述第二调度请求进行仲裁,以生成第二调度授权,所述第二调度授权用于指示所述第二输入端口a211向所述第二CU 21的第二输出端口发送所述数据;所述第二输入端口a211,还用于根据所述第二调度授权,将所述数据调度给所述第二交叉开关;所述第二交叉开关,用于在所述第二仲裁器的配置下,将所述数据交换至所述第二CU 21的第二输出端口。
进一步的,所述第一仲裁器用于根据预设的映射关系对所述第一调度请求进行调度仲裁,以从所述每个第一CU的N个第一输出端口中确定与所述目的端口匹配的所述第一目标输出端口,所述预设的映射关系包括所述每个第一CU的N个第一输出端口与所述N个第二CU的N个第二输出端口的一一对应关系。
进一步的,所述第二仲裁器用于根据预设的调度算法对所述第二调度请求进行仲裁,以生成所述第二调度授权,所述预设的调度算法包括:轮询(Round-Robin,简称:RR)调度、最老信元优先(Oldest Cell First,简称:OCF)调度、最长队列优先(Longest QueueFirst,简称:LQF)调度、最久端口优先(Longest Port First,简称:LPF)调度或者加权调度。
本实施例中的SF系统可以通过上述第一CU和第二CU的级联对输入至SF系统的数据进行交换,使其从对应的输出端输出。本发明中的SF系统的第一交叉开关和第二交叉开关可以是有缓冲的交叉开关,组合起来称为多级缓冲交叉开关(Multi-stage BufferedCrossbar,简称:MBC)。SF系统的输入端可接收变长数据包,将其切分为定长的输入数据(例如信元)方便后续处理。SF系统采用两级算法将输入的数据交换至输出端,原本一个N×N的调度算法的复杂度为O(N×N),本实施例中第一算法的复杂度为O(L×N),第二算法的复杂度为O(M×1),通过两个负责度较低的算法代替N×N的调度算法,其中M、N、L是满足N=M×L的正整数,可以根据实际情况调整,也便于调度方式的扩展。
本实施例,通过将输入第一CU的任一第一输入端口的数据通过第一仲裁器和第二仲裁器的调度交换至数据携带的目的端口对应的任一第二CU的第二输出端口,降低了算法的复杂度,减少交叉开关的面积,当输入端口、输出端口较多时,可以降低SF系统的实现难度,提高性能。
图2为本发明的另一个实施例提供的交换网系统的结构示意图,如图2所示,本实施例的系统在图1所示系统结构的基础上,进一步地,所述每个第一CU还包括:L个第一缓存,所述L个第一缓存分别与所述每个第一CU的L个第一输入端口耦合,且一一对应;所述L个第一缓存用于分别缓存所述每个第一CU中的L个所述第一输入端口接收的数据;所述每个第二CU还包括:M个第二缓存,所述M个第二缓存分别与所述每个第二CU的M个第二输入端口耦合,且一一对应;所述第二缓存用于缓存所述第二输入端口接收的数据。
本实施例,通过第一输入端口的第一缓存和第二输入端口的第二缓存,一方面允许第一CU和第二CU都可独立根据缓存区的空满状态进行调度,另一方面令前后级的CU之间解耦,便于SF系统的实现。
图3为本发明第一CU的一个实施例的结构示意图,如图3所示,第一CU的结构在图1所示的第一CU的结构基础上,其中的第一交叉开关包括:N个第一复用器,所述第一复用器包括L个第一入端口和一个第一出端口,所述L个第一入端口分别与所述L个第一输入端口相耦合,且一一耦合,所述一个第一出端口与所述N个第一输出端口中的一个第二输出端口相耦合,所述N个第一复用器用于在所述第一仲裁器的配置下,将所述任一第一输入端口与所述第一目标输出端口之间的通道选通,以将所述数据交换至所述第一目标输出端口。
图4为本发明第二CU的一个实施例的结构示意图,如图4所示,第二CU的结构在图1所示的第二CU的结构基础上,其中的第二交叉开关包括:一个第二复用器,所述第二复用器包括M个第二入端口和一个第二出端口,所述M个第二入端口分别与所述M个第二输入端口中的一个第二输入端口相耦合,所述一个第二出端口与所述一个第二输出端口相耦合,所述第二复用器用于在所述第二仲裁器的配置下,将所述第二目标输入端口与所述任一第二CU的第二输出端口之间的通道选通,以将所述数据交换至所述任一第二CU的第二输出端口。
图5为本发明的一个实施例提供的数据交换方法的流程图,如图5所示,本实施例的方法适用于图1或图2所示交换网系统,所述方法可以包括:
步骤101、每个第一CU中的任一第一输入端口接收并缓存数据,根据接收到的所述数据生成第一调度请求,所述数据携带有目的端口,所述目的端口为所述N个第二CU中的任一第二CU的第二输出端口,所述第一调度请求用于请求通过所述N个第一输出端口向所述目的端口发送所述数据;
步骤102、第一仲裁器对所述第一调度请求进行调度仲裁,以确定与所述目的端口匹配的第一目标输出端口,并生成第一调度授权,所述第一目标输出端口为所述每个第一CU的N个第一输出端口中与所述任一第二CU相耦合的一个第一输出端口,所述第一调度授权用于指示所述任一第一输入端口向所述第一目标输出端口发送所述数据;
步骤103、所述任一第一输入端口根据所述第一调度授权,将所述数据调度给第一交叉开关;
步骤104、所述第一交叉开关在所述第一仲裁器的配置下,将所述数据交换至所述第一目标输出端口;
步骤105、所述任一第二CU中的第二目标输入端口接收和缓存所述数据,并生成第二调度请求,所述第二目标输入端口为所述任一第二CU中与所述第一目标输出端口相耦合的一个第二输入端口,所述第二调度请求用于请求使用所述任一第二CU的第二输出端口;
步骤106、第二仲裁器对所述第二调度请求进行仲裁,以生成第二调度授权,所述第二调度授权用于指示所述第二目标输入端口向所述任一第二CU的第二输出端口发送所述数据;
步骤107、所述第二目标输入端口根据所述第二调度授权,将所述数据调度给第二交叉开关;
步骤108、所述第二交叉开关在所述第二仲裁器的配置下,将所述数据交换至所述任一第二CU的第二输出端口。
本实施例,通过将输入第一CU的任一第一输入端口的数据通过第一仲裁器和第二仲裁器的调度交换至数据携带的目的端口对应的任一第二CU的第二输出端口,降低了算法的复杂度,减少交叉开关的面积,当输入端口、输出端口较多时,可以降低SF系统的实现难度,提高性能。
下面采用几个具体的实施例,对图5所示数据交换方法方法实施例的技术方案进行详细说明。
图6为本发明的再一个实施例提供的交换网系统的结构示意图,如图6所示,该交换网系统为8×8的结构,包括4个第一CU(CU1)和8个第二CU(CU2),一个CU1包括2个第一输入端口、8个第一输出端口,一个CU2包括4个第二输入端口、一个第二输出端口,每个CU1的8个第一输出端口分别与8个CU2中各个CU2的一个第二输入端口相耦合,且一一对应。每个CU1内部由一个2×8的第一仲裁器控制第一输入端口到第一输出端口的交换调度,该2×8的第一仲裁器针对2个第一缓存逐个进行调度,其工作机制和算法与传统的有缓冲的交叉开关中的仲裁器相同,此处不再赘述。每个CU2内部由一个4×1的第二仲裁器控制第二输入端口到第二输出端口的交换调度,该4×1的第二仲裁器针对4个第二缓存区进行4×1的选择。
具体来讲,CU1的处理流程包括:首先,第一输入端口向其所属的CU1中的2×8的第一仲裁器提出第一调度请求,表明本输入端有输入数据需要去往某个目的端口,第一仲裁器根据第一算法进行仲裁,确定与目的端口匹配的第一输出端口,产生第一调度授权,并将该第一调度授权通知相应的第一输入端口。第一输入端口根据第一调度授权从其对应的第一缓存中调度出数据发往第一交叉开关,第一交叉开关在第一仲裁器的配置下,数据交换至匹配的第一输出端口。
CU2的处理流程包括:首先,CU2的4个第二输入端口分别接4个CU1的一个第一输出端口,若第二缓存中缓存有数据,则会向CU2的4×1的第二仲裁器提出第二调度请求。然后第二仲裁器根据4个第二输入端口提出的第二调度请求按照RR、OCF等算法进行4×1的仲裁调度,产生第二调度授权,并将该第二调度授权通知相应的第二输入端口。第二输入端口根据第二调度授权从其对应的第二缓存中调度出数据发往第二交叉开关,第二交叉开关在第二仲裁器的配置下,将数据交换至CU2的第二输出端口。
综上所述,以图6所示的8×8两级调度MBC为例,第一级的4个CU1分别完成数据的2×8的交换之后,缓存在第二缓存中,第二级的8个CU2再根据第二缓存的占用情况分别完成8×1的交换,最终实现8×8的交换。
表1为两级调度MBC与现有技术的实现代价比较,如表1所示,以MUX数量来讲,两级调度MBC需要的(M×N)个N/M×1的MUX加N个M×1的MUX,其复杂度与现有的无缓冲的交叉开关、有缓冲的交叉开关的复杂度相当,但是由于CU1和CU2由两级MUX构成,且两级之间有第二缓存区隔离,所以相较于一级N×1的MUX更便于实现。以仲裁器数量来讲,两级调度MBC需要M个N/M×N的仲裁器加N个M×1的仲裁器,两级调度MBC的仲裁器的调度算法复杂度在无缓冲的交叉开关和有缓冲的交叉开关的之间,M个N/M×N的仲裁器的算法复杂度的难度较1个N×N的仲裁器的算法复杂度的难度低很多。以缓存区数量来讲,两级调度MBC结构只需要N×(M+1)个缓存区,M值越小,所需的缓存区数量越少,例如,当N=128时,有缓冲的交叉开关需要16384个缓存区,而M=4的两级调度MBC只需要640个缓存区,约为有缓冲的交叉开关的4%。
表1
一个N×N的交叉开关分三级进行调度,上述一个M×N的CU1可继续划分为P个M/P×N的CU11与N个P×1的CU12。与有缓冲的交叉开关相比,三级调度MBC需要的缓存区数量为N×(P+M+1)。
图7为本发明的又一个实施例提供的交换网系统的结构示意图,如图7所示,对图6所示的示例进行扩展,两级调度MBC中的L×N的CU1可以循环使用上述方法进一步拆分。N=16的交叉开关以L=4,则CU1为4个4×16的结构,CU2为16个4×1的结构。而每个CU1又可以按继续拆分为两级,以L=2,则CU11为2个2×16的结构CU12为16个2×1的结构,则CU11采用多入多出调度算法,CU12和CU2均采用多选一调度算法。另外,该三级调度MBC共需要112个缓存区,缓冲的交叉开关需要256个缓存区,且划分为三级之后,各MUX之间通过缓存区隔离,更便于实现。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种交换网系统,其特征在于,包括:
M个第一交叉开关单元CU和N个第二CU,每个第一CU包括:L个第一输入端口、第一仲裁器、第一交叉开关以及N个第一输出端口,每个第二CU包括:M个第二输入端口、第二仲裁器、第二交叉开关以及一个第二输出端口,所述M个第一CU的M×N个第一输出端口分别与所述N个第二CU的N×M个第二输入端口相耦合,其中,每个第一CU的N个第一输出端口分别与所述N个第二CU中各个第二CU的一个第二输入端口相耦合,且一一对应,N=M×L,且M、N、L均为正整数;
所述每个第一CU中的任一第一输入端口,用于接收并缓存数据,以及根据接收到的所述数据生成第一调度请求,所述数据携带有目的端口,所述目的端口为所述N个第二CU中的任一第二CU的第二输出端口,所述第一调度请求用于请求通过所述N个第一输出端口向所述目的端口发送所述数据;所述第一仲裁器,用于对所述第一调度请求进行调度仲裁,以确定与所述目的端口匹配的第一目标输出端口,并生成第一调度授权,所述第一目标输出端口为所述每个第一CU的N个第一输出端口中与所述任一第二CU相耦合的一个第一输出端口,所述第一调度授权用于指示所述任一第一输入端口向所述第一目标输出端口发送所述数据;所述任一第一输入端口,还用于根据所述第一调度授权,将所述数据调度给所述第一交叉开关;所述第一交叉开关,用于在所述第一仲裁器的配置下,将所述数据交换至所述第一目标输出端口;
所述任一第二CU中的第二目标输入端口,用于接收和缓存所述数据,并生成第二调度请求,所述第二目标输入端口为所述任一第二CU中与所述第一目标输出端口相耦合的一个第二输入端口,所述第二调度请求用于请求使用所述任一第二CU的第二输出端口;所述第二仲裁器,用于对所述第二调度请求进行仲裁,以生成第二调度授权,所述第二调度授权用于指示所述第二目标输入端口向所述任一第二CU的第二输出端口发送所述数据;所述第二目标输入端口,还用于根据所述第二调度授权,将所述数据调度给所述第二交叉开关;所述第二交叉开关,用于在所述第二仲裁器的配置下,将所述数据交换至所述任一第二CU的第二输出端口。
2.根据权利要求1所述的交换网系统,其特征在于,所述第一仲裁器用于根据预设的映射关系对所述第一调度请求进行调度仲裁,以从所述每个第一CU的N个第一输出端口中确定与所述目的端口匹配的所述第一目标输出端口,所述预设的映射关系包括所述每个第一CU的N个第一输出端口与所述N个第二CU的N个第二输出端口的一一对应关系。
3.根据权利要求1或2所述的交换网系统,其特征在于,所述第二仲裁器用于根据预设的调度算法对所述第二调度请求进行仲裁,以生成所述第二调度授权,所述预设的调度算法包括:轮询RR调度、最老信元优先OCF调度、最长队列优先LQF调度、最久端口优先LPF调度或者加权调度。
4.根据权利要求1或2所述的交换网系统,其特征在于,所述每个第一CU还包括:L个第一缓存,所述L个第一缓存分别与所述每个第一CU的L个第一输入端口耦合,且一一对应;所述L个第一缓存用于分别缓存所述每个第一CU中的L个第一输入端口接收的数据。
5.根据权利要求1或2所述的交换网系统,其特征在于,所述每个第二CU还包括:M个第二缓存,所述M个第二缓存分别与所述每个第二CU的M个第二输入端口耦合,且一一对应;所述第二缓存用于缓存所述第二输入端口接收的数据。
6.根据权利要求1或2所述的交换网系统,其特征在于,所述第一交叉开关包括:N个第一复用器,所述第一复用器包括L个第一入端口和一个第一出端口,所述L个第一入端口分别与所述L个第一输入端口相耦合,且一一耦合,所述一个第一出端口与所述N个第一输出端口中的一个第二输出端口相耦合,所述N个第一复用器用于在所述第一仲裁器的配置下,将所述任一第一输入端口与所述第一目标输出端口之间的通道选通,以将所述数据交换至所述第一目标输出端口。
7.根据权利要求1或2所述的交换网系统,其特征在于,所述第二交叉开关包括:第二复用器,所述第二复用器包括M个第二入端口和一个第二出端口,所述M个第二入端口分别与所述M个第二输入端口中的一个第二输入端口相耦合,所述一个第二出端口与所述一个第二输出端口相耦合,所述第二复用器用于在所述第二仲裁器的配置下,将所述第二目标输入端口与所述任一第二CU的第二输出端口之间的通道选通,以将所述数据交换至所述任一第二CU的第二输出端口。
8.一种数据交换方法,其特征在于,所述方法适用于交换网系统,所述交换网系统包括:M个第一交叉开关单元CU和N个第二CU,每个第一CU包括:L个第一输入端口、第一仲裁器、第一交叉开关以及N个第一输出端口,每个第二CU包括:M个第二输入端口、第二仲裁器、第二交叉开关以及一个第二输出端口,所述M个第一CU的M×N个第一输出端口分别与所述N个第二CU的N×M个第二输入端口相耦合,其中,每个第一CU的N个第一输出端口分别与所述N个第二CU中各个第二CU的一个第二输入端口相耦合,且一一对应,N=M×L,且M、N、L均为正整数;
所述方法包括:
所述每个第一CU中的任一第一输入端口接收并缓存数据,根据接收到的所述数据生成第一调度请求,所述数据携带有目的端口,所述目的端口为所述N个第二CU中的任一第二CU的第二输出端口,所述第一调度请求用于请求通过所述N个第一输出端口向所述目的端口发送所述数据;
所述第一仲裁器对所述第一调度请求进行调度仲裁,以确定与所述目的端口匹配的第一目标输出端口,并生成第一调度授权,所述第一目标输出端口为所述每个第一CU的N个第一输出端口中与所述任一第二CU相耦合的一个第一输出端口,所述第一调度授权用于指示所述任一第一输入端口向所述第一目标输出端口发送所述数据;
所述任一第一输入端口根据所述第一调度授权,将所述数据调度给所述第一交叉开关;
所述第一交叉开关在所述第一仲裁器的配置下,将所述数据交换至所述第一目标输出端口;
所述任一第二CU中的第二目标输入端口接收和缓存所述数据,并生成第二调度请求,所述第二目标输入端口为所述任一第二CU中与所述第一目标输出端口相耦合的一个第二输入端口,所述第二调度请求用于请求使用所述任一第二CU的第二输出端口;
所述第二仲裁器对所述第二调度请求进行仲裁,以生成第二调度授权,所述第二调度授权用于指示所述第二目标输入端口向所述任一第二CU的第二输出端口发送所述数据;
所述第二目标输入端口根据所述第二调度授权,将所述数据调度给所述第二交叉开关;
所述第二交叉开关在所述第二仲裁器的配置下,将所述数据交换至所述任一第二CU的第二输出端口。
CN201510354932.0A 2015-06-25 2015-06-25 交换网系统和数据交换方法 Active CN105099956B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510354932.0A CN105099956B (zh) 2015-06-25 2015-06-25 交换网系统和数据交换方法
EP16813704.0A EP3306880B1 (en) 2015-06-25 2016-06-22 A switch fabric system and a data switching method
PCT/CN2016/086765 WO2016206588A1 (zh) 2015-06-25 2016-06-22 发送上行信息、发送与接收下行信息、系统调度方法和装置
US15/851,283 US10505867B2 (en) 2015-06-25 2017-12-21 Switch fabric system and data switching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510354932.0A CN105099956B (zh) 2015-06-25 2015-06-25 交换网系统和数据交换方法

Publications (2)

Publication Number Publication Date
CN105099956A CN105099956A (zh) 2015-11-25
CN105099956B true CN105099956B (zh) 2018-08-14

Family

ID=54579533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510354932.0A Active CN105099956B (zh) 2015-06-25 2015-06-25 交换网系统和数据交换方法

Country Status (4)

Country Link
US (1) US10505867B2 (zh)
EP (1) EP3306880B1 (zh)
CN (1) CN105099956B (zh)
WO (1) WO2016206588A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099956B (zh) 2015-06-25 2018-08-14 华为技术有限公司 交换网系统和数据交换方法
CN109412962B (zh) * 2018-10-25 2024-04-23 天津光电通信技术有限公司 一种可重配置选路交叉网络及其实现方法
CN114925018B (zh) * 2022-07-22 2022-10-21 中科声龙科技发展(北京)有限公司 片上交叉开关系统及芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784374A (en) * 1996-02-06 1998-07-21 Advanced Micro Devices, Inc. Contention resolution system in ATM switch
CN1404254A (zh) * 2002-10-24 2003-03-19 上海交通大学 可调光分路可扩展组播光交换结构
CN101656893A (zh) * 2009-08-04 2010-02-24 华为技术有限公司 一种多级交换网
EP2416254A1 (en) * 2009-03-31 2012-02-08 Fujitsu Limited Arbitration method, arbitration circuit, and device using the arbitration circuit

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148428A (en) * 1989-05-02 1992-09-15 Bell Communictions Research, Inc. Modular architecture for very large packet switch
US5123011A (en) * 1989-09-27 1992-06-16 General Electric Company Modular multistage switch for a parallel computing system
US6961803B1 (en) * 2001-08-08 2005-11-01 Pasternak Solutions Llc Sliced crossbar architecture with no inter-slice communication
KR100488478B1 (ko) * 2002-10-31 2005-05-11 서승우 다중 입력/출력 버퍼형 교환기
US7539199B2 (en) * 2003-02-21 2009-05-26 Gireesh Shrimali Switch fabric scheduling with fairness and priority consideration
US7492782B2 (en) * 2003-12-27 2009-02-17 Electronics And Telecommunications Research Institute Scalable crossbar matrix switching apparatus and distributed scheduling method thereof
CN1747606B (zh) * 2004-09-09 2011-02-09 华为技术有限公司 业务数据传输方法及装置
JP4786522B2 (ja) * 2006-12-25 2011-10-05 富士通株式会社 パケット中継方法及び装置
US7843908B2 (en) * 2007-06-08 2010-11-30 Roberto Rojas-Cessa Scalable two-stage Clos-networking switch and module-first matching
US9166928B2 (en) * 2011-09-30 2015-10-20 The Hong Kong University Of Science And Technology Scalable 3-stage crossbar switch
WO2012126414A2 (zh) 2012-05-02 2012-09-27 华为技术有限公司 一种波长通道光性能监测的方法、系统和节点设备
CN105099956B (zh) * 2015-06-25 2018-08-14 华为技术有限公司 交换网系统和数据交换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784374A (en) * 1996-02-06 1998-07-21 Advanced Micro Devices, Inc. Contention resolution system in ATM switch
CN1404254A (zh) * 2002-10-24 2003-03-19 上海交通大学 可调光分路可扩展组播光交换结构
EP2416254A1 (en) * 2009-03-31 2012-02-08 Fujitsu Limited Arbitration method, arbitration circuit, and device using the arbitration circuit
CN101656893A (zh) * 2009-08-04 2010-02-24 华为技术有限公司 一种多级交换网

Also Published As

Publication number Publication date
US10505867B2 (en) 2019-12-10
EP3306880B1 (en) 2022-03-30
WO2016206588A1 (zh) 2016-12-29
EP3306880A1 (en) 2018-04-11
US20180139151A1 (en) 2018-05-17
EP3306880A4 (en) 2018-07-04
CN105099956A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
Rojas-Cessa et al. CIXOB-k: Combined input-crosspoint-output buffered packet switch
US8451854B1 (en) Method and apparatus for priority-provisioned arbitration scheduling for a switch fabric
CN105099956B (zh) 交换网系统和数据交换方法
US6757246B2 (en) Method and apparatus for weighted arbitration scheduling separately at the input ports and the output ports of a switch fabric
US20040218600A1 (en) Method and apparatus for parallel, weighted arbitration scheduling for a switch fabric
US6049526A (en) Enhanced integrated rate based available bit rate scheduler
EP0981878A1 (en) Fair and efficient cell scheduling in input-buffered multipoint switch
EP2442499B1 (en) Data exchange method and data exchange structure
CN110351187B (zh) 数据中心网络中路径切换粒度自适应的负载均衡方法
EP0931396A1 (en) Asynchronous transfer mode switching architectures having connection buffers
CN106330765A (zh) 缓存分配方法及装置
CN101695051A (zh) 一种用于缓冲Crossbar的队列长度均衡调度方法
US20040083326A1 (en) Switch scheduling algorithm
EP3579507B1 (en) Dynamic scheduling methods, platform, system and switch apparatus.
JPH01225260A (ja) 優先制御方法
CN103326962A (zh) 多样化服务交换方法
CN112491748B (zh) 一种基于信用的支持数据包交换的比例公平调度方法
CN113098765B (zh) 一种车载智能网关及其轮询调度方法
KR100416507B1 (ko) 입력버퍼형 스위치의 공정한 스케줄링 방법
Passas et al. Packet mode scheduling in buffered crossbar (CICQ) switches
Karimi et al. Reducing crosspoint buffers for performance guaranteed asynchronous crossbar scheduling
Pan et al. CQPPS: A scalable multi‐path switch fabric without back pressure
Dong et al. Input-and output-based shared-memory crosspoint-buffered packet switches for multicast traffic switching and replication
Hu et al. A practical scheduling algorithm for buffered-crossbar switch
Radusinovic et al. Performance analysis of Exhaustive Limited Service Round Robin Matching Algorithm

Legal Events

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