基于CPU和GPU的数据库防火墙系统和其的控制方法技术方案

技术编号:16128528 阅读:39 留言:0更新日期:2017-09-01 20:41
本发明专利技术提供了一种基于CPU和GPU的数据库防火墙系统,所述系统包括:至少一个多核CPU包括CPU调度核组,CPU计算核组和CPU常规任务核组;至少一个GPU包括GPU会话组、GPU运算组和GPU集群通信接口;网卡与所述GPU连接,包括网卡缓存区;系统内存分别与所述多核CPU和GPU连接,包括GPU专享内存池、CPU内存池、网卡内存池、GPU与CPU的共享内存池以及通过所述网卡内存池和GPU专享内存池进行虚拟映射形成的NIC与GPU的共享内存池,其中,所述网卡内存池和网卡缓存区具有相同的物理地址;其中,所述CPU调度核组用于根据CPU调度核组中的核数量进行网卡缓存区的对应划分。

Database firewall system based on CPU and GPU and control method thereof

The invention provides a database firewall system based on GPU and CPU, the system includes at least one multi-core CPU including CPU nuclear scheduling group, CPU group and CPU conventional calculation of nuclear nuclear group; at least one GPU including GPU group, GPU group and operation session GPU cluster communication interface card and network; the GPU connection, including NIC buffer; system memory are respectively connected with the multi-core CPU and GPU connections, the shared memory pool including GPU exclusive memory pool, CPU memory card, memory pool, pool GPU and CPU as well as the shared memory pool, NIC and GPU virtual mapping formed by the pool of memory card and GPU exclusive memory pool, the memory pool and the cache card card has the same physical address; among them, the nuclear group for the corresponding CPU scheduling division card buffer according to the number of nuclear CPU in the nuclear group scheduling.

【技术实现步骤摘要】
基于CPU和GPU的数据库防火墙系统和其的控制方法
本专利技术涉及互联网
,尤其涉及一种基于CPU和GPU的数据库防火墙系统和基于CPU和GPU的数据库防火墙系统的控制方法。
技术介绍
随着互联网技术和信息技术的迅速发展,以数据库为基础的信息系统在经济、金融、军工、医疗等领域的信息基础设施建设中得到了广泛的应用,越来越多的数据信息被不同组织和机构搜集、存储以及发布,其中大量信息被用于行业合作和数据共享,因此数据库防火墙的应用越来越广泛,越来越重要,同时,随着千兆、万兆的网络在国内的大规模应用,那么用户对数据库防火墙的吞吐量的要求越来越高。
技术实现思路
本专利技术的目的旨在至少解决上述技术缺陷之一,提供一种基于CPU和GPU的数据库防火墙系统和基于CPU和GPU的数据库防火墙系统的控制方法。本专利技术提供一种基于CPU和GPU的数据库防火墙系统,所述系统包括:至少一个多核CPU包括CPU调度核组,CPU计算核组和CPU常规任务核组;至少一个GPU包括GPU会话组、GPU运算组和GPU集群通信接口;网卡与所述GPU连接,包括网卡缓存区;系统内存分别与所述多核CPU和GPU连接,包括GPU专享内存池、CPU内存池、网卡内存池、GPU与CPU的共享内存池以及通过所述网卡内存池和GPU专享内存池进行虚拟映射形成的NIC与GPU的共享内存池,其中,所述网卡内存池和网卡缓存区具有相同的物理地址;其中,所述CPU调度核组用于根据CPU调度核组中的核数量进行网卡缓存区的对应划分。从上述数据库防火墙系统的方案可以看出,通过GPU去并行处理数据库防火墙中所有的运算任务,从而满足大数据环境以及云计算环境中对高吞吐量安全的需求。而且采用嵌入式GPU防火墙硬件设计架构,实现大数据环境以及云计算环境中高性能、低能耗、低成本。本专利技术还提供一种基于CPU和GPU的数据库防火墙系统的控制方法,所述控制方法包括以下步骤:系统初始化;根据CPU数量以及核数量将至少一个多核CPU划分为CPU调度核组、CPU计算核组和CPU常规任务核组;根据GPU数量将至少一个GPU划分为GPU会话组和GPU运算组;将系统内存划分为GPU专享内存池、CPU内存池、网卡内存池和GPU与CPU的共享内存池,其中,所述网卡内存池和网卡缓存区具有相同的物理地址;将所述网卡内存池和GPU专享内存池进行虚拟映射,形成NIC与GPU的共享内存池;根据CPU调度核组中的核数量进行网卡缓存区的对应划分;以及对GPU集群通信接口进行初始化。从上述控制方法的方案可以看出,通过GPU去并行处理数据库防火墙中所有的运算任务,从而满足大数据环境以及云计算环境中对高吞吐量安全的需求。而且采用嵌入式GPU防火墙硬件设计架构,实现大数据环境以及云计算环境中高性能、低能耗、低成本。附图说明图1为本专利技术的基于CPU和GPU的数据库防火墙系统一种实施例的结构示意图;图2为本专利技术的基于CPU和GPU的数据库防火墙系统的控制方法中初始方法的一种实施例的流程图;图3为本专利技术的基于CPU和GPU的数据库防火墙系统的控制方法中对网络数据包的处理方法的一种实施例的流程图;图4为本专利技术的基于CPU和GPU的数据库防火墙系统的控制方法中对网络数据包的处理方法的另一种实施例的流程图;图5为本专利技术的基于CPU和GPU的数据库防火墙系统的控制方法中的动态任务调度算法一种实施例的流程图。具体实施方式为了使本专利技术所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种实施例的基于CPU和GPU的数据库防火墙系统,如图1所示,所述系统包括:至少一个多核CPU1包括CPU调度核组,CPU计算核组和CPU常规任务核组;至少一个GPU2包括GPU会话组、GPU运算组和GPU集群通信接口;网卡3即NIC与所述GPU2连接,包括网卡缓存区;系统内存4分别与所述多核CPU1和GPU2连接,包括GPU专享内存池、CPU内存池、网卡内存池、GPU与CPU的共享内存池以及通过所述网卡内存池和GPU专享内存池进行虚拟映射形成的NIC与GPU的共享内存池,其中,所述网卡内存池和网卡缓存区即NIC缓冲区具有相同的物理地址;其中,所述CPU调度核组用于根据CPU调度核组中的核数量进行网卡缓存区的对应划分。也就是说,多核多CPU、多GPU、高速网卡、以及系统内存构成一种高吞吐量的基于CPU和GPU的数据库防火墙系统,另外将传统CPU集群上的大型防火墙并行应用移植到GPU集群上,显著减少空间、能耗等硬件资源需求,而且通过过CPU、GPU的混合调度充分利用CPU和GPU,在GPU计算复杂任务的同时让CPU做一些较为简单的调度和计算,充分发挥多CPU的调度优势与多GPU的计算优势减少网络延迟。在具体实施中,所述CPU常规任务核组可以包括如下功能:设备配置,集中管理,审计管理以及安全策略配置等。在具体实施中,如图1所示,网卡3与GPU2之间实现高速内存交换机制,即实现GPU与NIC之间的内存(专属内存)交换以及GPU与系统内存(专属内存)的交换,把处于等待状态(或在CPU调度原则下被剥夺运行权利)的GPU的映射内存空间腾出来,同时赋予忙碌状态的GPU或NIC采用内存管理,优化算法所消耗的内存空间,内存大小是有限的,而数据流是不断产生,充分利用有限的内存一次性处理更多的数据,以达到数据流的实时处理。在具体实施中,当网络数据包进入网卡缓存区时,所述CPU调度核组还用于:调度GPU会话组,以及根据动态任务调度算法将所述GPU会话组分别与网卡缓存区中的网络数据包和任务处理进行匹配;所述GPU会话组,用于进行全局初始化,并对与其对应匹配的网络数据包进行对应的任务处理,以及得到会话流和将会话流标志位存入所述系统内存中。也就是说,CPU调度核组采用动态任务调度算法,将调度的GPU会话组与NIC缓冲区进行一一对应匹配计算,可以减小系统负载不均,提高硬件资源并行计算能力,使得所有计算资源尽可能在同一时间完成执行。在具体实施中,GPU会话组进行的任务处理包括:对网络数据包进行会话管理;对网络数据包进行L2层解析;对网络数据包进行TCP/IP协议的解析;对网络数据包进行时域会话的Hash计算对时域会话的数据包进行TCP流重组;以及对时域会话的数据包进行数据库类型识别。也就是说,GPU会话组采用基于GPU的数据流通用处理模型,该通用模型适合于各个应用领域的多条高维时间序列数据流,它涵盖了数据流的预处理、减负、概要抽取和挖掘处理等多项功能,能完成数据流处理时的多项任务,如查询处理、聚类、分类、频繁项集挖掘等。任务包括但不限于:GPU会话组针对单一数据包进行ChecksumandCRC;GPU会话组针对单一数据包进行L2解析;GPU会话组针对单一数据包进行TCP协议的解析;GPU会话组针对单一数据包进行Session会话的HASH计算;GPU会话组针对Session会话的数据包进行TCP流的重组;GPU会话组针对Session会话进行数据库类型的识别。即将GPU会话组划分为多个会话小组,比如,第一会话小组的任务处理为:对网络数据包进行会话管理,第二会话小组本文档来自技高网...
基于CPU和GPU的数据库防火墙系统和其的控制方法

【技术保护点】
一种基于CPU和GPU的数据库防火墙系统,其特征在于:所述系统包括:至少一个多核CPU包括CPU调度核组,CPU计算核组和CPU常规任务核组;至少一个GPU包括GPU会话组、GPU运算组和GPU 集群通信接口;网卡与所述GPU连接,包括网卡缓存区;系统内存分别与所述多核CPU和GPU连接,包括GPU专享内存池、CPU内存池、网卡内存池、GPU与CPU的共享内存池以及通过所述网卡内存池和GPU专享内存池进行虚拟映射形成的NIC与GPU的共享内存池,其中,所述网卡内存池和网卡缓存区具有相同的物理地址;其中,所述CPU调度核组用于根据CPU调度核组中的核数量进行网卡缓存区的对应划分。

【技术特征摘要】
1.一种基于CPU和GPU的数据库防火墙系统,其特征在于:所述系统包括:至少一个多核CPU包括CPU调度核组,CPU计算核组和CPU常规任务核组;至少一个GPU包括GPU会话组、GPU运算组和GPU集群通信接口;网卡与所述GPU连接,包括网卡缓存区;系统内存分别与所述多核CPU和GPU连接,包括GPU专享内存池、CPU内存池、网卡内存池、GPU与CPU的共享内存池以及通过所述网卡内存池和GPU专享内存池进行虚拟映射形成的NIC与GPU的共享内存池,其中,所述网卡内存池和网卡缓存区具有相同的物理地址;其中,所述CPU调度核组用于根据CPU调度核组中的核数量进行网卡缓存区的对应划分。2.如权利要求1所述的数据库防火墙系统,其特征在于:当网络数据包进入网卡缓存区时,所述CPU调度核组还用于:调度GPU会话组,以及根据动态任务调度算法将所述GPU会话组分别与网卡缓存区中的网络数据包和任务处理进行匹配;所述GPU会话组,用于进行全局初始化,并对与其对应匹配的网络数据包进行对应的任务处理,以及得到会话流和将会话流标志位存入所述系统内存中。3.如权利要求1所述的数据库防火墙系统,其特征在于:当网络数据包进入网卡缓存区时,所述CPU调度核组还用于:调度GPU计算组,以及根据动态任务调度算法将所述GPU运算组分别与网卡缓存区中的网络数据包和任务处理进行匹配;所述GPU运算组,用于进行全局初始化,对所述网络数据包进行优化处理,并对匹配且优化后的网络数据包进行任务处理。4.一种基于CPU和GPU的数据库防火墙系统的控制方法,其特征在于:所述控制方法包括以下步骤:系统初始化;根据CPU数量以及核数量将至少一个多核CPU划分为CPU调度核组、CPU计算核组和CPU常规任务核组;根据GPU数量将至少一个GPU划分为GPU会话组和GPU运算组;将系统内存划分为GPU专享内存池、CPU内存池、网卡内存池和GPU与CPU的共享内存池,其中,所述网卡内存池和网卡缓存区具有相同的物理地址;将所述网卡内存池和GPU专享内存池进行虚拟映射,形成NIC与GPU的共享内...

【专利技术属性】
技术研发人员:尹博尹立东秦明
申请(专利权)人:深圳市知穹科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1