CN113676422B - 一种节点匹配方法及装置 - Google Patents
一种节点匹配方法及装置 Download PDFInfo
- Publication number
- CN113676422B CN113676422B CN202111237445.8A CN202111237445A CN113676422B CN 113676422 B CN113676422 B CN 113676422B CN 202111237445 A CN202111237445 A CN 202111237445A CN 113676422 B CN113676422 B CN 113676422B
- Authority
- CN
- China
- Prior art keywords
- allowed
- ports
- idle state
- input
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000013475 authorization Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 7
- 101100204393 Arabidopsis thaliana SUMO2 gene Proteins 0.000 description 6
- 101100311460 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sum2 gene Proteins 0.000 description 6
- 101150112492 SUM-1 gene Proteins 0.000 description 5
- 101150096255 SUMO1 gene Proteins 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1507—Distribute and route fabrics, e.g. sorting-routing or Batcher-Banyan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种节点匹配方法及装置,该方法包括:获取所述目标节点的多个所述允许输入端口和多个所述允许输出端口的实时状态参数;根据所述实时状态参数和预设计算规则,确定空闲状态下的所有所述允许输入端口的序号,确定空闲状态下的所有所述允许输出端口的序号;匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系;根据所述匹配关系进行数据传输。本申请中匹配输入输出端口的依据为序号是否相同,同一侧的序号确定不需轮询,一次即可确定,大幅节省了原本轮询仲裁的耗时,而且由于匹配在所有输入输出状态均一致的情况下进行,能够实现较为理想的匹配结果。
Description
技术领域
本发明涉及交换网络领域,特别涉及一种节点匹配方法及装置。
背景技术
随着交换网络大容量和高可扩展性的需求增高,单机交换网络不再适用,单纯地通过增加端口数量或者提升线路速率难以满足大规模交换系统的要求,因此多级交换结构应运而生。
多级交换网络结构由多个单级结构交换单元级联形成,在多级交换网络结构中,只有第一级交换单元的输入端口与最后一级交换单元的输出端口是交换结构的直接输入输出端口;而级与级之间交换单元输入输出端口是间接的输入输出端口,显而易见在多级交换结构中,级数越少,交换延迟也就越小,但交换通路也相应减少,这导致内部碰撞阻塞更容易产生,因此多级交换结构的确定有一个各项性能之间的折中,其中最有代表性的是多级 CLOS网络,特别是三级CLOS结构。
为了避免内部碰撞阻塞,CLOS网络架构中多采用轮询仲裁匹配策略进行匹配,具体的,每个输入端口根据自己当前时隙分组的传输需求向相应的输出端口发送传输“请求( request) ”信号,每个输出端口以某种方式(如周期轮换) 送出“授权( grant) ”信号以表示接受此请求,输入端口收到输出端口的授权信号后,再以某种方式( 如周期轮换) “接受( accept) ”某个授权,从而在输入端口与输出端口之间形成一个匹配。为了实现端口之间的匹配,需要在每个端口处设立一个仲裁器( arbitrator) ,用于在多个信号中的选择。
这种轮询仲裁匹配策略存在缺陷:一是输入/输出端口在每个匹配周期都采用请求—授权—接受形式,这不仅会增加交换延迟,而且会产生大量需要维护的仲裁信息;二是一个匹配周期很难得到输入与输出端口之间最大匹配,可能需要多个匹配周期,甚至永远也得不到最大匹配。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种节点匹配方法及装置,以通过更短的时间获得更好的匹配结果。其具体方案如下:
一种节点匹配方法,应用于多级交换网络中的目标节点,所述目标节点包括多个允许输入端口和多个允许输出端口,该节点匹配方法包括:
获取所述目标节点的多个所述允许输入端口和多个所述允许输出端口的实时状态参数;所述实时状态参数包括:指示每个所述允许输入端口和每个所述允许输出端口是否空闲的状态信息,每个所述允许输入端口在所有所述允许输入端口的动态优先序号,每个所述允许输出端口在所有所述允许输出端口的动态优先序号;
根据所述实时状态参数和预设计算规则,确定空闲状态下的所有所述允许输入端口的序号,确定空闲状态下的所有所述允许输出端口的序号;
匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系;
根据所述匹配关系进行数据传输。
优选的,所述预设计算规则具体为:
对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号不高于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号不高于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号不低于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号不低于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号高于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号高于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号低于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号低于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号。
优选的,所述匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系之后,还包括:
对匹配关系对应的所述允许输入端口和所述允许输出端口进行锁定授权。
优选的,所述节点匹配方法还包括:
根据所述匹配关系更新所述实时状态参数。
优选的,所述多级交换网络具体为三级交换网络,所述目标节点具体为输入节点。
相应的,本申请还公开了一种节点匹配装置,应用于多级交换网络中的目标节点,所述目标节点包括多个允许输入端口和多个允许输出端口,该节点匹配装置包括:
获取模块,用于获取所述目标节点的多个所述允许输入端口和多个所述允许输出端口的实时状态参数;所述实时状态参数包括:指示每个所述允许输入端口和每个所述允许输出端口是否空闲的状态信息,每个所述允许输入端口在所有所述允许输入端口的动态优先序号,每个所述允许输出端口在所有所述允许输出端口的动态优先序号;
确定模块,用于根据所述实时状态参数和预设计算规则,确定空闲状态下的所有所述允许输入端口的序号,确定空闲状态下的所有所述允许输出端口的序号;
匹配模块,用于匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系;
传输模块,用于根据所述匹配关系进行数据传输。
优选的,所述确定模块包括第一确定子模块和第二确定子模块;
所述第一确定子模块包括:M个第一选择器和M个第一加法器,M为所述允许输入端口的个数;
第i个所述第一选择器的输入端接收所有所述允许输入端口的是否空闲的状态信息和动态优先序号,第i个所述第一选择器的输出端输出按动态优先序号排序为第i个的所述允许输入端口的是否空闲的状态信息;其中0<i≤M;
第i个所述第一加法器的第一输入端连接第i个所述第一选择器的输出端,第i个所述第一加法器的输出端输出按动态优先序号排序为第i个的所述允许输入端口的序号,第j个所述第一加法器的第二输入端连接第j-1个所述第一加法器的输出端,其中1<j≤M,第1个所述第一加法器的第二输入端空置;
所述第二确定子模块包括:N个第二选择器和N个第二加法器,N为所述允许输出端口的个数;
第k个所述第二选择器的输入端接收所有所述允许输出端口的是否空闲的状态信息和动态优先序号,第k个所述第二选择器的输出端输出按动态优先序号排序为第k个的所述允许输出端口的是否空闲的状态信息;其中0<k≤N;
第k个所述第二加法器的第一输入端连接第k个所述第二选择器的输出端,第k个所述第二加法器的输出端输出按动态优先序号排序为第k个的所述允许输出端口的序号,第h个所述第二加法器的第二输入端连接第h-1个所述第二加法器的输出端,其中1<h≤N,第1个所述第二加法器的第二输入端空置。
优选的,所述节点匹配装置还包括:
与所述传输模块连接的输出缓存模块。
优选的,所述匹配模块还用于:
向所述获取模块输出所述匹配关系对应的所述允许输入端口和所述允许输出端口的锁定授权信息;
所述获取模块包括第一获取子单元和第二获取子单元,其中:
所述第一获取子单元包括:
接收所述锁定授权信息和对应所述允许输入端口的输入请求、输出所述允许输入端口的是否空闲的状态信息的第一逻辑单元;
接收所有所述允许输入端口的动态优先序号的第一优先序号接口;
所述第二获取子单元包括:
接收所述锁定授权信息和对应所述输出缓存模块的缓存状态信息、输出所述允许输出端口的是否空闲的状态信息的第二逻辑单元;
接收所有所述允许输出端口的动态优先序号的第二优先序号接口。
本申请公开了一种节点匹配方法,包括:获取所述目标节点的多个所述允许输入端口和多个所述允许输出端口的实时状态参数;根据所述实时状态参数和预设计算规则,确定空闲状态下的所有所述允许输入端口的序号,确定空闲状态下的所有所述允许输出端口的序号;匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系;根据所述匹配关系进行数据传输。本申请中匹配输入输出端口的依据为序号是否相同,同一侧的序号确定不需轮询,一次即可确定,大幅节省了原本轮询仲裁的耗时,而且由于匹配在所有输入输出状态均一致的情况下进行,能够实现较为理想的匹配结果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中CLOS结构的三级交换网络的结构分布图;
图2为本发明实施例中一种节点匹配方法的步骤流程图;
图3为传统轮询仲裁方案中任一节点的硬件架构图;
图4为传统轮询仲裁方案的步骤示意图;
图5为本发明实施例中一种节点匹配方法的步骤示意图;
图6为本发明实施例中一种节点匹配装置的结构分布图;
图7为本发明实施例中一种具体的节点匹配装置的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
传统的轮询仲裁匹配策略存在缺陷:一是输入/输出端口在每个匹配周期都采用请求—授权—接受形式,这不仅会增加交换延迟,而且会产生大量需要维护的仲裁信息;二是一个匹配周期很难得到输入与输出端口之间最大匹配,可能需要多个匹配周期,甚至永远也得不到最大匹配。
本申请中匹配输入输出端口的依据为序号是否相同,同一侧的序号确定不需轮询,一次即可确定,大幅节省了原本轮询仲裁的耗时,而且由于匹配在所有输入输出状态均一致的情况下进行,能够实现较为理想的匹配结果。
本发明实施例公开了一种节点匹配方法,应用于多级交换网络中的目标节点,目标节点包括多个允许输入端口和多个允许输出端口,具体的,当某一节点存在至少通过2个输入端口接收数据、存在一条数据至少存在2个可输出端口,也即存在数据通过该节点时允许匹配的输入端口和输出端口均不唯一,则该节点为目标节点,允许匹配的输入端口和输出端口分别为允许输入端口和允许输出端口。具体的,以CLOS结构的三级交换网络为例,通常所有的输入节点都是目标节点,如图1所示,输入模块IM0和IM1的输入端分别连接四个发送端口,输出模块OM0和OM1的输出端分别连接四个接收端口,中间模块为CM0-CM3,每个中间模块的输入端口与两个输入模块IM0和IM1的输出端口均相连,每个中间模块的输出端口与两个输出模块OM0和OM1的输入端口均相连,该结构中满足目标节点要求的只有输入模块IM0和IM1,可执行本实施例中的节点匹配方案,输入模块IM0的允许输入端口为发送端口#0-#3,允许输出端口为CM0-CM3,输入模块IM1与之同理。
参见图2所示,该节点匹配方法包括:
S1:获取目标节点的多个允许输入端口和多个允许输出端口的实时状态参数;
其中,实时状态参数包括:每个允许输入端口和每个允许输出端口是否空闲的状态信息,每个允许输入端口在所有允许输入端口的动态优先序号,每个允许输出端口在所有允许输出端口的动态优先序号;
具体的,每个端口的状态信息包括空闲状态和忙碌状态两种,忙碌状态也可用非空闲状态或锁定状态来描述,每个端口的动态优先序号指的是该端口在同侧所有端口中的优先级,该优先级与端口本身的端口号无必然关联,但在使用时存在一个有限动态序号和端口号的映射关系,该优先级为根据动态指令对应的配置,用户可根据实际需求对目标节点上每个端口的优先级进行配置和调整,但一般来说动态优先序号的配置频率较低,不会频繁发生变动。
S2:根据实时状态参数和预设计算规则,确定空闲状态下的所有允许输入端口的序号,确定空闲状态下的所有允许输出端口的序号;
可以理解的是,步骤S2首先根据每个端口是否空闲的状态信息确定可匹配的端口范围为:所有空闲状态的允许输入端口和所有空闲状态的允许输出端口;然后根据预设计算规则,确定每个端口在对应侧的序号,该预设计算规则与动态优先序号有关,可以是根据动态优先序号对所有空闲端口进行排序得到序号,也可以是对该端口的动态优先序号某一范围的端口个数求和得到序号,结合动态优先序号全局可见的优点,对每侧的可匹配端口标注序号,该序号可以按照该侧空闲端口的动态优先序号由高到低或由低到高确定,两侧顺序可以一致或相反,只要具有对应可匹配的关系即可,当然,为了避免出错,两侧序号确定尽量使用相同的顺序和依据。
S3:匹配序号对应的允许输入端口和允许输出端口,得到匹配关系;
可以理解的是,本实施例中已知所有可匹配的允许输入端口和允许输出端口,如何将两侧空闲状态的端口匹配起来,不需要依次轮询迭代,直接将两侧序号对应的端口匹配即可得到所有最大匹配度的所有匹配关系。此处序号对应的允许输入端口和允许输出端口,可以是序号相同的允许输入端口和允许输出端口,也可以是序号在同侧可匹配端口的顺序相同的允许输入端口和允许输出端口,具体细节的差异在于数值的排列顺序从高到低或从低到高以及起始值为0或1,这些差异并不影响本实施例中实际方法的实现,均可以完成本实施例中全局匹配空闲状态端口的目的。
S4:根据匹配关系进行数据传输。
可以理解的是,在确定匹配关系后,根据匹配关系进行实际的数据传输即可。
进一步的,步骤S3匹配序号对应的允许输入端口和允许输出端口,得到匹配关系之后,还包括:
S5:对匹配关系对应的允许输入端口和允许输出端口进行锁定授权。
可以理解的是,匹配关系一旦确定,直到完整的整帧数据发送完之前,该匹配关系不应断开,发送过程中实时状态为非空闲,再次匹配时不考虑非空闲的端口。因此,为了实现该效果,在匹配关系确定后,对相应端口进行锁定授权,避免下次匹配时误纳入匹配范围。
进一步的,节点匹配方法还包括:
S6:根据匹配关系更新实时状态参数。
可以理解的是,随着数据在多级交换网络中的传输,本实施例中实时状态参数可能发生变化,为了避免后期匹配时出现错误,应当根据多级交换网络的实际状态,及时更新实时状态参数。
本申请公开了一种节点匹配方法,包括:获取所述目标节点的多个所述允许输入端口和多个所述允许输出端口的实时状态参数;根据所述实时状态参数和预设计算规则,确定空闲状态下的所有所述允许输入端口的序号,确定空闲状态下的所有所述允许输出端口的序号;匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系;根据所述匹配关系进行数据传输。本申请中匹配输入输出端口的依据为序号是否相同,同一侧的序号确定不需轮询,一次即可确定,大幅节省了原本轮询仲裁的大量耗时,而且由于匹配在所有输入输出状态均一致的情况下进行,能够实现较为理想的匹配结果。
本发明实施例公开了一种具体的节点匹配方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
其中,本实施例对输入端的空闲状态的允许输入端口、输出端的空闲状态的允许输出端口设置了相同的计算规则,包括相同的运算方式和计数起点,预设计算规则具体为:
对空闲状态下的每个允许输入端口,将空闲状态下动态优先序号不高于该允许输入端口的允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个允许输出端口,将空闲状态下动态优先序号不高于该允许输出端口的允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个允许输入端口,将空闲状态下动态优先序号不低于该允许输入端口的允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个允许输出端口,将空闲状态下动态优先序号不低于该允许输出端口的允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个允许输入端口,将空闲状态下动态优先序号高于该允许输入端口的允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个允许输出端口,将空闲状态下动态优先序号高于该允许输出端口的允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个允许输入端口,将空闲状态下动态优先序号低于该允许输入端口的允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个允许输出端口,将空闲状态下动态优先序号低于该允许输出端口的允许输出端口的个数记为该允许输出端口的序号。
具体的,下面对该预设计算规则的第一个规则进行举例,也即某侧动态优先序号不高于该端口的所有端口的个数记为该端口的序号,以一个具有6个允许输入端口、6个允许输出端口的目标节点为例,相关参数见表1和表2所示。
表1 允许输入端口的相关参数
允许输入端口号 | 5 | 4 | 3 | 2 | 1 | 0 |
动态优先序号 | 3 | 5 | 2 | 0 | 4 | 1 |
是否空闲的状态信息 | 0 | 1 | 1 | 0 | 1 | 0 |
序号 | 1 | 3 | 1 | 0 | 2 | 0 |
输入锁住 | 1 | 1 | 1 | |||
连接的允许输出端口号 | 2 | 4 | 5 |
表2 允许输出端口的相关参数
允许输出端口号 | 5 | 4 | 3 | 2 | 1 | 0 |
动态优先序号 | 2 | 0 | 1 | 3 | 4 | 5 |
是否空闲的状态信号 | 1 | 1 | 0 | 1 | 0 | 1 |
序号 | 2 | 1 | 1 | 3 | 3 | 4 |
输出锁住 | 1 | 1 | 1 |
可以理解的是,获取该目标节点的所有实时状态参数,也即得到表1的第1-3行的数据和表2第1-3行的数据,其中端口号和动态优先序号均从0开始计数,状态信号中空闲状态为1,非空闲状态为0,然后计算每个端口的序号,此处每个序号为优先级不高于该端口的空闲端口的个数和,例如表1中允许输入端口号4,动态优先序号为5,动态优先序号不高于该端口的所有空闲端口的端口数,也即动态优先序号不高于该端口的所有端口的状态信息的求和:0+1+1+0+1+0=3,其他端口同理。在系统计算的过程中,有可能对所有端口均进行了序号的确定,也即表1第4行和表2第4行全满的情况,但在后续匹配的过程中只有空闲状态下的端口可进行匹配,也即只有状态信息为1(允许输入端口号4、3、1和允许输出端口号5、4、2、0)才进行后续匹配,由于一个匹配关系对应一个允许输入端口和一个允许输出端口,因此最大匹配取两侧可匹配端口个数的较小值,在当前举例中取3,即3个匹配关系,进一步的,此处已知两侧端口的序号,将序号相同的端口进行匹配即可,两侧端口号匹配的结果如表1中所示。
参见图3和图4所示。图3为传统轮询仲裁方案中任一节点的硬件架构图,首先根据输入请求及其数据目的地送入轮询仲裁器,轮询仲裁器根据之前仲裁的结果和当前请求的状态仲裁输出的结果,其次路由选择模块根据轮询仲裁器的结果将输入数据选择对应的输出,最后输出数据写入输出缓存,输出缓存根据OM和输出端口的状态决定是否将数据送出。图4为该节点中轮询匹配的过程,首先对输入#0进行匹配,此时输入#1与输出#0均处于非空闲状态,将输入#0与输出#1匹配路径;然后对输入#2匹配,将输入#2与输出#2匹配;最后对输入#3匹配,将输入#3与输出#3匹配。可见该匹配过程中轮询多次,下一匹配必须在上一匹配成功的基础上进行,耗时较多。
本实施例中节点匹配方法对图4的端口:输入#0-#3、输出#0-#3的匹配如图5所示,其中每个端口的端口号为#0-#3,对应的动态优先序号以优先级标识,其外侧小框标注了本方法确定的序号,然后将所有序号直接匹配,即可得到匹配关系,可见本实施例不需要多次迭代轮询,一次性即可完成所有匹配。
可见,轮询仲裁策略中每个输入端口的匹配均需要知悉前面端口的匹配信息,是个需要不断迭代的过程,输入输出端口匹配数量越多,则迭代的信息越多,计算周期越多。本实施例中的方法,无论输入输出端口数量为多少,只需并行增加计算序号的计数器即可,而所有输入输出端口的序号均可同时并行计算完成,不会产生轮询仲裁匹配策略的迭代信息,完成序号计算后直接匹配即可,由此可以看出输入输出端口越多,本实施例中节点匹配方法的时间优势越明显。
相应的,本申请还公开了一种节点匹配装置,应用于多级交换网络中的目标节点,目标节点包括多个允许输入端口和多个允许输出端口,参见图6所示,该节点匹配装置包括:
获取模块1,用于获取目标节点的多个允许输入端口和多个允许输出端口的实时状态参数;实时状态参数包括:指示每个允许输入端口和每个允许输出端口是否空闲的状态信息,每个允许输入端口在所有允许输入端口的动态优先序号,每个允许输出端口在所有允许输出端口的动态优先序号;
确定模块2,用于根据实时状态参数和预设计算规则,确定空闲状态下的所有允许输入端口的序号,确定空闲状态下的所有允许输出端口的序号;
匹配模块3,用于匹配序号对应的允许输入端口和允许输出端口,得到匹配关系;
传输模块4,用于根据匹配关系进行数据传输。
在一些具体的实施例中,节点匹配装置还包括:
与传输模块4连接的输出缓存模块5。
进一步的,参见图7所示,确定模块2包括第一确定子模块21和第二确定子模块22;
第一确定子模块21包括:M个第一选择器和M个第一加法器,M为允许输入端口的个数;M为大于0的整数;
第i个第一选择器MUX1的输入端接收所有允许输入端口的是否空闲的状态信息和动态优先序号,第i个第一选择器MUX1的输出端输出按动态优先序号排序为第i个的允许输入端口的是否空闲的状态信息;其中0<i≤M;
第i个第一加法器SUM1的第一输入端连接第i个第一选择器MUX1的输出端,第i个第一加法器SUM1的输出端输出按动态优先序号排序为第i个的允许输入端口的序号,第j个第一加法器SUM1的第二输入端连接第j-1个第一加法器SUM1的输出端,其中1<j≤M,第1个第一加法器SUM1的第二输入端空置;
第二确定子模块22包括:N个第二选择器MUX2和N个第二加法器SUM2,N为允许输出端口的个数;
第k个第二选择器MUX2的输入端接收所有允许输出端口的是否空闲的状态信息和动态优先序号,第k个第二选择器MUX2的输出端输出按动态优先序号排序为第k个的允许输出端口的是否空闲的状态信息;其中0<k≤N;
第k个第二加法器SUM2的第一输入端连接第k个第二选择器MUX2的输出端,第k个第二加法器SUM2的输出端输出按动态优先序号排序为第k个的允许输出端口的序号,第h个第二加法器SUM2的第二输入端连接第h-1个第二加法器SUM2的输出端,其中1<h≤N,第1个第二加法器SUM2的第二输入端空置。
在一些具体的实施例中,匹配模块3还用于:
向获取模块输出匹配关系对应的允许输入端口和允许输出端口的锁定授权信息;
获取模块包括第一获取子单元11和第二获取子单元12,其中:
第一获取子单元11包括:
接收锁定授权信息和对应允许输入端口的输入请求、输出允许输入端口的是否空闲的状态信息的第一逻辑单元U1;
接收所有允许输入端口的动态优先序号的第一优先序号接口P1;
第二获取子单元12包括:
接收锁定授权信息和对应输出缓存模块的缓存状态信息、输出允许输出端口的是否空闲的状态信息的第二逻辑单元U2;
接收所有允许输出端口的动态优先序号的第二优先序号接口P2。
此处动态优先序号简述为优先级,同一侧所有端口的同一参量可以数组或链表等形式输入。
可以理解的是,根据每个参量的具体定义值,可选择第一逻辑单元U1和第二逻辑单元U2的内部逻辑,如图7中举例即可实现上文实施例中表1和表2参数定义下的计算,此处不再赘述。
本申请实施例中匹配输入输出端口的依据为序号是否相同,同一侧的序号确定不需轮询,一次即可确定,大幅节省了原本轮询仲裁的耗时,而且由于匹配在所有输入输出状态均一致的情况下进行,能够实现较为理想的匹配结果。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种节点匹配方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种节点匹配方法,其特征在于,应用于多级交换网络中的目标节点,所述目标节点包括多个允许输入端口和多个允许输出端口,该节点匹配方法包括:
获取所述目标节点的多个所述允许输入端口和多个所述允许输出端口的实时状态参数;所述实时状态参数包括:指示每个所述允许输入端口和每个所述允许输出端口是否空闲的状态信息,每个所述允许输入端口在所有所述允许输入端口的动态优先序号,每个所述允许输出端口在所有所述允许输出端口的动态优先序号;
根据所述实时状态参数和预设计算规则,确定空闲状态下的所有所述允许输入端口的序号,确定空闲状态下的所有所述允许输出端口的序号;
匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系;
根据所述匹配关系进行数据传输;
其中,每个所述允许输入端口的动态优先序号,为该允许输入端口在所有所述允许输入端口中的优先级,且为全局可见;每个所述允许输出端口的动态优先序号,为该允许输出端口在所有所述允许输出端口中的优先级,且为全局可见;
所述预设计算规则具体为:
对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号不高于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号不高于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号不低于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号不低于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号高于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号高于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号低于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号低于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号。
2.根据权利要求1所述节点匹配方法,其特征在于,所述匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系之后,还包括:
对匹配关系对应的所述允许输入端口和所述允许输出端口进行锁定授权。
3.根据权利要求2所述节点匹配方法,其特征在于,还包括:
根据所述匹配关系更新所述实时状态参数。
4.根据权利要求3所述节点匹配方法,其特征在于,
所述多级交换网络具体为三级交换网络,所述目标节点具体为输入节点。
5.一种节点匹配装置,其特征在于,应用于多级交换网络中的目标节点,所述目标节点包括多个允许输入端口和多个允许输出端口,该节点匹配装置包括:
获取模块,用于获取所述目标节点的多个所述允许输入端口和多个所述允许输出端口的实时状态参数;所述实时状态参数包括:指示每个所述允许输入端口和每个所述允许输出端口是否空闲的状态信息,每个所述允许输入端口在所有所述允许输入端口的动态优先序号,每个所述允许输出端口在所有所述允许输出端口的动态优先序号;
确定模块,用于根据所述实时状态参数和预设计算规则,确定空闲状态下的所有所述允许输入端口的序号,确定空闲状态下的所有所述允许输出端口的序号;
匹配模块,用于匹配序号对应的所述允许输入端口和所述允许输出端口,得到匹配关系;
传输模块,用于根据所述匹配关系进行数据传输;
其中,每个所述允许输入端口的动态优先序号,为该允许输入端口在所有所述允许输入端口中的优先级,且为全局可见;每个所述允许输出端口的动态优先序号,为该允许输出端口在所有所述允许输出端口中的优先级,且为全局可见;
所述预设计算规则具体为:
对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号不高于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号不高于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号不低于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号不低于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号高于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号高于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号;
或,对空闲状态下的每个所述允许输入端口,将空闲状态下动态优先序号低于该允许输入端口的所述允许输入端口的个数记为该允许输入端口的序号,对空闲状态下的每个所述允许输出端口,将空闲状态下动态优先序号低于该允许输出端口的所述允许输出端口的个数记为该允许输出端口的序号。
6.根据权利要求5所述节点匹配装置,其特征在于,所述确定模块包括第一确定子模块和第二确定子模块;
所述第一确定子模块包括:M个第一选择器和M个第一加法器,M为所述允许输入端口的个数;
第i个所述第一选择器的输入端接收所有所述允许输入端口的是否空闲的状态信息和动态优先序号,第i个所述第一选择器的输出端输出按动态优先序号排序为第i个的所述允许输入端口的是否空闲的状态信息;其中0<i≤M;
第i个所述第一加法器的第一输入端连接第i个所述第一选择器的输出端,第i个所述第一加法器的输出端输出按动态优先序号排序为第i个的所述允许输入端口的序号,第j个所述第一加法器的第二输入端连接第j-1个所述第一加法器的输出端,其中1<j≤M,第1个所述第一加法器的第二输入端空置;
所述第二确定子模块包括:N个第二选择器和N个第二加法器,N为所述允许输出端口的个数;
第k个所述第二选择器的输入端接收所有所述允许输出端口的是否空闲的状态信息和动态优先序号,第k个所述第二选择器的输出端输出按动态优先序号排序为第k个的所述允许输出端口的是否空闲的状态信息;其中0<k≤N;
第k个所述第二加法器的第一输入端连接第k个所述第二选择器的输出端,第k个所述第二加法器的输出端输出按动态优先序号排序为第k个的所述允许输出端口的序号,第h个所述第二加法器的第二输入端连接第h-1个所述第二加法器的输出端,其中1<h≤N,第1个所述第二加法器的第二输入端空置。
7.根据权利要求6所述节点匹配装置,其特征在于,还包括:
与所述传输模块连接的输出缓存模块。
8.根据权利要求7所述节点匹配装置,其特征在于,所述匹配模块还用于:
向所述获取模块输出所述匹配关系对应的所述允许输入端口和所述允许输出端口的锁定授权信息;
所述获取模块包括第一获取子单元和第二获取子单元,其中:
所述第一获取子单元包括:
接收所述锁定授权信息和对应所述允许输入端口的输入请求、输出所述允许输入端口的是否空闲的状态信息的第一逻辑单元;
接收所有所述允许输入端口的动态优先序号的第一优先序号接口;
所述第二获取子单元包括:
接收所述锁定授权信息和对应所述输出缓存模块的缓存状态信息、输出所述允许输出端口的是否空闲的状态信息的第二逻辑单元;
接收所有所述允许输出端口的动态优先序号的第二优先序号接口。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237445.8A CN113676422B (zh) | 2021-10-25 | 2021-10-25 | 一种节点匹配方法及装置 |
PCT/CN2022/090178 WO2023071116A1 (zh) | 2021-10-25 | 2022-04-29 | 一种节点匹配方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111237445.8A CN113676422B (zh) | 2021-10-25 | 2021-10-25 | 一种节点匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676422A CN113676422A (zh) | 2021-11-19 |
CN113676422B true CN113676422B (zh) | 2022-02-25 |
Family
ID=78550961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111237445.8A Active CN113676422B (zh) | 2021-10-25 | 2021-10-25 | 一种节点匹配方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113676422B (zh) |
WO (1) | WO2023071116A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676422B (zh) * | 2021-10-25 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种节点匹配方法及装置 |
CN116980366A (zh) * | 2023-09-25 | 2023-10-31 | 苏州元脑智能科技有限公司 | 多级交换网络及输入输出端口匹配方法 |
CN117097684B (zh) * | 2023-10-17 | 2024-02-27 | 苏州元脑智能科技有限公司 | 数据传输方法及装置、存储介质、电子设备 |
CN117118934B (zh) * | 2023-10-25 | 2024-02-23 | 苏州元脑智能科技有限公司 | 三级clos互联网络、传输方法、系统、设备和介质 |
CN117135116B (zh) * | 2023-10-25 | 2024-02-09 | 苏州元脑智能科技有限公司 | 一种分布式路由的实现方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1493132A (zh) * | 2000-11-07 | 2004-04-28 | ض� | 基于交换的网络处理器 |
US6810031B1 (en) * | 2000-02-29 | 2004-10-26 | Celox Networks, Inc. | Method and device for distributing bandwidth |
CN101304374A (zh) * | 2008-03-28 | 2008-11-12 | 武汉烽火网络有限责任公司 | 一种基于Clos网络交换结构的贯序匹配调度算法 |
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
CN109445752A (zh) * | 2018-10-10 | 2019-03-08 | 西安交通大学 | 一种并行计算的系统 |
CN109510786A (zh) * | 2019-01-22 | 2019-03-22 | 伍星霖 | 一种路由控制方法及交换设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6661788B2 (en) * | 1999-05-14 | 2003-12-09 | Nortel Networks Limited | Multicast scheduling for a network device |
CN100401816C (zh) * | 2003-08-27 | 2008-07-09 | 中兴通讯股份有限公司 | 基于IPv6技术实现多模移动终端选择转交地址的方法 |
CN101119503B (zh) * | 2007-09-10 | 2010-05-19 | 华为技术有限公司 | 一种clos交换网中选择路由的方法及路由选择装置 |
GB2482149B (en) * | 2010-07-21 | 2017-09-06 | Cray Uk Ltd | Network switch adaptive routing |
US9985912B1 (en) * | 2015-09-30 | 2018-05-29 | Juniper Networks, Inc. | Shared memory switch fabric system and method |
US10425358B2 (en) * | 2016-09-29 | 2019-09-24 | International Business Machines Corporation | Network switch architecture supporting multiple simultaneous collective operations |
CN108173787B (zh) * | 2017-11-30 | 2020-12-18 | 成都成电光信科技股份有限公司 | Fc交换机的数据传递路径选择方法、并行调度方法及装置 |
CN111464461B (zh) * | 2019-01-22 | 2022-05-03 | 清华大学 | 用于交换机的优先级调度方法和装置 |
CN113630347B (zh) * | 2021-08-13 | 2023-02-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、系统、存储介质及设备 |
CN113676422B (zh) * | 2021-10-25 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种节点匹配方法及装置 |
-
2021
- 2021-10-25 CN CN202111237445.8A patent/CN113676422B/zh active Active
-
2022
- 2022-04-29 WO PCT/CN2022/090178 patent/WO2023071116A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6810031B1 (en) * | 2000-02-29 | 2004-10-26 | Celox Networks, Inc. | Method and device for distributing bandwidth |
CN1493132A (zh) * | 2000-11-07 | 2004-04-28 | ض� | 基于交换的网络处理器 |
CN101304374A (zh) * | 2008-03-28 | 2008-11-12 | 武汉烽火网络有限责任公司 | 一种基于Clos网络交换结构的贯序匹配调度算法 |
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
CN109445752A (zh) * | 2018-10-10 | 2019-03-08 | 西安交通大学 | 一种并行计算的系统 |
CN109510786A (zh) * | 2019-01-22 | 2019-03-22 | 伍星霖 | 一种路由控制方法及交换设备 |
Non-Patent Citations (3)
Title |
---|
A Universal Method for Constructing N-Port Nonblocking Optical Router for Photonic Networks-On-Chip;Rui Min等;《Journal of Lightwave Technology》;20121201;第30卷(第23期);第3736-3741页 * |
Cost and Delay Tradeoff in Three-Stage Switch Architecture for Data Center Networks;Shu Fu等;《 2013 IEEE 14th International Conference on High Performance Switching and Routing (HPSR)》;20130711;第56-61页 * |
一种支持多输出端口的输入排队交换结构匹配算法;郑德任等;《信息工程大学学报》;20090615;第10卷(第2期);第223-226页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113676422A (zh) | 2021-11-19 |
WO2023071116A1 (zh) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113676422B (zh) | 一种节点匹配方法及装置 | |
Aghajani et al. | The hydrodynamic limit of a randomized load balancing network | |
CN113630347B (zh) | 一种数据传输方法、系统、存储介质及设备 | |
US4663620A (en) | Modified crossbar switch operation with fixed priority conflict resolution and apparatus for performing same | |
Yang et al. | The necessary conditions for Clos-type nonblocking multicast networks | |
Minkenberg et al. | Low-latency pipelined crossbar arbitration | |
US7236499B2 (en) | Resource arbitration in accordance with a masked request vector | |
US7912068B2 (en) | Low-latency scheduling in large switches | |
US6848017B2 (en) | Method and apparatus for determining connections in a crossbar switch | |
US7236497B2 (en) | Facilitating arbitration via information associated with groups of requesters | |
CN114826930A (zh) | 一种实现扁平式蝴蝶型网络拓扑的系统及方法 | |
Patel et al. | On hot-spot contention in interconnection networks | |
WO2023124915A1 (zh) | 数据筛选拓扑结构的生成方法和装置 | |
US7161908B2 (en) | Deterministic bandwidth throttling to facilitate operation of a control unit | |
CN113014497B (zh) | 用于通道均衡传输的路由节点 | |
CN114095289B (zh) | 数据多播电路、方法、电子设备及计算机可读存储介质 | |
CN116980366A (zh) | 多级交换网络及输入输出端口匹配方法 | |
CN115993950A (zh) | 排序网络及排序方法 | |
WO2008031851A1 (en) | Methods for hardware reduction and overall performance improvement in communication system | |
KR100924012B1 (ko) | 캐스캐이드 버스 매트릭스를 갖는 통신 구조 합성 방법 및그 시스템 | |
Rosenstiel | Embedded Java | |
CN115495399A (zh) | 一种分布式仲裁系统、方法、装置、存储介质及电子设备 | |
Garg et al. | Improving the performance of banyan networks | |
Liu et al. | The impact of cell dropping policies in ATM nodes | |
CN117499344A (zh) | 一种面向异构协议交换架构的三级调度方法 |
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 |