CN114020618B - 一种基于fpga和dpdk的高可用测试方法及系统 - Google Patents

一种基于fpga和dpdk的高可用测试方法及系统 Download PDF

Info

Publication number
CN114020618B
CN114020618B CN202111278301.7A CN202111278301A CN114020618B CN 114020618 B CN114020618 B CN 114020618B CN 202111278301 A CN202111278301 A CN 202111278301A CN 114020618 B CN114020618 B CN 114020618B
Authority
CN
China
Prior art keywords
dpdk
service process
fpga
simulation
module
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
CN202111278301.7A
Other languages
English (en)
Other versions
CN114020618A (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.)
Jiangsu Xinertai Intelligent Equipment Co ltd
Original Assignee
Jiangsu Xinertai Intelligent Equipment 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 Jiangsu Xinertai Intelligent Equipment Co ltd filed Critical Jiangsu Xinertai Intelligent Equipment Co ltd
Priority to CN202111278301.7A priority Critical patent/CN114020618B/zh
Publication of CN114020618A publication Critical patent/CN114020618A/zh
Application granted granted Critical
Publication of CN114020618B publication Critical patent/CN114020618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及软件测试技术领域,尤其涉及一种基于FPGA和DPDK的高可用测试方法及系统,其方法包括:通过预设的FPGA服务进程加载FPGA;通过预设的DPDK服务进程初始化DPDK;FPGA服务进程调用硬件流量仿真命令,并基于所述FPGA进行硬件流量仿真测试;FPGA服务进程调用软件协议仿真命令,并基于所述DPDK进行软件协议仿真测试;在软件协议仿真测试结束后,所述DPDK服务进程获取自动重启指令,重启所述DPDK服务进程。本申请具有提高仿真测试的运行效率以及提升软件可用性的效果。

Description

一种基于FPGA和DPDK的高可用测试方法及系统
技术领域
本申请涉及软件测试技术领域,尤其涉及一种基于FPGA和DPDK的高可用测试方法及系统。
背景技术
测试仪表中,为了实现端口线速的吞吐量测试、高精度的时延测试等,往往会以FPGA芯片为基础开发自己的硬件网卡,而为了实现高性能、高复杂度的协议仿真,硬件网卡的选型往往是支持DPDK的 (DPDK:数据平面开发套件(Data Plane Development Kit)用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率),并基于这样的一种硬件架构与DPDK的技术特点来设计软件服务架构。
相关技术中,通常是将FPGA的加载和数据交互以及DPDK的初始化和数据交互实现于同一个服务进程内。FPGA和芯片特定软件的基础架构支撑部分,从虚拟机和容器调用的线程安全应用编程接口(API),能高效隔离软件与FPGA开发者的相互依赖。利用基于DPDK的软件接口API,可以无缝支持当前与后续的FPGA设备,有效保证了软件的移植性与独立性;DPDK的rawdev结构通过OPAE管理和配置FPGA,FPGA-BUS提供对AFU的管理和驱动加载。基于这套架构,DPDK提供了软件框架可以更轻松地开发和部署FPGA设备,优化数据中心的工作负载。
针对上述相关技术,发明人认为,针对基于DPDK的软件仿真测试,为了使先后执行的仿真测试之间不会产生相互影响,同时也为了保证海量并发连接测试中软件资源的快速回收释放,往往需要重启服务进程,而FPGA的加载速度比较慢,根据逻辑复杂度的不同,往往会持续若干分钟,这严重影响了仿真测试的运行效率,尤其是在自动化测试场景中。
发明内容
为了在软件仿真测试中,提高仿真测试的运行效率,本申请提供一种基于FPGA和DPDK的高可用测试方法及系统。
第一方面,本申请提供一种基于FPGA和DPDK的高可用测试方法,采用如下的技术方案:
一种基于FPGA和DPDK的高可用测试方法,将FPGA服务进程与DPDK服务进程分开设置,所述高可用测试方法包括:
所述FPGA服务进程加载FPGA;
所述DPDK服务进程初始化DPDK;
所述FPGA服务进程调用预设的硬件流量仿真命令,并基于所述FPGA进行硬件流量仿真测试;
所述FPGA服务进程还同时调用预设软件协议仿真命令,并基于所述DPDK进行软件协议仿真测试;
在软件协议仿真测试结束后,所述DPDK服务进程获取自动重启指令,重启所述DPDK服务进程。
通过采用上述技术方案,FPGA服务进程与DPDK服务进程相互独立运行,因此硬件流量仿真和软件协议仿真也运行于独立的进程内,当一个软件测试完毕后,保持FPGA服务进程持续运行,重启DPDK服务进程,由于DPDK本身的技术特点,其服务进程重启速度很快,且不需要重启FPGA服务进程,省去了重启FPGA服务进程的大量时间,因此能很快进行下一个仿真测试,这样不仅提升了软件的可用性,同时也提高了仿真测试运行效率。
可选的,在所述调用预设的硬件流量仿真命令之前,还包括:
所述FPGA服务进程定制无状态的2-7层网络硬件流量仿真信息;
所述FPGA服务进程将所述无状态的2-7层网络硬件流量仿真信息发送至所述FPGA;
所述FPGA服务进程从所述FPGA获取实时统计信息。
通过采用上述技术方案,FPGA服务进程通过UI配置数据等内容,配置完成之后发送至FPGA,FPGA按照配置好的流程传输数据。
可选的,在所述调用预设软件协议仿真命令之前,还包括:
所述DPDK服务进程定制有状态的2-7层网络软件协议仿真信息;
所述DPDK服务进程将所述有状态的2-7层网络协议仿真信息发送至预设的用户态TCP/IP协议栈;
以及所述DPDK服务进程从所述预设的用户态TCP/IP协议栈获取实时统计信息。
通过采用上述技术方案,DPDK服务进程通过UI配置链接、数据等内容,配置完成之后发送至预设的用户态TCP/IP协议栈,预设的用户态TCP/IP协议栈按照配置好的流程去发起连接、传输数据。
可选的,在所述调用预设的硬件流量仿真命令之后,还包括:
所述FPGA服务进程调用预设的硬件流量仿真命令,并在所述FPGA服务进程本地对硬件流量仿真命令进行处理。
通过采用上述技术方案,硬件流量仿真命令在FPGA服务进程本地进行处理,与DPDK服务进程分离开,有助于提高软件可用性。
可选的,在所述调用预设的软件协议仿真命令之后,还包括:
基于所述DPDK服务进程调用的软件协议仿真命令;
所述DPDK服务进程将所述软件协议仿真命令转发至所述DPDK服务进程中预设的RPC接口;
通过所述RPC接口在所述DPDK服务进程内对软件仿真命令进行处理。
通过采用上述技术方案,软件协议仿真命令在DPDK服务进程所提供的RPC接口内处理,与FPGA服务进程相互独立,在完成一次软件测试后,方便重启DPDK服务进程,有助于提高仿真测试运行效率。
第二方面,本申请提供的一种基于FPGA和DPDK的高可用测试系统,采用如下的技术方案:
一种基于FPGA和DPDK的高可用测试系统,包括:FPGA服务进程模块、DPDK服务进程模块、FPGA模块和DPDK模块;
所述FPGA服务进程模块用于加载所述FPGA模块;
所述DPDK服务进程模块用于初始化所述DPDK模块;
所述FPGA服务进程模块还用于调用硬件流量仿真命令,并基于所述FPGA进行硬件流量仿真测试;
以及调用软件协议仿真命令,并基于所述DPDK进行软件协议仿真测试;
所述DPDK服务进程模块还用于在软件协议仿真测试结束后,重启所述DPDK服务进程。
通过采用上述技术方案,FPGA服务进程与DPDK服务进程运行于独立的服务进程内,因此硬件流量仿真和软件协议仿真也运行于独立的进程内,当一个软件测试完毕后,保持FPGA服务进程持续运行,重启DPDK服务进程,由于DPDK本身的技术特点,其服务进程重启速度很快,且不需要重启FPGA服务进程,省去了重启FPGA服务进程的大量时间,因此能很快进行下一个仿真测试,这样不仅提升了软件的可用性,同时也提高了仿真测试运行效率。
可选的,所述FPGA服务进程模块还用于:
定制无状态的2-7层网络硬件流量仿真信息;
将所述无状态的2-7层网络硬件流量仿真信息发送至所述FPGA模块;
以及从所述FPGA模块获取实时统计信息。
通过采用上述技术方案,FPGA服务进程模块通过UI配置数据等内容,配置完成之后发送至FPGA,FPGA按照配置好的流程去传输数据。
可选的,所述DPDK服务进程模块还用于:
定制有状态的2-7层网络软件协议仿真信息;
将所述有状态的2-7层网络软件协议仿真信息发送至所述DPDK模块;
以及从所述DPDK模块获取实时统计信息。
通过采用上述技术方案,DPDK服务进程模块通过UI配置链接、数据等内容,配置完成之后发送至预设的用户态TCP/IP协议栈,预设的用户态TCP/IP协议栈按照配置好的流程去发起连接、传输数据。
可选的,所述FPGA服务进程模块还用于在所述FPGA服务进程模块本地,处理由所述FPGA服务进程模块调用的硬件流量仿真命令。
通过采用上述技术方案,硬件流量仿真命令在FPGA服务进程本地进行处理,与DPDK服务进程分离开,有助于提高软件可用性。
可选的,所述DPDK服务进程模块还用于在所述DPDK服务进程模块内,处理由所述DPDK服务进程模块调用后转发至所述DPDK服务进程模块所提供的RPC接口的软件协议仿真命令。
通过采用上述技术方案,软件协议仿真命令在DPDK服务进程所提供的RPC接口内处理,与FPGA服务进程相互独立,在测试完一次软件协议仿真测试后,方便重启DPDK服务进程,有助于提高仿真测试运行效率。
综上所述,本申请包括以下至少一种有益技术效果:
通过采用上述技术方案,FPGA服务进程与DPDK服务进程相互独立运行,因此硬件流量仿真和软件协议仿真也运行于独立的进程内,当一个软件测试完毕后,保持FPGA服务进程持续运行,重启DPDK服务进程,由于DPDK本身的技术特点,其服务进程重启速度很快,且不需要重启FPGA服务进程,省去了重启FPGA服务进程的大量时间,因此能很快进行下一个仿真测试,这样不仅提升了软件的可用性,同时也提高了仿真测试运行效率。
附图说明
图1是本申请实施例一种基于FPGA和DPDK的高可用测试方法的流程框图。
图2是本申请实施例一种基于FPGA和DPDK的高可用测试系统的结构框图。
附图标记说明:
1、FPGA服务进程模块;2、DPDK服务进程模块;3、FPGA模块;4、DPDK模块。
具体实施方式
高可用:即高可用性;
可用性:可用性是在某个考察时间,系统能够正常运行的概率或时间占有率期望值。考察时间为指定瞬间,则称瞬时可用性;考察时间为指定时段,则称时段可用性;考察时间为连续使用期间的任一时刻,则称固有可用性。它是衡量设备在投入使用后实际使用的效能,是设备或系统的可靠性、可维护性和维护支持性的综合特性。
本申请实施例公开一种基于FPGA和DPDK的高可用测试系统,包括服务器,服务器包括多个控制器、内存、硬盘以及一张或者多张板卡。控制器在本实施例中可以为CPU,在其他实施例中可以为芯片,例如:LED控制器(LED controller)就是通过芯片处理控制LED灯电路中的各个位置的开关。控制器根据预先设定好的程序再控制驱动电路使LED阵列有规律地发光,从而显示出文字或图形,Led控制器,以MCU,DSP,FPGA等为处理器,加接口I/O电路,编写相应的程序代码,处理LED驱动芯片的协议,来实现控制开关量与PWM占空比,实现全彩的变化,能显示出动画,如流水,渐变,跳变,视频等。
板卡包括FPGA芯片以及一个或多个端口。端口负责网络流量的发送及接收,其传输能力根据不同的规格而定,有400Gbps、100 Gbps、40 Gbps、25 Gbps、10 Gbps、1 Gbps等不同速率的端口。服务器中预设有分开设置的FPGA服务进程和DPDK服务进程,DPDK服务进程由若干个(绑定的CPU个数)服务线程组成,每个CPU绑定一个独立的服务线程,在仿真测试过程中,FPGA服务进程和DPDK服务进程互不影响。
下面,基于上述高可用测试系统,对一种基于FPGA和DPDK的高可用测试方法做详细阐述。
参照图1,一种基于FPGA和DPDK的高可用测试方法,包括:如下步骤,
步骤S100:FPGA服务进程加载FPGA(Field Programmable Gate Array,现场可编程门阵列),FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的连接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程;
当加载完FPGA后,FPGA保持持续运行。
步骤S200:DPDK服务进程初始化DPDK(Data Plane Development Kit,数据平面开发套件),DPDK用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率;
步骤S310:FPGA服务进程调用硬件流量仿真命令,并基于FPGA进行硬件流量仿真测试;
步骤S320:FPGA服务进程还用于调用软件协议仿真命令,并基于DPDK进行软件协议仿真测试;
FPGA服务进程作为所有软件命令调用的入口,硬件流量仿真命令和软件协议仿真命令皆通过FPGA服务进程调用,且硬件流量仿真与软件协议仿真相互独立进行。
步骤S400:在软件协议仿真测试结束后,DPDK服务进程获取自动重启指令,重启DPDK服务进程。
当存在多个仿真测试时,为了避免影响下个仿真测试,相关技术中的处理方式通常包括:
重启服务器,包括重启硬件设备与软件设备,耗时十分长;
重启包含FPGA和DPDK的服务进程,由于FPGA重启时间长,因此重启包含FPGA和DPDK的服务进程也会消耗较长时间;
不重启服务进程,单独释放DPDK中的软件资源,一般DPDK中组件的链接较多,单个连续释放需要消耗大量时间。
而本申请将单个软件进程物理隔离成FPGA服务进程和DPDK服务进程,其中FPGA服务进程负责物理层仿真,且自加载完毕后一直处于运行状态,DPDK服务进程负责软件层仿真,每完成一次软件协议仿真测试以后,DPDK服务进程则重启一次,DPDK服务进程重启速度极快,通常能控制在数秒的时间内,因此能快速回收释放软件资源,不影响下个仿真测试,从而提高可用性以及提升仿真测试效率。
在所述调用硬件流量仿真命令之前,还包括:步骤S210,
步骤S210:FPGA服务进程定制无状态的2-7层网络硬件流量仿真信息;
FPGA服务进程将无状态的2-7层网络硬件流量仿真信息发送至FPGA;
FPGA服务进程从FPGA获取实时统计信息。
所述调用软件协议仿真命令之前,还包括:步骤S220,
步骤S220:DPDK服务进程定制有状态的2-7层网络软件协议仿真信息;
DPDK服务进程将有状态的2-7层网络协议仿真信息发送至预设的用户态TCP/IP协议栈;
DPDK服务进程从用户态TCP/IP协议栈获取实时统计信息。
其中,用户态(user mode)在计算机结构指两项类似的概念。在CPU的设计中,用户态指非特权状态。在此状态下,执行的代码被硬件限定,不能进行某些操作,比如写入其他进程的存储空间,以防止给操作系统带来安全隐患。在操作系统的设计中,用户态也类似,指非特权的执行状态。内核禁止此状态下的代码进行潜在危险的操作,比如写入系统配置文件、杀掉其他用户的进程、重启系统等;
TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列。TCP/IP协议栈(按TCP/IP参考模型划分),TCP/IP分为4层,不同于OSI,他将OSI中的会话层、表示层规划到应用层;
有、无状态可以通过TCP(传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能)连接去理解,TCP连接是有生命周期的,建立连接、数据传输、断开连接,每一个过程都对着这个连接状态的转换,所以是有状态的软件协议仿真,重点就是面向连接;
无状态是指没有这个完整的过程,只有数据传输,而不在乎传输是否成功,所以是无状态的硬件流量仿真,面向无连接。
在调用预设的硬件流量仿真命令之后,还包括步骤S330,
步骤S330:FPGA服务进程调用硬件流量仿真命令,并在该FPGA服务进程本地对硬件流量仿真命令进行处理。
在调用预设软件协议仿真命令之后,还包括步骤S340:
步骤S340:DPDK服务进程调用软件协议仿真命令后转发至DPDK服务进程所提供的RPC接口,并在该DPDK服务进程内对软件仿真命令进行处理。
其中,S330和S340同步进行。
本申请实施例一种基于FPGA和DPDK的高可用测试方法的实施原理为:
通过预设的FPGA服务进程加载FPGA;
通过预设的DPDK服务进程初始化DPDK;
而后通过FPGA服务进程调用硬件流量仿真命令,并基于FPGA进行硬件流量仿真测试;
同时通过FPGA服务进程调用软件协议仿真命令,并基于DPDK进行软件协议仿真测试;
在软件协议仿真测试结束后,DPDK服务进程获取自动重启指令,重启DPDK服务进程。
本实施例还公开一种基于FPGA和DPDK的高可用测试系统。
参照图2,高可用测试系统包括FPGA服务进程模块、DPDK服务进程模块、FPGA模块和DPDK模块;
FPGA服务进程模块包括FPGA服务进程,用于加载FPGA模块;FPGA模块包括FPGA芯片,FPGA芯片作为网卡开发的基础。
DPDK服务进程模块包括DPDK服务进程,用于初始化DPDK模块;DPDK模块包括DPDK,DPDK用于辅助实现高性能、高复杂度的2-7层协议仿真。
FPGA服务进程模块还用于基于FPGA的数据交互接口,调用硬件流量仿真命令,并进行硬件流量仿真测试;
以及基于DPDK的数据交互接口调用软件协议仿真命令,并进行软件协议仿真测试;
DPDK服务进程模块还用于在软件协议仿真测试结束后,重启DPDK服务进程。
一个DPDK服务进程可以服务所有端口,但在实践中一般会根据CPU及端口的个数决定另外一种服务模式:为每个端口分配独立的DPDK服务进程。
当总CPU个数为总端口数的2倍及以上时,每个端口独立绑定2个以上CPU;当总CPU个数为总端口数的2倍以下时,所有端口共同绑定一定数量(等于端口数或者全部)的CPU。
且每个端口所绑定的CPU个数需要根据端口速率来决定,速率越大则CPU个数越多,因为400Gbps、100Gbps等端口的收发能力远大于每个CPU的处理能力。
以16个CPU、2个端口为例:每个端口独立绑定6个或者7个CPU,余下的4个或者2个CPU留给操作系统做任务调度;
以16个CPU、2个100Gbps端口、2个10Gbps端口为例:每个100Gbps端口独立绑定5个CPU,每个10Gbps独立绑定2个CPU,余下的2个CPU留给操作系统做任务调度。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。

Claims (6)

1.一种基于FPGA和DPDK的高可用测试方法,其特征在于,将FPGA服务进程与DPDK服务进程分开设置,所述高可用测试方法包括:
所述FPGA服务进程加载FPGA;
所述DPDK服务进程初始化DPDK;
所述FPGA服务进程调用预设的硬件流量仿真命令,并基于所述FPGA进行硬件流量仿真测试;
所述FPGA服务进程还同时调用预设软件协议仿真命令,并基于所述DPDK进行软件协议仿真测试;
在软件协议仿真测试结束后,所述DPDK服务进程获取自动重启指令,重启所述DPDK服务进程;
其中,FPGA服务进程负责物理层仿真,且自加载完毕后一直处于运行状态,DPDK服务进程负责软件层仿真,每完成一次软件协议仿真测试以后,DPDK服务进程则重启一次,且硬件流量仿真与软件协议仿真相互独立进行;
在所述调用预设的硬件流量仿真命令之前,还包括:
所述FPGA服务进程定制无状态的2-7层网络硬件流量仿真信息;
所述FPGA服务进程将所述无状态的2-7层网络硬件流量仿真信息发送至所述FPGA;
所述FPGA服务进程从所述FPGA获取实时统计信息;
在所述调用预设软件协议仿真命令之前,还包括:
所述DPDK服务进程定制有状态的2-7层网络软件协议仿真信息;
所述DPDK服务进程将所述有状态的2-7层网络协议仿真信息发送至预设的用户态TCP/IP协议栈;
所述DPDK服务进程从所述用户态TCP/IP协议栈获取实时统计信息;
其中,有状态面向连接;
无状态面向无连接。
2.根据权利要求1所述的一种基于FPGA和DPDK的高可用测试方法,其特征在于,在所述调用预设的硬件流量仿真命令之后,还包括:
所述FPGA服务进程调用预设的硬件流量仿真命令,并在所述FPGA服务进程本地对硬件流量仿真命令进行处理。
3.根据权利要求1所述的一种基于FPGA和DPDK的高可用测试方法,其特征在于,在所述调用预设软件协议仿真命令之后,还包括:
基于所述DPDK服务进程调用的软件协议仿真命令;
所述DPDK服务进程将所述软件协议仿真命令转发至所述DPDK服务进程中预设的RPC接口;
通过所述RPC接口在所述DPDK服务进程内对软件仿真命令进行处理。
4.一种基于FPGA和DPDK的高可用测试系统,其特征在于,包括:FPGA服务进程模块、DPDK服务进程模块、FPGA模块和DPDK模块;
所述FPGA服务进程模块用于加载所述FPGA模块;
所述DPDK服务进程模块用于初始化所述DPDK模块;
所述FPGA服务进程模块还用于调用预设的硬件流量仿真命令,并基于所述FPGA进行硬件流量仿真测试;
以及调用预设的软件协议仿真命令,并基于所述DPDK进行软件协议仿真测试;
所述DPDK服务进程模块还用于在软件协议仿真测试结束后,重启所述DPDK服务进程;
其中,FPGA服务进程负责物理层仿真,且自加载完毕后一直处于运行状态,DPDK服务进程负责软件层仿真,每完成一次软件协议仿真测试以后,DPDK服务进程则重启一次,且硬件流量仿真与软件协议仿真相互独立进行;
所述FPGA服务进程模块还用于:
定制无状态的2-7层网络硬件流量仿真信息;
将所述无状态的2-7层网络硬件流量仿真信息发送至所述FPGA模块;
以及从所述FPGA模块获取实时统计信息;
所述DPDK服务进程模块还用于:
定制有状态的2-7层网络软件协议仿真信息;
将所述有状态的2-7层网络软件协议仿真信息发送至预设的用户态TCP/IP协议栈;
以及从所述预设的用户态TCP/IP协议栈获取实时统计信息;
其中,有状态面向连接;
无状态面向无连接。
5.根据权利要求4所述的一种基于FPGA和DPDK的高可用测试系统,其特征在于,
所述FPGA服务进程模块还用于在所述FPGA服务进程模块本地,处理由所述FPGA服务进程模块调用的硬件流量仿真命令。
6.根据权利要求4所述的一种基于FPGA和DPDK的高可用测试系统,其特征在于,
所述DPDK服务进程模块还用于在所述DPDK服务进程模块内,处理由所述DPDK服务进程模块调用后转发至所述DPDK服务进程模块所提供的RPC接口的软件协议仿真命令。
CN202111278301.7A 2021-10-30 2021-10-30 一种基于fpga和dpdk的高可用测试方法及系统 Active CN114020618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111278301.7A CN114020618B (zh) 2021-10-30 2021-10-30 一种基于fpga和dpdk的高可用测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111278301.7A CN114020618B (zh) 2021-10-30 2021-10-30 一种基于fpga和dpdk的高可用测试方法及系统

Publications (2)

Publication Number Publication Date
CN114020618A CN114020618A (zh) 2022-02-08
CN114020618B true CN114020618B (zh) 2023-10-03

Family

ID=80059125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111278301.7A Active CN114020618B (zh) 2021-10-30 2021-10-30 一种基于fpga和dpdk的高可用测试方法及系统

Country Status (1)

Country Link
CN (1) CN114020618B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412502B (zh) * 2022-11-02 2023-03-24 之江实验室 一种网络端口扩展和报文快速均衡处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499937A (zh) * 2009-03-16 2009-08-05 盛科网络(苏州)有限公司 一种基于fpga的软硬件协同仿真验证系统及方法
CN110275722A (zh) * 2019-06-21 2019-09-24 北京百度网讯科技有限公司 用于升级应用的方法、装置、设备和存储介质
CN111385296A (zh) * 2020-03-04 2020-07-07 深信服科技股份有限公司 一种业务进程重启方法、装置、存储介质以及系统
CN111542064A (zh) * 2020-04-22 2020-08-14 中国科学院计算技术研究所 一种用于无线接入网的容器编排管理系统及编排方法
CN112637080A (zh) * 2020-12-14 2021-04-09 中国科学院声学研究所 一种基于fpga的负载均衡处理系统
CN113489625A (zh) * 2021-07-21 2021-10-08 宁畅信息产业(北京)有限公司 网卡测试方法、装置、电子设备及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9912774B2 (en) * 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US20200322287A1 (en) * 2020-06-18 2020-10-08 Intel Corporation Switch-managed resource allocation and software execution

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499937A (zh) * 2009-03-16 2009-08-05 盛科网络(苏州)有限公司 一种基于fpga的软硬件协同仿真验证系统及方法
CN110275722A (zh) * 2019-06-21 2019-09-24 北京百度网讯科技有限公司 用于升级应用的方法、装置、设备和存储介质
CN111385296A (zh) * 2020-03-04 2020-07-07 深信服科技股份有限公司 一种业务进程重启方法、装置、存储介质以及系统
CN111542064A (zh) * 2020-04-22 2020-08-14 中国科学院计算技术研究所 一种用于无线接入网的容器编排管理系统及编排方法
CN112637080A (zh) * 2020-12-14 2021-04-09 中国科学院声学研究所 一种基于fpga的负载均衡处理系统
CN113489625A (zh) * 2021-07-21 2021-10-08 宁畅信息产业(北京)有限公司 网卡测试方法、装置、电子设备及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Abbas Yazdinejad 等.A high-performance framework for a network programmable packet processor using P4 and FPGA.《 Journal of Network and Computer Applications》.2020,第156卷第1-16页. *
李果.基于图形处理单元的节能型高性能数据包分类研究.《中国优秀博士学位论文全文数据库信息科技辑》.2018,(第6期),第I139-5页. *
边子政.可扩展的分布式网络协议测试与验证系统.《中国优秀硕士学位论文全文数据库信息科技辑》.2021,(第5期),第I139-48页. *

Also Published As

Publication number Publication date
CN114020618A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
US11301407B2 (en) Technologies for accelerator fabric protocol multipathing
CN108156181B (zh) 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
US7107329B1 (en) In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption
US6295518B1 (en) System and method for emulating telecommunications network devices
US4855905A (en) Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US6256659B1 (en) System and method for performing hybrid preemptive and cooperative multi-tasking in a computer system
EP1705566A1 (en) Server system and online software update method
TWI261436B (en) System and method for managing and transporting virtual disks over a network to networked stations
EP2902901A1 (en) Development, compiling and debugging method and device for application
CN107025135B (zh) Docker容器内应用进程管理方法、装置和介质
CN109731334B (zh) 状态的切换方法和装置、存储介质、电子装置
CN114020618B (zh) 一种基于fpga和dpdk的高可用测试方法及系统
CN111736943B (zh) 虚拟机的迁移方法和系统
US20240264804A1 (en) Cloud code development system, method, apparatus, device and storage medium
CN116627888B (zh) 硬件计算模块、设备、方法、电子设备及存储介质
US20230004414A1 (en) Automated instantiation and management of mobile networks
CN109117253A (zh) 一种微内核调度的方法和装置
CN112688915A (zh) 跨协议通信方法、装置及服务器
US5974532A (en) System and method for generating responses for inputs using a hybrid state engine table
CN116820527B (zh) 程序升级方法、装置、计算机设备和存储介质
US9104632B2 (en) Enhanced failover mechanism in a network virtualized environment
CN116308990A (zh) 支持OpenGL的GPU的仿真与集成方法及系统
CN115543574A (zh) 应用于视频类数字藏品生成中的任务调度方法和系统
CN115640100A (zh) 一种虚拟机信息同步方法及计算机可读介质
CN115913953A (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