CN115185878A - 一种多核分组网络处理器架构及任务调度方法 - Google Patents
一种多核分组网络处理器架构及任务调度方法 Download PDFInfo
- Publication number
- CN115185878A CN115185878A CN202210569718.7A CN202210569718A CN115185878A CN 115185878 A CN115185878 A CN 115185878A CN 202210569718 A CN202210569718 A CN 202210569718A CN 115185878 A CN115185878 A CN 115185878A
- Authority
- CN
- China
- Prior art keywords
- task
- message processor
- message
- processor core
- architecture
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 59
- 238000005111 flow chemistry technique Methods 0.000 claims abstract description 7
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/1735—Network adapters, e.g. SCI, Myrinet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种多核分组网络处理器架构及任务调度方法,该架构包含多个连接到总线的报文处理器核组;每个报文处理器核组内包含任务缓冲区、任务分发器和多个并行连接的报文处理器核,任务缓冲区用于临时存储来自总线的待分发的任务,任务分发器周期的查询任务缓冲区,并将位于任务缓冲区内的任务进行任务分解并顺序分发给报文处理器核组内的报文处理器核,多个并行连接的报文处理器核用于分别处理同一类型的任务;报文处理器核组内的报文处理器核输出下一级任务到总线上,下一级任务通过总线传输到达处理下一级任务的报文处理器核组的任务缓冲区内,直至任务流程处理结束进行报文输出。本发明能够实现网络处理器架构的高灵活度和高性能的兼顾。
Description
技术领域
本发明涉及网络处理器技术领域,尤其涉及一种多核分组网络处理器架构及任务调度方法。
背景技术
网络是数据中心里的交通枢纽,连接着所有运行应用业务的设备,是当今互联网蓬勃发展的基石。网络技术不断发展变化,其中,提升网络处理的灵活性和性能一直是领域内人员努力的方向。
网络处理器是进行网络处理的硬件基础,其主要功能为处理网络报文。图1为网络处理器内报文处理流程图,其处理流程大致可以总结为:报文输入与输出、IP地址查表、修改报文头、报文缓冲管理这几个大的步骤,其中,IP地址查表通过对地址表项的访问来实现,报文缓冲管理结合片外存储来实现。
现有的网络处理器可以通过架构的设计、调整来提高性能,现有架构主要分为RTC架构(Run-to-Completion,运行到完成)和流水线架构(Pipeline)这两种。
图2为网络处理器现代RTC架构报文处理流程图,报文输入经由调度分发器进入指定的的报文处理器核,报文处理器内部可对报文执行相对应的功能a,b,c,d,再将网络报文输出。网络处理器的报文处理器核内部的结构一般为标准的冯诺依曼架构,有存储器,包括相应的执行功能a,b,c,d的指令内存和数据内存,还有控制器、输入设备、输出设备和ALU(Arithmetic&Logical Unit,算术逻辑单元)运算器等结构,图3为冯诺依曼体系结构图,其中虚线为控制流信号,实线箭头为数据或指令流信号。在RTC架构下进行报文处理,一个处理器核可以处理整个网络报文的处理流程功能a,b,c,d等,通过多核并行处理来提高整体的带宽和性能。通常在RTC的处理结构中,可以灵活的使用C等多种高级语言编程,然后编译成一系列指令执行,这样的结构灵活度较高。
图4为网络处理器流水线架构报文处理流程图,报文输入到网络处理器中,由报文处理器核0执行功能a,报文处理器核2执行功能b,以此类推。图5为网络处理器流水线架构报文处理时间任务分布图,多个任务顺序的进入到各个网络处理器中,各个报文处理器核分别完成功能a,b,c,d中的一项,类似工业流水线一样顺序进行。流水线架构的思路是可以把一个处理器的任务按照不同的软件特性分解,然后每一级做成专用的硬件,这样的结构性能较好。
但是,不管是RTC架构还是流水线架构都有自身的局限性。RTC架构虽然灵活,后期可以通过软件代码加入新的功能,但受制于主频及运行机制性能较弱;流水线架构虽然具有性能好的优势,但其固定的处理流程缺乏灵活性,随着协议的快速发展,固化的处理流程无法应对新型的业务需求,传统芯片的研发通常需要2~5年的开发周期,由于某些功能的升级就需要开发新的芯片来满足需求,这极大的限制了芯片的生命周期。
为此,如何提供一种架构灵活、性能强劲的网络处理器架构,以及基于此架构的任务调度方法,是一个亟待解决的问题。
发明内容
鉴于此,本发明实施例提供了一种多核分组网络处理器架构,以改善现有的网络处理器架构的局限性,使其兼具灵活度和较高的性能。
本发明的一个方面提供了一种多核分组网络处理器架构,该架构包含多个连接到总线的报文处理器核组,每个报文处理器核组用于处理预设的一类型任务。每个报文处理器核组内包含任务缓冲区、任务分发器和多个并行连接的报文处理器核,所述任务缓冲区用于临时存储来自总线的待分发的任务,所述任务分发器周期的查询任务缓冲区,并将位于任务缓冲区内的任务进行任务分解并顺序分发给所在报文处理器核组内的报文处理器核,所述多个并行连接的报文处理器核用于分别处理同一类型的任务。报文处理器核组内的报文处理器核输出下一级任务到总线上,所述下一级任务通过总线传输到达处理下一级任务所属类型的报文处理器核组的任务缓冲区内,直至任务流程处理结束进行报文输出。
在本发明的一些实施例中,所述任务缓冲区遵从先进先出的原则来存储任务。
在本发明的一些实施例中,所述任务分发器周期性地查询任务缓冲区内的任务的过程通过多核分组网络处理器的时钟管理单元来实现。
在本发明的一些实施例中,每个报文处理器核组内部的报文处理器核的数量为预设值。
在本发明的一些实施例中,所述报文处理器核基于冯诺依曼体系架构,包含处理器和存储器,存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,通过编程修改存储器中的指令来实现对每个报文处理器核组所处理的任务类型的自定义。
在本发明的一些实施例中,处理单个类型任务的报文处理器核组的数目为一个或多个。
在本发明的一些实施例中,报文处理器核组内的报文处理器核发送信号到总线上,所述信号通过总线到达指定的报文处理器核组。
本发明另一方面提供了一种基于上述实施例中任一项所述多核分组网络处理器架构的任务调度的方法,包括以下步骤:位于报文处理器核组内的任务缓冲区临时存储来自总线的待分发的任务,位于报文处理器核组内的任务分发器周期的查询任务缓冲区,并将位于任务缓冲区内的任务进行任务分解并顺序分发给所在报文处理器核组内的报文处理器核,位于报文处理器核组内的多个并行连接的报文处理器核用于分别处理同一类型的任务。报文处理器核组内的报文处理器核输出下一级任务到总线上,所述下一级任务通过总线传输到达处理下一级任务所属类型的报文处理器核组的任务缓冲区内,直至任务流程处理结束进行报文输出。在本发明的一些实施例中,对基于冯诺依曼体系架构的报文处理器核的存储器中的计算机指令通过编程修改,从而实现对每个报文处理器核组所处理的任务类型的自定义,其中,处理单个类型任务的报文处理器核组的数目为一个或多个。
在本发明的一些实施例中,报文处理器核组间的进行通信的步骤包括:报文处理器核组内的报文处理器核发送信号到总线上,所述信号通过总线到达指定的报文处理器核组。
本发明的多核分组网络处理器架构及基于此架构的任务调度方法,能够兼具RTC架构的高灵活度和流水线架构的高性能,且不引入新的复杂的问题和设计。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为网络处理器内报文处理流程图。
图2为网络处理器现代RTC架构报文处理流程图。
图3为冯诺依曼体系架构图。
图4为网络处理器流水线架构报文处理流程图。
图5为网络处理器流水线架构报文处理时间任务分布图。
图6为本发明一实施例中多核分组网络处理器架构示意图。
图7为本发明一实施例中多个报文处理器核组总线互联架构示意图。
图8为本发明一实施例中报文处理器核组内部任务调度架构图。
图9为防火墙业务处理流程图。
图10为本发明一实施例中针对防火墙业务的架构调整示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
本发明的目的是要克服现有网络处理器RTC架构和流水线架构的局限性,实现高灵活性和高性能的并存。现有的RTC架构的网络处理器无法进行报文处理流程的分解,如果在RTC架构的基础上直接引入流水线架构,即在报文处理器核之间建立连接,由于目前网络处理器的核数量非常大,可以多达数百个,若数百个核之间都进行网络互联,其网络会非常庞大,一条总线需要扇出上百条数据总线,在芯片布局布线时会异常困难,且时序也比较紧张。
本发明的设计思路为,将多个核进行分组,每一组固定一定数量的处理器核,每一组核处理一个单一类型的任务,进行组级别的总线互联,由于总线数量减少其实现难度会大大降低,并基于此架构提供一种核组间通信和任务调度的方法,较好的克服现有网络处理器架构中存在的问题或缺陷。
因此,为了克服现有的网络处理器架构的局限性,本发明提出了一种多核分组网络处理器架构及任务调度方法,图6为本发明一实施例中多核分组网络处理器架构示意图。该架构包含多个连接到总线的报文处理器核组,每个报文处理器核组用于处理预设的一类型任务,并实现一类型的功能。每个报文处理器核组内包含任务缓冲区、任务分发器和多个并行连接的报文处理器核,任务缓冲区用于临时存储来自总线的待分发的任务,任务分发器周期性地查询任务缓冲区,并将位于任务缓冲区内的任务进行任务分解并顺序分发给所在报文处理器核组内的报文处理器核,多个并行连接的报文处理器核用于分别处理同一类型的任务。报文处理器核组内的报文处理器核输出下一级任务到总线上,该下一级任务通过总线传输到达处理下一级任务所属类型的报文处理器核组的任务缓冲区内,直至任务流程处理结束进行报文输出。
在本发明一实施例中,任务缓冲区遵从先进先出的原则来存储任务。任务缓冲区遵从先进先出的原则来存储任务目的在于保证报文进出顺序的一致性,避免出现大量的报文重传。
在本发明一实施例中,任务分发器周期性地查询任务缓冲区内的任务的过程通过多核分组网络处理器的时钟管理单元来实现。时钟管理单元包含时钟树,负责对整个处理器进行时间和定时的处理。
在本发明一实施例中,每个报文处理器核组内部的报文处理器核的数量为预设值。需要说明的是,不同报文处理器核组内部的报文处理器核的数量可以相同或不同,具体因情况而设定。由于报文处理的流程大致都如图1所示,而该流程的各个步骤对于报文处理器核的需求规模是不同的,能够依据各个环节对于报文处理器核的需求量对核组内报文处理器核的数量进行设定。例如,在本发明一实施例中,总共有300个报文处理器核,其中,5个报文处理器核为一组的报文处理器核组有二十个,10个报文处理器核为一组的报文处理器核组有10个,20个报文处理器核为一组的报文处理器核组有5个。
在本发明一实施例中,报文处理器核基于冯诺依曼体系架构,包含处理器和存储器,存储器中存储有计算机指令,处理器用于执行存储器中存储的计算机指令,通过编程修改存储器中的指令来实现对每个报文处理器核组所处理的任务类型的自定义。
在发明的实施例中,可通过给不同的核组下载不同的软件代码程序来实现软件定义核组所处理的任务类型和实现的功能,依据不同的业务流程进行编程来定义不同的硬件处理流程。该架构支持任意的新型网络协议,实现了网络协议与硬件架构的分离,且保证性能优于RTC架构,灵活性高过流水线架构。另一方面该架构能够减少程序存储空间,原本RTC架构每个报文处理器核都要处理完整的业务流程,其各个报文处理器核都需要完整的业务流程代码。随着报文处理器核数量的增多,其代码量所占的空间也会成倍数增加,通过将不同报文处理器核组拆分成不同业务功能,对于单个报文处理器核组只需固化其自身功能的程序代码,不需要存储整个业务代码,代码量的存储也会大大缩小。
需要说明的是,业务指的是报文处理器核组所处理的任务类型,任务指的是具体的分配到报文处理器核和报文处理器核组的报文处理任务,功能是报文处理器核组处理任务后所实现的效果。
在本发明一实施例中,处理单个类型任务的报文处理器核组的数目为一个或多个。
图7为本发明一实施例中多个报文处理器核组总线互联架构示意图,报文处理器核组0,报文处理器核组1,报文处理器核组2,报文处理器核组3都连接到总线上,实现报文处理器核组间的通信和任务调度。在本发明一实施例中,报文处理器核组内的报文处理器核发送信号到总线上,信号通过总线到达指定的报文处理器核组。每个报文处理器核包含输出模块,当前报文处理器核处理完当前任务后会发送下一级任务给输出模块,直接连接到总线的输出模块将下一级任务分发给对应的报文处理器核组。
图8为本发明一实施例中报文处理器核组内部任务调度架构图。本发明的另一方面,如图8所示,提供了一种基于上述实施例中任一多核分组网络处理器架构的任务调度方法,包括以下步骤:位于报文处理器核组内的任务缓冲区临时存储来自总线的待分发的任务,位于报文处理器核组内的任务分发器周期的查询任务缓冲区,并将位于任务缓冲区内的任务进行任务分解并顺序分发给所在报文处理器核组内的报文处理器核,位于报文处理器核组内的多个并行连接的报文处理器核用于分别处理同一类型的任务。报文处理器核组内的报文处理器核输出下一级任务到总线上,下一级任务通过总线传输到达处理下一级任务所属类型的报文处理器核组的任务缓冲区内,直至任务流程处理结束进行报文输出。需要说明的是,报文处理器核组内的任务分发器将任务分解并顺序分发给报文处理器核,目的是保序,即保证进入的报文顺序和出去的报文顺序一致,保证网络包的顺序,否则将造成大量重传包的出现。
在图8所示,在本发明一实施例中,报文处理器核组内部的报文处理器核的数量为4个。本发明不限于此,该数目仅为示例,还可以是5个,6个,8个,不同报文处理器核组内部的报文处理器核的数目可以相同或不同,依据该类型报文处理任务的耗时长度而设定。
在本发明一实施例中,对基于冯诺依曼体系架构的报文处理器核的存储器中的计算机指令通过编程修改,从而实现对每个报文处理器核组所处理的任务类型的自定义,其中,处理单个类型任务的报文处理器核组的数目为一个或多个。当处理的任务类型比较耗时,可以编程设定多个报文处理器核组处理同一类型的任务,以保障报文处理的效率。
在本发明一实施例中,报文处理器核组间的进行通信的步骤包括:报文处理器核组内的报文处理器核发送信号到总线上,信号通过总线到达指定的报文处理器核组。
基于上述方法步骤,本发明实施例的网络处理器架构实现了核组间的通信,原则上,任意的两个报文处理器核组之间都能够基于此通信机制进行核组间的通信,并基于通信信号进行核组间任务调度。核组间任务调度包括报文处理器核组处理完所负责的任务后,产生需要下一级报文处理器核组来处理的下一级任务,任务调度还包括处理同一类型任务的报文处理器核组之间的任务调度,基于通信信号,将任务转发到另外的处理同一类型任务的报文处理器核组。
在本发明一实施例中,可以实现针对防火墙业务处理流程的多核分组网络处理器架构的改动。图9为防火墙业务处理流程图,其流程步骤如下:
(1)网络报文从端口进入到网络处理器,网络处理器基于网络协议对网络报文进行报文解析,解析出该网络报文的VLAN ID及网络IP地址(Internet Protocol Address)信息,包括源IP地址,目的IP地址,源端口号和目的端口号。
(2)进行VLAN ID(Virtual Local Area Network Identity,虚拟局域网号)查表匹配,如果匹配则进行下一步流程,如果不匹配则将该网络包丢弃。
(3)进行IP地址查表匹配,即对目的IP地址在路由表中进行查找匹配,如果匹配则允许该网络报文通过,如果不匹配则将该网络包丢弃。
(4)报文转发,若网络报文通过则被转发,若网络报文没有通过则不进行处理,至此,该报文处理流程结束。
图10为本发明一实施例中针对防火墙业务的架构调整示意图,该架构的调整通过网络处理器核组的高级语言编程、编译来实现,具体的步骤如下:
(1)网络报文进入端口,即报文输入到网络处理器核组内,报文处理器核组0用于执行网络协议解析,对报文进行解析得到网络报文的VLAN ID及网络IP地址(InternetProtocol Address)信息,包括源IP地址,目的IP地址,源端口号和目的端口号。
(2)报文处理器核组1进行VLAN ID查表匹配,如果匹配则允许该网络报文通过,如果不匹配则将该网络包丢弃。
(3)报文处理器核组2和报文处理器核组3进行IP地址查表匹配,即对目的IP地址在路由表中进行查找匹配,如果匹配则允许该网络报文通过,如果不匹配则将该网络包丢弃。
(4)报文处理器核组4执行报文转发,若网络报文通过则被转发,若网络报文没有通过则不进行处理,至此,该报文处理流程结束。
基于报文处理流程,报文处理器核组配合完成整个报文处理流程的各个步骤,从而实现报文解析、VLAN ID查表、IP地址查表、报文转发等不同的功能。需要说明的是,本发明可以根据不同的业务类型特点适当增删核组来提高并发性能从而减少延时。
本发明结合了多核网络处理器的RTC架构和流水线架构,通过搭建报文处理器核组,并基于总线连接报文处理器核组之间,实现了核组间的通信和任务调度,构建了新型的多核分组网络处理器架构,并基于此架构提出了任务调度方法,在增加性能的同时没有丧失RTC灵活的特性。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多核分组网络处理器架构,其特征在于,该架构包含多个连接到总线的报文处理器核组,每个报文处理器核组用于处理预设的一类型任务;
每个报文处理器核组内包含任务缓冲区、任务分发器和多个并行连接的报文处理器核,所述任务缓冲区用于临时存储来自总线的待分发的任务,所述任务分发器周期的查询任务缓冲区,并将位于任务缓冲区内的任务进行任务分解并顺序分发给所在报文处理器核组内的报文处理器核,所述多个并行连接的报文处理器核用于分别处理同一类型的任务;
报文处理器核组内的报文处理器核输出下一级任务到总线上,所述下一级任务通过总线传输到达处理下一级任务所属类型的报文处理器核组的任务缓冲区内,直至任务流程处理结束进行报文输出。
2.根据权利要求1所述的架构,其特征在于,所述任务缓冲区遵从先进先出的原则来存储任务。
3.根据权利要求1所述的架构,其特征在于,所述任务分发器周期性地查询任务缓冲区内的任务的过程通过多核分组网络处理器的时钟管理单元来实现。
4.根据权利要求1所述的架构,其特征在于,每个报文处理器核组内部的报文处理器核的数量为预设值。
5.根据权利要求1所述的架构,其特征在于,所述报文处理器核基于冯诺依曼体系架构,包含处理器和存储器,存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,通过编程修改存储器中的指令来实现对每个报文处理器核组所处理的任务类型的自定义。
6.根据权利要求5所述的架构,其特征在于,处理单个类型任务的报文处理器核组的数目为一个或多个。
7.根据权利要求1所述的架构,其特征在于,报文处理器核组内的报文处理器核发送信号到总线上,所述信号通过总线到达指定的报文处理器核组。
8.一种基于权利要求1-7中任一项所述多核分组网络处理器架构的任务调度方法,其特征在于,包括以下步骤:
位于报文处理器核组内的任务缓冲区临时存储来自总线的待分发的任务,位于报文处理器核组内的任务分发器周期的查询任务缓冲区,并将位于任务缓冲区内的任务进行任务分解并顺序分发给所在报文处理器核组内的报文处理器核,位于报文处理器核组内的多个并行连接的报文处理器核用于分别处理同一类型的任务;
报文处理器核组内的报文处理器核输出下一级任务到总线上,所述下一级任务通过总线传输到达处理下一级任务所属类型的报文处理器核组的任务缓冲区内,直至任务流程处理结束进行报文输出。
9.根据权利要求8所述的方法,其特征在于,对基于冯诺依曼体系架构的报文处理器核的存储器中的计算机指令通过编程修改,从而实现对每个报文处理器核组所处理的任务类型的自定义,其中,处理单个类型任务的报文处理器核组的数目为一个或多个。
10.根据权利要求8所述的方法,其特征在于,报文处理器核组间的进行通信的步骤包括:报文处理器核组内的报文处理器核发送信号到总线上,所述信号通过总线到达指定的报文处理器核组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210569718.7A CN115185878A (zh) | 2022-05-24 | 2022-05-24 | 一种多核分组网络处理器架构及任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210569718.7A CN115185878A (zh) | 2022-05-24 | 2022-05-24 | 一种多核分组网络处理器架构及任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115185878A true CN115185878A (zh) | 2022-10-14 |
Family
ID=83513555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210569718.7A Pending CN115185878A (zh) | 2022-05-24 | 2022-05-24 | 一种多核分组网络处理器架构及任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115185878A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512482A (zh) * | 2005-02-08 | 2009-08-19 | 思科技术公司 | 多线程分组处理体系结构 |
CN102331923A (zh) * | 2011-10-13 | 2012-01-25 | 西安电子科技大学 | 一种基于多核多线程处理器的功能宏流水线实现方法 |
CN102549984A (zh) * | 2009-05-05 | 2012-07-04 | 思杰***有限公司 | 在多核架构中分组引导的***和方法 |
CN105075204A (zh) * | 2013-03-12 | 2015-11-18 | 高通股份有限公司 | 可配置的多核网络处理器 |
CN107241305A (zh) * | 2016-12-28 | 2017-10-10 | 神州灵云(北京)科技有限公司 | 一种基于多核处理器的网络协议分析***及其分析方法 |
CN108494705A (zh) * | 2018-03-13 | 2018-09-04 | 山东超越数控电子股份有限公司 | 一种网络报文高速处理***和方法 |
CN109359736A (zh) * | 2017-04-06 | 2019-02-19 | 上海寒武纪信息科技有限公司 | 网络处理器和网络运算方法 |
US20200250044A1 (en) * | 2019-01-31 | 2020-08-06 | Rubrik, Inc. | Distributed streaming parallel database restores |
CN112352404A (zh) * | 2018-07-13 | 2021-02-09 | 三星电子株式会社 | 用于处理电子设备的数据分组的装置和方法 |
-
2022
- 2022-05-24 CN CN202210569718.7A patent/CN115185878A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512482A (zh) * | 2005-02-08 | 2009-08-19 | 思科技术公司 | 多线程分组处理体系结构 |
CN102549984A (zh) * | 2009-05-05 | 2012-07-04 | 思杰***有限公司 | 在多核架构中分组引导的***和方法 |
CN102331923A (zh) * | 2011-10-13 | 2012-01-25 | 西安电子科技大学 | 一种基于多核多线程处理器的功能宏流水线实现方法 |
CN105075204A (zh) * | 2013-03-12 | 2015-11-18 | 高通股份有限公司 | 可配置的多核网络处理器 |
CN107241305A (zh) * | 2016-12-28 | 2017-10-10 | 神州灵云(北京)科技有限公司 | 一种基于多核处理器的网络协议分析***及其分析方法 |
CN109359736A (zh) * | 2017-04-06 | 2019-02-19 | 上海寒武纪信息科技有限公司 | 网络处理器和网络运算方法 |
CN108494705A (zh) * | 2018-03-13 | 2018-09-04 | 山东超越数控电子股份有限公司 | 一种网络报文高速处理***和方法 |
CN112352404A (zh) * | 2018-07-13 | 2021-02-09 | 三星电子株式会社 | 用于处理电子设备的数据分组的装置和方法 |
US20200250044A1 (en) * | 2019-01-31 | 2020-08-06 | Rubrik, Inc. | Distributed streaming parallel database restores |
Non-Patent Citations (1)
Title |
---|
杨启军等: "基于多核的入侵防御***的设计与实现", 《计算机工程与设计》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809854B (zh) | 一种用于大流量网络处理的可重构芯片架构 | |
US7818541B2 (en) | Data processing architectures | |
CN108833299B (zh) | 一种基于可重构交换芯片架构的大规模网络数据处理方法 | |
KR100754578B1 (ko) | 단일 칩 프로토콜 컨버터 | |
Yang et al. | Task mapping on SMART NoC: Contention matters, not the distance | |
US8438578B2 (en) | Network on chip with an I/O accelerator | |
US20050232303A1 (en) | Efficient packet processing pipeline device and method | |
CN112084027B (zh) | 片上网络数据传输方法、装置、片上网络、设备及介质 | |
CN111984415A (zh) | 一种基于流水线转发模型的负载均衡方法及装置 | |
He et al. | Accl: Fpga-accelerated collectives over 100 gbps tcp-ip | |
CN115185878A (zh) | 一种多核分组网络处理器架构及任务调度方法 | |
EP4036730A1 (en) | Application data flow graph execution using network-on-chip overlay | |
Saquetti et al. | Virtp4: An architecture for p4 virtualization | |
Mariño et al. | Loopback strategy for in-vehicle network processing in automotive gateway network on chip | |
CN111884948B (zh) | 一种流水线调度方法与装置 | |
Ossen et al. | Enabling stateful functions for stream processing in the programmable data plane | |
Schoeberl et al. | S4noc: a minimalistic network-on-chip for real-time multicores | |
US7010673B2 (en) | Apparatus and method for processing pipelined data | |
Huang et al. | Accelerating NoC-based MPI primitives via communication architecture customization | |
Laki et al. | The price for asynchronous execution of extern functions in programmable software data planes | |
Liu et al. | Using segmentation to improve schedulability of real-time traffic over RRA-based NoCs | |
CN114039894B (zh) | 一种基于矢量包的网络性能优化方法、***、设备、介质 | |
US20240045673A1 (en) | Method and system for hybrid pipelined-data flow packet processing | |
CN110704027B (zh) | 一种星载软件化载荷软硬件解耦方法 | |
Ribot González et al. | IPDeN 2.0: Real-time NoC with selective flit deflection and buffering |
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: 20221014 |