CN114138482A - 一种自动适配硬件资源的nta设备配置策略方法 - Google Patents
一种自动适配硬件资源的nta设备配置策略方法 Download PDFInfo
- Publication number
- CN114138482A CN114138482A CN202111427700.5A CN202111427700A CN114138482A CN 114138482 A CN114138482 A CN 114138482A CN 202111427700 A CN202111427700 A CN 202111427700A CN 114138482 A CN114138482 A CN 114138482A
- Authority
- CN
- China
- Prior art keywords
- thread
- packet receiving
- numa
- port
- receiving
- 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
Images
Classifications
-
- 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
-
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种自动适配硬件资源的NTA设备配置策略方法,其特征在于,包括如下步骤:搜集硬件信息,查看CPU配置信息和网卡信息,记录网卡可用端口个数、型号、最大协商速率,以及每个网卡所在的NUMA号;设置收包线程,计算收包线程数量并绑定收包线程;设置业务处理线程,以及收包线程与业务处理线程之间通信的ring;计算收包队列个数;设置端口、收包线程、业务处理线程的对应关系。本发明提供的自动配置NTA设备的方法,能够对不同类型的设备做自动的、最优化适配,不需要专人进行适配操作,减少操作人员负担。
Description
技术领域
本发明涉及互联网领域,具体涉及一种自动适配硬件资源的NTA设备配置策略方法。
背景技术
目前互联网技术在各行各业都得到了广泛的应用,因此维护网络安全就变得尤为重要。为了保障人们的上网安全,需要对互联网上的众多行为做适当的监控,所以网络流量分析技术也变的越来越重要了。随着网络技术的不断发展,流量分析技术也变得越来越复杂,比如,一方面,会要求对报文的解析的程度越来越深,另一方面,对网络流量分析(NTA)设备的处理性能要求也越来越高。NTA设备的处理能力往往与硬件使用方面关系密切,比如,我们希望网络报文从接收到处理结束,都在相同的三级缓存中,即在NUMA系统中报文的接受和处理最好是不跨NUMA的,我们还希望可以根据网络流量的大小合理的分配硬件资源给NTA软件系统。但是当前的软件应用为了适配通用硬件平台,在与硬件的联合使用方面往往不是特别注意,这样会导致一个问题:软硬件的配合使用不到位,导致系统整体处理能力达不到最优。因此为了适配特定硬件,需要操作人员手工配置一些参数,但是由于这些配置参数的内容较多、关联关系复杂,导致大多数操作人员很难弄明白其中一些硬件、软件参数之间的关系,会给适配人员造成很大困惑,增加了操作难度。
发明内容
本发明的目的在于提供一种自动适配硬件资源的NTA设备配置策略和方法。对NTA设备做系统配置的时候,需要关注一些硬件特性,在这些硬件特性的基础上配置软件系统,才能使整个设备的运行状态是最优的。根据硬件特性及相关策略,对NTA设备做自动的适配,可以大大减少操作人员负担,并且可以有效避免配置错误造成的影响。
一方面,NTA软件系统一般会有比较主要的配置信息:收包端口个数、收包队列数、收包线程数、业务处理线程数、收包线程与业务处理线程之间的设置关系等等。另一方面,NTA软件系统的配置一般会依赖下面的硬件信息:收包端口协商速率、收包端口个数、收包队列个数及特性、网卡所在NUMA等等。这两方面又相互影响、相互牵制,主要体现在:第一,关于端口协商速率和收包端口个数。如果是1000Mbps的端口,因为收包量较小,所以一个收报线程独占一个逻辑核的情况下,可以同时接收十几个收报端口的报文;如果是10000Mbps的端口,因为一个端口收包量就很大,所以一个收报线程独占一个逻辑核的情况下,只能接收1、2个收报端口的报文。第二,我们可以利用网卡队列的RSS分包特性,将不同的流量分到不同的业务处理线程,因此网卡硬件队列的使用也能决定软件系统线程的划分。第三,在CPU的NUMA架构下,为了减少跨NUMA造成的性能损失,我们希望每一个报文的所有处理流程都是在相同的NUMA上完成的,就是说,如果网卡在NUMA0上,那么当CPU资源充足的情况下,在接收此网卡报文的收包线程、业务处理线程独占CPU的时候,希望这些线程是绑定在NUMA0上的逻辑核的。
为实现上述目的,本发明采用了如下技术方案:
一种自动适配硬件资源的NTA设备配置策略方法,其特征在于,包括如下步骤:
S1、搜集硬件信息,具体包括:
4)查看CPU配置信息,记录NUMA节点个数,及每个NUMA节点上的逻辑核号;
5)查看网卡信息,记录网卡可用端口个数、型号、最大协商速率,以及每个网卡所在的NUMA号;
6)查看网卡所在NUMA节点上可以使用的逻辑核,记录对应关系,及逻辑核个数;
S2、设置收包线程,具体包括:
3)计算收包线程数量,相同NUMA上的2个及以下10GE接口,共用1个收包线程,相同NUMA上的8个及以下GE接口,共用1个收包线程,不同NUMA上的端口对应的收包线程分别计算;
4)绑定收包线程。将收包线程绑定到与其接收的端口所在的NUMA对应的逻辑核上;
S3、设置业务处理线程,以及收包线程与业务处理线程之间通信的ring,具体包括:
4)业务核数量计算方法,4个及以下GE口分配1个业务处理核,1个10GE口分配2个业务处理核;
5)业务线程绑定核策略。如果相同NUMA上的逻辑核数量足够,则优先选取与收包PCIe接口、收包线程在相同NUMA的逻辑核,做业务线程核绑定操作;如果相同NUMA中逻辑核数量不够,则只设置业务处理线程数量,不做核绑定,让操作系统进行调度;
6)收包线程与业务处理线程之间通信的ring的个数等于业务处理核个数;
S4、计算收包队列个数:收包端口队列个数等于其对应的NUMA上的业务处理线程个数;
S5、设置端口、收包线程、业务处理线程的对应关系:
3)对于10GE口,为每个端口设置的收包队列个数等于其对应的业务处理线程个数,每个收包线程负责接收“端口个数/收包线程个数”个端口的所有报文,收包线程再通过对应的ring,将所有端口的收包队列0的报文送到业务线程0、收包队列1的报文送到业务线程1,以此类推;
对于GE口,将8个及以下个数的GE的所有报文送到为其分配的1个收报线程中,收包线程再通过对应的ring,将所有端口的收包队列0的报文送到业务线程0、收包队列1的报文送到业务线程1,以此类推。
与现有技术相比,本发明的有益效果在于:
本发明提供的自动配置NTA设备的方法,能够对不同类型的设备做自动的、最优化适配,不需要专人进行适配操作,减少操作人员负担。
附图说明
图1为本发明自动配置流程图;
图2为本实施例收包框架图。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
实施例1
如图1、图2所示,具体做法,步骤如下:
查看CPU的NUMA节点情况,并记录。
选取需要做流量采集使用的网口,记录要使用的网口个数、PCIe号、最大协商速率,找到网卡所在的NUMA节点,记录网口与所在NUMA节点上对应的逻辑核,后续准备尽可能的使用对应的逻辑核接收此网口收上来的报文。如图1,要使用的网口是P0\P1\P2\P3\P4\P5\P6\P7\P8\P9,其中P0\P1\P2\P3在NUMA0上,P4\P5\P6\P7\P8\P9在NUMA1上,则需要尽量使用NUMA0中的逻辑核来处理P0\P1\P2\P3端口的报文,使用NUMA1中的逻辑核来处理P4\P5\P6\P7\P8\P9端口的报文。
设置NTA系统的收包线程。策略:相同NUMA上的2个及以下10GE接口,共用1个收包线程,相同NUMA上的8个及以下GE接口,共用1个收包线程。如图1,共有10个接口做流量采集口,其中4个10GE的接口(P0\P1\P2\P3),6个GE接口(P4\P5\P6\P7\P8\P9),则收包线程需要3个。线程rx-thread0\rx-thread1绑定到NUMA0中的2个逻辑核,作为4个10GE的接口的收包线程;线程rx-thread2绑定到NUMA1中的1个逻辑核,作为6个GE接口的收包线程。
设置NTA系统的业务处理线程。策略:4个及以下GE口分配1个业务处理线程,1个10GE口分配2个业务处理线程。如图1,从NUMA0中选取8个逻辑核,做接口(P0\P1\P2\P3)的业务处理核,分别绑定线程:
worker-thread0\worker-thread1\worker-thread2\worker-thread3\worker-thread4\worker-thread5\worker-thread6\worker-thread7;
从NUMA1中选取2个逻辑核,做接口(P4\P5\P6\P7\P8\P9)的业务处理核,分别绑定线程worker-thread8\worker-thread9。
设置收包线程与业务处理线程之间通讯的ring。策略:收包线程与业务处理线程之间通信的ring的个数等于业务处理线程个数。
设置NTA系统端口收包队列数。策略:端口队列个数等于其对应的NUMA上业务处理线程个数。如图1,为6个GE口的每个端口分配2个收包队列(rxqueue0\rxqueue1),4个10GE口的每个端口分配8个收包队列:
rxqueue0\rxqueue1\rxqueue2\rxqueue3\rxqueue4\rxqueue5\rxqueue6\rxqueue7。
设置端口、收包线程、业务处理线程的对应关系。策略:1)10GE口,为每个端口设置的收包队列个数等于其对应的业务处理线程个数,每个收包线程负责接收“端口个数/收包线程个数”个端口的所有报文,收包线程再通过对应的ring,将所有端口的收包队列0的报文送到业务处理线程0、收包队列1的报文送到业务处理线程1,以此类推。2)GE口,将8个及以下个数的GE的所有报文送到为其分配的1个收报线程中,收包线程再通过对应的ring,将所有端口的收包队列0的报文送到业务处理线程0、收包队列1的报文送到业务处理线程1,以此类推。如图1,10GE口的收包线程rx-thread0,接收P0\P1的报文,再将报文按照8个队列,通过对应的ring,分发到worker-thread0到worker-thread7中,收包线程rx-thread1接收P2\P3的报文,再将报文按照8个队列,通过对应的ring,分发到worker-thread0到worker-thread7中;GE口的收报线程rx-thread2接收P4到P9的报文,再将报文按照2个队列,通过对应的ring,分发到worker-thread8、worker-thread9中。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为发明的优选例,并不用来限制本发明,在不脱离本发明新型精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (1)
1.一种自动适配硬件资源的NTA设备配置策略方法,其特征在于,包括如下步骤:
S1、搜集硬件信息,具体包括:
1)查看CPU配置信息,记录NUMA节点个数,及每个NUMA节点上的逻辑核号;
2)查看网卡信息,记录网卡可用端口个数、型号、最大协商速率,以及每个网卡所在的NUMA号;
3)查看网卡所在NUMA节点上可以使用的逻辑核,记录对应关系,及逻辑核个数;
S2、设置收包线程,具体包括:
1)计算收包线程数量,相同NUMA上的2个及以下10GE接口,共用1个收包线程,相同NUMA上的8个及以下GE接口,共用1个收包线程,不同NUMA上的端口对应的收包线程分别计算;
2)绑定收包线程。将收包线程绑定到与其接收的端口所在的NUMA对应的逻辑核上;
S3、设置业务处理线程,以及收包线程与业务处理线程之间通信的ring,具体包括:
1)业务核数量计算方法,4个及以下GE口分配1个业务处理核,1个10GE口分配2个业务处理核;
2)业务线程绑定核策略。如果相同NUMA上的逻辑核数量足够,则优先选取与收包PCIe接口、收包线程在相同NUMA的逻辑核,做业务线程核绑定操作;如果相同NUMA中逻辑核数量不够,则只设置业务处理线程数量,不做核绑定,让操作系统进行调度;
3)收包线程与业务处理线程之间通信的ring的个数等于业务处理核个数;
S4、计算收包队列个数:收包端口队列个数等于其对应的NUMA上的业务处理线程个数;
S5、设置端口、收包线程、业务处理线程的对应关系:
1)对于10GE口,为每个端口设置的收包队列个数等于其对应的业务处理线程个数,每个收包线程负责接收“端口个数/收包线程个数”个端口的所有报文,收包线程再通过对应的ring,将所有端口的收包队列0的报文送到业务线程0、收包队列1的报文送到业务线程1,以此类推;
2)对于GE口,将8个及以下个数的GE的所有报文送到为其分配的1个收报线程中,收包线程再通过对应的ring,将所有端口的收包队列0的报文送到业务线程0、收包队列1的报文送到业务线程1,以此类推。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111427700.5A CN114138482A (zh) | 2021-11-26 | 2021-11-26 | 一种自动适配硬件资源的nta设备配置策略方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111427700.5A CN114138482A (zh) | 2021-11-26 | 2021-11-26 | 一种自动适配硬件资源的nta设备配置策略方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114138482A true CN114138482A (zh) | 2022-03-04 |
Family
ID=80388318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111427700.5A Pending CN114138482A (zh) | 2021-11-26 | 2021-11-26 | 一种自动适配硬件资源的nta设备配置策略方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138482A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706803A (zh) * | 2022-03-29 | 2022-07-05 | 深圳市广和通无线股份有限公司 | 多速率适配方法及PCIe设备 |
CN116055007A (zh) * | 2023-03-17 | 2023-05-02 | 无锡沐创集成电路设计有限公司 | 一种mac直连交换芯片速率匹配装置及方法 |
-
2021
- 2021-11-26 CN CN202111427700.5A patent/CN114138482A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706803A (zh) * | 2022-03-29 | 2022-07-05 | 深圳市广和通无线股份有限公司 | 多速率适配方法及PCIe设备 |
CN114706803B (zh) * | 2022-03-29 | 2023-11-10 | 深圳市广和通科技有限公司 | 多速率适配方法及PCIe设备 |
CN116055007A (zh) * | 2023-03-17 | 2023-05-02 | 无锡沐创集成电路设计有限公司 | 一种mac直连交换芯片速率匹配装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114138482A (zh) | 一种自动适配硬件资源的nta设备配置策略方法 | |
CN109672627A (zh) | 基于集群服务器的业务处理方法、平台、设备及存储介质 | |
CN103024699B (zh) | 一种短信发送方法和一种信息资源站实体 | |
CN109960634B (zh) | 一种应用程序监控方法、装置及系统 | |
US10812349B2 (en) | Methods, systems and computer readable media for triggering on-demand dynamic activation of cloud-based network visibility tools | |
CN110300040B (zh) | 一种通信方法及相关设备 | |
CN106571978B (zh) | 数据包捕获方法及装置 | |
WO2020224958A1 (en) | Method and apparatus for port management of ethernet bridges | |
CN111726293B (zh) | 一种报文传输方法及装置 | |
US20110228790A1 (en) | Conditional Execution of Commands | |
CN106209409B (zh) | 一种基于虚拟网络功能vnf的调度消息处理方法及装置 | |
CN109271243A (zh) | 一种集群任务管理系统 | |
JP5050357B2 (ja) | ロギング情報管理方法およびロギング情報管理システムおよびロギング情報管理手段 | |
CN111884881B (zh) | 一种以太网交换网络的监测方法、装置、系统及交换机 | |
CN109547287B (zh) | 带宽测试方法及装置、存储介质 | |
CN109951532B (zh) | 一种基于dpdk的流量模型自动变换装置 | |
CN105681321A (zh) | 一种数据处理方法及装置 | |
CN109189699A (zh) | 多路服务器通信方法、系统、中间控制器及可读存储介质 | |
CN112953792B (zh) | 网络流量监测方法及装置 | |
CN105704057B (zh) | 确定突发端口拥塞丢包的业务类型的方法和装置 | |
CN105847172B (zh) | 业务流量控制方法及装置 | |
TWI317585B (en) | System and method for testing the transmission speed of network interface cards | |
CN107579853A (zh) | 基于SNMP trap的设备性能监控的方法、装置 | |
US11742998B2 (en) | Review and retry for minimum speed port channel | |
CN110430101B (zh) | 应用于cdn的服务指标数据采集方法、装置、设备及系统 |
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 |