CN108347383A - 一种基于流水线的并发多路路由查询实现方法 - Google Patents

一种基于流水线的并发多路路由查询实现方法 Download PDF

Info

Publication number
CN108347383A
CN108347383A CN201810112436.8A CN201810112436A CN108347383A CN 108347383 A CN108347383 A CN 108347383A CN 201810112436 A CN201810112436 A CN 201810112436A CN 108347383 A CN108347383 A CN 108347383A
Authority
CN
China
Prior art keywords
request
assembly line
routing inquiry
inquiry
routing
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.)
Pending
Application number
CN201810112436.8A
Other languages
English (en)
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.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
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 University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN201810112436.8A priority Critical patent/CN108347383A/zh
Publication of CN108347383A publication Critical patent/CN108347383A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

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

本发明公开了一种基于流水线的并发多路路由查询实现方法,涉及路由查询领域;其方法包括:步骤1:依次仲裁等待队列中的每个端口请求;步骤2:仲裁后的端口请求依次通过流水线各流程获取查询结果。本发明解决了现有串行方式路由查询时延长、效率低,并行方式产生冗余和浪费寄存器资源的问题,达到了提高路由查询速率,提高资源利用率的效果。

Description

一种基于流水线的并发多路路由查询实现方法
技术领域
本发明涉及路由查询领域,尤其是一种基于流水线的并发多路路由查询实现方法。
背景技术
在数据中心内,服务器通过交换设备组成服务器集群;FPGA板卡内路由交换模块实现不同网口之间基本的路由交换功能,每一个FPGA路由板卡及其网口连接的刀片服务器作为集群中的一个节点,节点之间通过全互联架构实现集群内刀片之间互联互通,FPGA路由板卡作为集群内刀片服务器之间数据交互的桥梁,其路由交换模块中路由查询的实现方法直接决定了路由转换速率,最终影响了不同刀片服务器之间数据的交换速率。
在FPGA路由板卡内路由查询请求处理技术中,一个完整的路由查询请求处理过程分解成五个基本的环节:仲裁、Hash映射、查表、数值比较、结果输出;路由查询“串行”的处理机制,路由查询请求队列中的每一个路由查询请求被完全处理完后再处理后续的请求,该方法虽然可以节约大量的寄存器资源,功能实现简单;但是,在大量并发路由查询请求时,存在网络时延长、路由查询实时性差的缺点;路由查询“并行”处理技术运用“并行”的路由查询处理机制,通过设置多个路由查询请求队列,同时并行处理每个队列中的路由查询请求,实现集群内不同刀片节点之间基本的路由交换功能;“并行”方法比“串行”方法明显降低了路由查询时延,在处理大量并发路由查询请求时,网络性能显著提升,但同时需要花费大量的寄存器资源,功能实现变得复杂。所以需要一种路由查询技术可以提高实时性的同时提高寄存器利用率,从而快速实现集群内不同刀片节点之间基本的路由交换。
发明内容
本发明的目的在于:本发明提供了一种基于流水线的并发多路路由查询实现方法,解决了现有串行方式路由查询时延长、效率低,并行方式产生冗余和浪费寄存器资源的问题。
本发明采用的技术方案如下:
一种基于流水线的并发多路路由查询实现方法,包括如下步骤:
步骤1:依次仲裁等待队列中的每个端口请求;
步骤2:仲裁后的端口请求依次通过流水线各流程获取查询结果。
优选地,所述步骤1包括如下步骤:
步骤1.1:将所有的端口请求按先后顺序排成等待队列;
步骤1.2:依次仲裁等待队列中的每个端口请求,根据端口请求的优先级选择不同跳转路径后跳至步骤2。
优选地,所述步骤2包括如下步骤:
步骤2.1:标记正在查询的端口请求号,通过Hash映射将请求中的查询MAC地址转换为哈希地址得到RAM读地址后,通过RAM寄存器判断其路由表中是否存在查询MAC地址对应的路由信息数据,若存在跳至步骤2.2,若不存在,则端口请求结束,将请求信息录入路由表;
步骤2.2:判断RAM寄存器中路由信息数据对应的MAC地址与查询MAC地址是否匹配,若匹配成功,返回路由查询结果,端口请求结束;若匹配失败,提高端口请求优先级,RAM读地址加一后返回等待队列。
优选地,所述步骤1.2中跳转路径包括跳转路径I和跳转路径II。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明通将路由查询请求的处理方法分割为独立的模块,请求通过优先级仲裁轮询后依次进行流水线查询,包括Hash映射、查表、数值比较、结果输出,实现流水线并行,相比“串行”方法,大大降低了等待队列的排队时间,显著降低了网络延时,提高了路由查询速率,相比“并行”方法,节省了更多的寄存器资源,解决了现有串行方式路由查询时延长、效率低,并行方式产生冗余和浪费寄存器资源的问题,达到了提高路由查询速率,提高资源利用率的效果;
2.本发明通过流水线并行处理请求,请求量多的时候,每个流水线流程处理完前一个请求即可立即处理下个请求,处理完的请求依次进行下一流程,每一个流程均处于工作状态,实现流水线并行,相比于并行方法,节省更多的寄存器资源,相比于串行,降低了时延;
3.本发明通过仲裁端口请求判断其优先级,选择不同的跳转路径进行流水线查询,便于实时性比较强的路由查询请求可以优先被处理,可以保障不同类型路由查询请求的服务质量。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明的流程示意图;
图2是本发明的流水线并行流程示意图;
图3是串行方法流程示意图;
图4是并行方法流程示意图;
图5是本发明的流水线并行实施时序示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合图1-5对本发明作详细说明。
实施例1
一种基于流水线的并发多路路由查询实现方法,包括如下步骤:
步骤1:依次仲裁等待队列中的每个端口请求;
步骤2:仲裁后的端口请求依次通过流水线各流程获取查询结果。
现有的串行方式采用一个请求依次通过查询流程后才能处理第二个请求,带来时延大的缺点,而并行方式可以同时处理多个请求,但在请求量少的情况下,造成处理空档,带来寄存器资源的浪费;本申请将查询流程的五个模块独立设置,所有请求排成等待队列,第一个请求经过仲裁后即可进行第二个流程,第二个请求在第一个请求仲裁结束后开始仲裁,第二个请求在第一个请求结束第二个流程后开始第二个流程,之后的所有的请求同理,实现了流水线并行,如图2-4所示,时延降低了百分之八十,效率提升了四倍。
实施例2
步骤1.1:将所有的端口请求按先后顺序排成等待队列;
步骤1.2:依次仲裁等待队列中的每个端口请求,根据端口请求的优先级选择不同跳转路径后跳至步骤2。优先级高选择跳转路径II进行后续流程,优先级低选择跳转路径I需要排队进行后续流程;
步骤2.1:标记正在查询的端口请求号,通过Hash映射将请求中的查询MAC地址转换为哈希地址得到RAM读地址后,通过RAM寄存器判断其路由表中是否存在查询MAC地址对应的路由信息数据,若存在跳至步骤2.2,若不存在,则端口请求结束,将请求信息录入路由表;
步骤2.2:判断RAM寄存器中路由信息数据对应的MAC地址与查询MAC地址是否匹配,若匹配成功,返回路由查询结果,端口请求结束;若匹配失败,提高端口请求优先级,RAM读地址加一后返回等待队列。
MAC地址为路由查询请求操作的查找关键字,由于按通常的方式获取存储路由信息对的RAM地址效率低下(它们需要逐个地查找匹配RAM地址是否是目标地址),因此将RAM地址查找与获取方式变为哈希方式,即将信息写入以MAC哈希值为地址的RAM单元;读出时,仅需对MAC进行哈希运算就可以得到RAM读取地址,加快速率且简化流程;根据不同的优先级进行不同的跳转路径进行后续流程,便于实时性比较强的路由查询请求可以优先被处理,可以保障不同类型路由查询请求的服务质量。
实施例3
如图5所示,存在六路并发路由查询请求,请求0通过仲裁模块判断后优先级低,选择跳转路径I后依次通过了Hash映射、查表、数值比较流程的处理,数值比较时,查询请求中MAC地址与从RAM中读取的路由信息中MAC地址进行比较,若结果一致,则匹配成功即该条路由查询请求找到了转发数据包的IP地址信息,返回查询结果;若结果不一致,则匹配不成功,请求0的优先级变大并得到新的RAM地址后继续插入到请求队列中;在此过程中,请求1、请求2、请求3、请求4依次进行流水线流程处理,当仲裁模块轮询到请求5时,由于此时队列中存在优先级更高的请求0,因此判断后请求0在请求5之前优先进入,通过跳转路径II开始后续流程,最终得到结果输出。在六路并发路由查询请求过程中,体现出对高优先级查询请求的优先处理策略,同时明显降低了网络延时,且提高了资源的利用率。
工作原理:将所有的查询请求排成等待队列,将路由查询请求的处理方法分割为独立的流程,第一个请求通过优先级仲裁轮询后依次进行Hash映射、查表、数值比较、结果输出的流水线流程,在第一个请求仲裁结束后第二个请求开始仲裁,在第一个请求结束后续每一个流程时第二个请求开始后续各个流程,本发明解决了现有路由查询串行时延长、效率低,并行产生冗余和浪费寄存器资源的问题,达到了提高路由查询速率,提高资源利用率的效果。

Claims (4)

1.一种基于流水线的并发多路路由查询实现方法,其特征在于:包括如下步骤:
步骤1:依次仲裁等待队列中的每个端口请求;
步骤2:仲裁后的端口请求依次通过流水线各流程获取查询结果。
2.根据权利要求1所述的一种基于流水线的并发多路路由查询实现方法,其特征在于:所述步骤1包括如下步骤:
步骤1.1:将所有的端口请求按先后顺序排成等待队列;
步骤1.2:依次仲裁等待队列中的每个端口请求,根据端口请求的优先级选择不同跳转路径后跳至步骤2。
3.根据权利要求1所述的一种基于流水线的并发多路路由查询实现方法,其特征在于:所述步骤2包括如下步骤:
步骤2.1:标记正在查询的端口请求号,通过Hash映射将请求中的查询MAC地址转换为哈希地址得到RAM读地址后,通过RAM寄存器判断其路由表中是否存在查询MAC地址对应的路由信息数据,若存在跳至步骤2.2,若不存在,则端口请求结束,将请求信息录入路由表;
步骤2.2:判断RAM寄存器中路由信息数据对应的MAC地址与查询MAC地址是否匹配,若匹配成功,返回路由查询结果,端口请求结束;若匹配失败,提高端口请求优先级,RAM读地址加一后返回等待队列。
4.根据权利要求2所述的一种基于流水线的并发多路路由查询实现方法,其特征在于:所述步骤1.2中跳转路径包括跳转路径I和跳转路径II。
CN201810112436.8A 2018-02-05 2018-02-05 一种基于流水线的并发多路路由查询实现方法 Pending CN108347383A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810112436.8A CN108347383A (zh) 2018-02-05 2018-02-05 一种基于流水线的并发多路路由查询实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810112436.8A CN108347383A (zh) 2018-02-05 2018-02-05 一种基于流水线的并发多路路由查询实现方法

Publications (1)

Publication Number Publication Date
CN108347383A true CN108347383A (zh) 2018-07-31

Family

ID=62959770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810112436.8A Pending CN108347383A (zh) 2018-02-05 2018-02-05 一种基于流水线的并发多路路由查询实现方法

Country Status (1)

Country Link
CN (1) CN108347383A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046322A1 (en) * 2001-06-01 2003-03-06 David Guevorkian Flowgraph representation of discrete wavelet transforms and wavelet packets for their efficient parallel implementation
CN1466348A (zh) * 2002-06-15 2004-01-07 华为技术有限公司 高速数据链路控制协议发送处理模块及其数据处理方法
CN102364463A (zh) * 2011-09-19 2012-02-29 浪潮电子信息产业股份有限公司 一种基于Hash查找CAM的方法
CN104536911A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 一种多路组相联的高速缓冲存储器及其处理方法
CN104793987A (zh) * 2014-01-17 2015-07-22 中国移动通信集团公司 一种数据处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046322A1 (en) * 2001-06-01 2003-03-06 David Guevorkian Flowgraph representation of discrete wavelet transforms and wavelet packets for their efficient parallel implementation
CN1466348A (zh) * 2002-06-15 2004-01-07 华为技术有限公司 高速数据链路控制协议发送处理模块及其数据处理方法
CN102364463A (zh) * 2011-09-19 2012-02-29 浪潮电子信息产业股份有限公司 一种基于Hash查找CAM的方法
CN104793987A (zh) * 2014-01-17 2015-07-22 中国移动通信集团公司 一种数据处理方法及装置
CN104536911A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 一种多路组相联的高速缓冲存储器及其处理方法

Similar Documents

Publication Publication Date Title
US7372853B2 (en) Method and system for multicasting data packets in an MPLS network
EP1713214B1 (en) Multiprotocol routing method
CN108270676B (zh) 一种基于Intel DPDK的网络数据处理方法及装置
EP2337274B1 (en) Method for processing a plurality of data and switching device for switching communication packets
US20040085962A1 (en) Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer
US20190288923A1 (en) Multi-path aware tracing and probing functionality at service topology layer
CN110995598B (zh) 一种变长报文数据处理方法和调度装置
EP3291089B1 (en) Data processing method and apparatus
WO2002065717A1 (en) Dynamic packet processor architecture
WO2007000092A1 (fr) Processeur de reseau
WO2017140112A1 (zh) 一种多路径转发报文方法及装置
CA2467346A1 (en) Active networks
JP2022002400A (ja) 伝送パスを決定する方法およびノード
CN115801781A (zh) 一种生物数据协同分析系统及方法
WO2014101502A1 (zh) 基于内存芯片互连的内存访问处理方法、内存芯片及系统
CN116192353B (zh) 一种基于fpga的多路选择器同步工作系统及方法
JP4295812B2 (ja) ネットワーク中継装置
CN108347383A (zh) 一种基于流水线的并发多路路由查询实现方法
CN112671941A (zh) 报文处理方法、装置、设备及介质
GB2541665A (en) Information switching
CN116527609A (zh) 报文转发方法、装置、智能网卡、服务器和存储介质
CN1914866A (zh) 分布式有限状态机
JP3228249B2 (ja) ルータ装置
CN101699821B (zh) 一种分布式多核网络系统中地址解析协议实现的方法
US8909726B1 (en) Priority based anycast routing

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180731

RJ01 Rejection of invention patent application after publication