CN107122241A - 基于cpu和gpu的数据库防火墙系统和其的控制方法 - Google Patents

基于cpu和gpu的数据库防火墙系统和其的控制方法 Download PDF

Info

Publication number
CN107122241A
CN107122241A CN201610101855.2A CN201610101855A CN107122241A CN 107122241 A CN107122241 A CN 107122241A CN 201610101855 A CN201610101855 A CN 201610101855A CN 107122241 A CN107122241 A CN 107122241A
Authority
CN
China
Prior art keywords
gpu
cpu
interface card
network interface
groups
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.)
Granted
Application number
CN201610101855.2A
Other languages
English (en)
Other versions
CN107122241B (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.)
Shenzhen Know Dome Technology Co Ltd
Original Assignee
Shenzhen Know Dome Technology 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 Shenzhen Know Dome Technology Co Ltd filed Critical Shenzhen Know Dome Technology Co Ltd
Priority to CN201610101855.2A priority Critical patent/CN107122241B/zh
Publication of CN107122241A publication Critical patent/CN107122241A/zh
Application granted granted Critical
Publication of CN107122241B publication Critical patent/CN107122241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

基于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会话组针对单一数据包进行Checksum and CRC;GPU会话组针对单一数据包进行L2解析;GPU会话组针对单一数据包进行TCP协议的解析 ;GPU会话组针对单一数据包进行Session会话的HASH计算;GPU会话组针对Session会话的数据包进行TCP流的重组;GPU会话组针对Session会话进行数据库类型的识别。即将GPU会话组划分为多个会话小组,比如,第一会话小组的任务处理为:对网络数据包进行会话管理,第二会话小组的任务处理为:对网络数据包进行L2层解析,那么第一会话小组从匹配的网卡缓存区中得到对应的网络数据,并对所述对应的网络数据进行会话管理,而第二会话小组从匹配的网卡缓存区中得到对应的网络数据,并对所述对应的网络数据进行L2层解析。
在具体实施中,当网络数据包进入网卡缓存区时,所述CPU调度核组还用于:调度GPU计算组,以及根据动态任务调度算法将所述GPU运算组分别与网卡缓存区中的网络数据包和任务处理进行匹配;
所述GPU运算组,用于进行全局初始化,对所述网络数据包进行优化处理,并对匹配且优化后的网络数据包进行任务处理。
在具体实施中,CPU调度核组采用联合专用线程调度策略,调度GPU运算组进行不同会话的相关运算。
在具体实施中,GPU会话组进行的任务处理包括:
对会话管理组进行数据迭代运算;
对会话管理组进行数据库协议解析
对会话管理组进行SQL语法分析;
对会话管理组进行安全策略分析;
对网络数据包进行安全策略自学习;
对网络数据包进行安全策略关联分析;以及对网络数据包进行阻断与放行。
也就是说,GPU运算组基于多层归约的MapReduce实现方案,主要从线程的执行方式,共享内存缓存策略和输入数据读取3个方面进行优化,采用多层归约机制在Map 计算结束后直接进行归约计算,以减少中间数据的存储开销。多层归约机制使块内部的并发线程可以同时分别在共享内存和全局内存上高效的执行归约计算,避免了由于频繁的共享内存数据换出带来的线程同步开销,提高了线程并发执行的效率,包括但不限于以下的运算:GPU运算组针对会话管理组的数据进行数据迭代运算;GPU运算组针对会话管理组进行数据库协议解析;GPU运算组针对会话管理组进行SQL语法分析;GPU运算组针对会话管理组进行安全策略分析;GPU运算组进行安全策略自学习;GPU运算组进行安全策略关联分析;GPU运算组进行数据包的阻断与放行。即将GPU运算组划分为多个运算小组,比如,第一运算小组的任务处理为:对会话管理组进行数据迭代运算,第二运算小组的任务处理为:对会话管理组进行数据库协议解析,那么第一会话小组从匹配的网卡缓存区中得到对应的网络数据,并对会话管理组进行数据迭代运算,而第二会话小组从匹配的网卡缓存区中得到对应的网络数据,并对会话管理组进行数据库协议解析。
从上述数据库防火墙系统的方案可以看出,通过GPU去并行处理数据库防火墙中所有的运算任务,从而满足大数据环境以及云计算环境中对高吞吐量安全的需求。而且采用嵌入式GPU防火墙硬件设计架构,实现大数据环境以及云计算环境中高性能、低能耗、低成本。进一步通过提供板间数据传输重叠化机制、片上内存虚拟地址管理、以及软硬件任务并执行调度算法等优化策略,能够对大数据应用取得可观的性能功耗优势。基于GPU的异构计算系统及并行计算模式使得大量传统串行算法转移到并行计算平台上的并行化实现成为可能,无论是从高性能计算的成本控制、精度要求还是并行计算在硬件设备和应用服务之间的关键作用来说,基于GPU的高性能并行优化算法具有应用价值。另外,云安全是大数据时代信息安全的体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,高吞吐量的数据库防火墙能够有效地提高数据库系统环境的安全,为云机算环境的推广与普及提供安全保障和技术支撑。
在具体实施中,本发明还提供一种实施例的基于CPU和GPU的数据库防火墙系统的控制方法,如图2所示,所述控制方法包括以下步骤:
步骤S01,系统初始化;
步骤S02,根据CPU数量以及核数量将至少一个多核CPU划分为CPU调度核组、CPU计算核组和CPU常规任务核组;
步骤S03,根据GPU数量将至少一个GPU划分为GPU会话组和GPU运算组;
步骤S04,将系统内存划分为GPU专享内存池、CPU内存池、网卡内存池和GPU与CPU的共享内存池,其中,所述网卡内存池和网卡缓存区具有相同的物理地址;
步骤S05,将所述网卡内存池和GPU专享内存池进行虚拟映射,形成NIC与GPU的共享内存池;
步骤S06,根据CPU调度核组中的核数量进行网卡缓存区的对应划分,以及网卡缓存区与网卡内存池进行虚拟映射使得所述网卡内存池和网卡缓存区具有相同的物理地址即进行网卡缓存区初始化;
步骤S07,对GPU 集群通信接口进行初始化。
也就是说,将传统CPU 集群上的大型防火墙并行应用移植到GPU集群上,显著减少空间、能耗等硬件资源需求,而且通过过CPU、GPU 的混合调度充分利用CPU 和GPU,在GPU计算复杂任务的同时让CPU 做一些较为简单的调度和计算,充分发挥多CPU的调度优势与多GPU 的计算优势减少网络延迟。
在具体实施中,如图3所示,对网络数据包的处理方法,在步骤S07之后还包括以下步骤:
步骤S31,当网络数据包进入网卡缓存区时,CPU调度核组调度GPU会话组;
步骤S32,GPU会话组从系统内存映射中获取数据包的物理地址;
步骤S33,GPU会话组进行全局初始化;
步骤S34,CPU调度核组根据动态任务调度算法将所述GPU会话组分别与网卡缓存区中的网络数据包和任务处理进行匹配;
步骤S35,GPU会话组与其对应匹配的网络数据包进行对应的任务处理,得到会话流并将会话流标志位存入所述系统内存中。
也就是说,CPU调度核组采用动态任务调度算法,将调度的GPU会话组与NIC缓冲区进行一一对应匹配计算,可以减小系统负载不均,提高硬件资源并行计算能力,使得所有计算资源尽可能在同一时间完成执行。
在具体实施中,GPU会话组进行的任务处理包括:
对网络数据包进行会话管理;
对网络数据包进行L2层解析;
对网络数据包进行TCP/IP协议的解析;
对网络数据包进行时域会话的Hash计算
对时域会话的数据包进行TCP流重组;以及对时域会话的数据包进行数据库类型识别。
也就是说,GPU会话组采用基于GPU的数据流通用处理模型,该通用模型适合于各个应用领域的多条高维时间序列数据流,它涵盖了数据流的预处理、减负、概要抽取和挖掘处理等多项功能,能完成数据流处理时的多项任务,如查询处理、聚类、分类、频繁项集挖掘等。任务包括但不限于:GPU会话组针对单一数据包进行Checksum and CRC;GPU会话组针对单一数据包进行L2解析;GPU会话组针对单一数据包进行TCP协议的解析 ;GPU会话组针对单一数据包进行Session会话的HASH计算;GPU会话组针对Session会话的数据包进行TCP流的重组;GPU会话组针对Session会话进行数据库类型的识别。即将GPU会话组划分为多个会话小组,比如,第一会话小组的任务处理为:对网络数据包进行会话管理,第二会话小组的任务处理为:对网络数据包进行L2层解析,那么第一会话小组从匹配的网卡缓存区中得到对应的网络数据,并对所述对应的网络数据进行会话管理,而第二会话小组从匹配的网卡缓存区中得到对应的网络数据,并对所述对应的网络数据进行L2层解析。
在具体实施中,如图4所示,对网络数据包的处理方法,在步骤S07或步骤S35之后还包括以下步骤:
S41,当网络数据包进入网卡缓存区时,CPU调度核组调度GPU运算组;
S42,GPU运算组从系统内存映射中获取数据包的物理地址;
S43,GPU运算组进行全局初始化;
S44,GPU运算组对所述网络数据包进行优化处理;
S45,CPU调度核组根据动态任务调度算法将所述GPU运算组分别与网卡缓存区中的网络数据包和任务处理进行匹配;
S46,GPU运算组与其对应匹配的网络数据包进行对应的任务处理。
在具体实施中,CPU调度核组采用联合专用线程调度策略,调度GPU运算组进行不同会话的相关运算。
在具体实施中,GPU会话组进行的任务处理包括:
对会话管理组进行数据迭代运算;
对会话管理组进行数据库协议解析
对会话管理组进行SQL语法分析;
对会话管理组进行安全策略分析;
对网络数据包进行安全策略自学习;
对网络数据包进行安全策略关联分析;以及对网络数据包进行阻断与放行。
在具体实施中,所述GPU运算组对所述网络数据包进行优化处理的步骤,具体包括:
数据加载;
数据分割;以及统计中间键值对应的归约频率也就是说,GPU运算组基于多层归约的MapReduce实现方案,主要从线程的执行方式,共享内存缓存策略和输入数据读取3个方面进行优化,采用多层归约机制在Map 计算结束后直接进行归约计算,以减少中间数据的存储开销。多层归约机制使块内部的并发线程可以同时分别在共享内存和全局内存上高效的执行归约计算,避免了由于频繁的共享内存数据换出带来的线程同步开销,提高了线程并发执行的效率,包括但不限于以下的运算:GPU运算组针对会话管理组的数据进行数据迭代运算;GPU运算组针对会话管理组进行数据库协议解析;GPU运算组针对会话管理组进行SQL语法分析;GPU运算组针对会话管理组进行安全策略分析;GPU运算组进行安全策略自学习;GPU运算组进行安全策略关联分析;GPU运算组进行数据包的阻断与放行。即将GPU运算组划分为多个运算小组,比如,第一运算小组的任务处理为:对会话管理组进行数据迭代运算,第二运算小组的任务处理为:对会话管理组进行数据库协议解析,那么第一会话小组从匹配的网卡缓存区中得到对应的网络数据,并对会话管理组进行数据迭代运算,而第二会话小组从匹配的网卡缓存区中得到对应的网络数据,并对会话管理组进行数据库协议解析。
在具体实施中,如图5所示,所述动态任务调度算法具体包括以下步骤:
步骤S51,判断是否第一次运行,如果是,进入步骤S52,如果否,进入步骤S55;
步骤S52,任务随机分配;
步骤S53,计算每个GPU的负载量;
步骤S54,计算每个GPU的计算速率,返回步骤S51;
步骤S55,预处理;
步骤S56, 更新每个GPU的负载量;
步骤S57, 更新每个GPU的计算速率;
步骤S58,减负;
步骤S59,概要抽取;
步骤S510,对两次负载和两次计算速率的差值进行加权;
步骤S511,判断加权的差值是否达到稳定速率或负载量的20%,如果是,进入步骤S512,如果否,返回步骤S55;
步骤S512,任务执行。
在步骤S512中,对于GPU会话组则执行与GPU会话组对应的任务,对于GPU运算组则执行与GPU运算组对应的任务。
在具体实施中,实现单次扫描算法,不允许任何可以暂时阻塞数据流的操作,所有的数据只能扫描一次。
从上述控制方法的方案可以看出,通过GPU去并行处理数据库防火墙中所有的运算任务,从而满足大数据环境以及云计算环境中对高吞吐量安全的需求。而且采用嵌入式GPU防火墙硬件设计架构,实现大数据环境以及云计算环境中高性能、低能耗、低成本。进一步通过提供板间数据传输重叠化机制、片上内存虚拟地址管理、以及软硬件任务并执行调度算法等优化策略,能够对大数据应用取得可观的性能功耗优势。基于GPU的异构计算系统及并行计算模式使得大量传统串行算法转移到并行计算平台上的并行化实现成为可能,无论是从高性能计算的成本控制、精度要求还是并行计算在硬件设备和应用服务之间的关键作用来说,基于GPU的高性能并行优化算法具有应用价值。另外,云安全是大数据时代信息安全的体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,高吞吐量的数据库防火墙能够有效地提高数据库系统环境的安全,为云机算环境的推广与普及提供安全保障和技术支撑。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

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的共享内存池;
根据CPU调度核组中的核数量进行网卡缓存区的对应划分;以及对GPU 集群通信接口进行初始化。
5.如权利要求4所述的控制方法,其特征在于:还包括以下步骤:
当网络数据包进入网卡缓存区时,CPU调度核组调度GPU会话组;
GPU会话组从系统内存映射中获取数据包的物理地址;
GPU会话组进行全局初始化;
CPU调度核组根据动态任务调度算法将所述GPU会话组分别与网卡缓存区中的网络数据包和任务处理进行匹配;
GPU会话组与其对应匹配的网络数据包进行对应的任务处理,得到会话流并将会话流标志位存入所述系统内存中。
6.如权利要求5所述的控制方法,其特征在于:GPU会话组进行的任务处理包括:
对网络数据包进行会话管理;
对网络数据包进行L2层解析;
对网络数据包进行TCP/IP协议的解析;
对网络数据包进行时域会话的Hash计算对时域会话的数据包进行TCP流重组;以及对时域会话的数据包进行数据库类型识别。
7.如权利要求4所述的控制方法,其特征在于:还包括以下步骤:
当网络数据包进入网卡缓存区时,CPU调度核组调度GPU运算组;
GPU运算组从系统内存映射中获取数据包的物理地址;
GPU运算组进行全局初始化;
GPU运算组对所述网络数据包进行优化处理;
CPU调度核组根据动态任务调度算法将所述GPU运算组分别与网卡缓存区中的网络数据包和任务处理进行匹配;
GPU运算组与其对应匹配的网络数据包进行对应的任务处理。
8.如权利要求7所述的控制方法,其特征在于:GPU运算组将所述任务处理的结果存入GPU与CPU的共享内存池中。
9.如权利要求7所述的控制方法,其特征在于:GPU运算组进行的任务处理包括:
对会话管理组进行数据迭代运算;
对会话管理组进行数据库协议解析;
对会话管理组进行SQL语法分析;
对会话管理组进行安全策略分析;
对网络数据包进行安全策略自学习;
对网络数据包进行安全策略关联分析;以及
对网络数据包进行阻断与放行。
10.如权利要求7所述的控制方法,其特征在于:所述GPU运算组对所述网络数据包进行优化处理的步骤,具体包括:
数据加载;
数据分割;以及统计中间键值对应的归约频率。
CN201610101855.2A 2016-02-25 2016-02-25 基于cpu和gpu的数据库防火墙系统和其的控制方法 Active CN107122241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610101855.2A CN107122241B (zh) 2016-02-25 2016-02-25 基于cpu和gpu的数据库防火墙系统和其的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610101855.2A CN107122241B (zh) 2016-02-25 2016-02-25 基于cpu和gpu的数据库防火墙系统和其的控制方法

Publications (2)

Publication Number Publication Date
CN107122241A true CN107122241A (zh) 2017-09-01
CN107122241B CN107122241B (zh) 2019-11-19

Family

ID=59716895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610101855.2A Active CN107122241B (zh) 2016-02-25 2016-02-25 基于cpu和gpu的数据库防火墙系统和其的控制方法

Country Status (1)

Country Link
CN (1) CN107122241B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753134A (zh) * 2018-12-24 2019-05-14 四川大学 一种基于全局解耦的gpu内部能耗控制系统及方法
CN109976911A (zh) * 2019-03-25 2019-07-05 哈尔滨工程大学 一种自适应资源调度方法
CN110442389A (zh) * 2019-08-07 2019-11-12 北京技德系统技术有限公司 一种多桌面环境共享使用gpu的方法
WO2022170138A1 (en) * 2021-02-08 2022-08-11 Nvidia Corporation Header-based packet filtering and inferencing to identify malicious network traffic using neural networks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006049072A1 (ja) * 2004-11-04 2006-05-11 Nec Corporation ファイアウォール検査システムおよびファイアウォール情報抽出システム
US20130332257A1 (en) * 2012-06-08 2013-12-12 Adobe Systems Incorporated Sharing private devices for content rendering
US8938723B1 (en) * 2009-08-03 2015-01-20 Parallels IP Holdings GmbH Use of GPU for support and acceleration of virtual machines and virtual environments
CN205003680U (zh) * 2015-08-05 2016-01-27 杭州世平信息科技有限公司 一种用于高速数据防泄漏系统的运行机构

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006049072A1 (ja) * 2004-11-04 2006-05-11 Nec Corporation ファイアウォール検査システムおよびファイアウォール情報抽出システム
US8938723B1 (en) * 2009-08-03 2015-01-20 Parallels IP Holdings GmbH Use of GPU for support and acceleration of virtual machines and virtual environments
US20130332257A1 (en) * 2012-06-08 2013-12-12 Adobe Systems Incorporated Sharing private devices for content rendering
CN205003680U (zh) * 2015-08-05 2016-01-27 杭州世平信息科技有限公司 一种用于高速数据防泄漏系统的运行机构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郝宁: "安全策略中心与NP架构防火墙的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753134A (zh) * 2018-12-24 2019-05-14 四川大学 一种基于全局解耦的gpu内部能耗控制系统及方法
CN109753134B (zh) * 2018-12-24 2022-04-15 四川大学 一种基于全局解耦的gpu内部能耗控制系统及方法
CN109976911A (zh) * 2019-03-25 2019-07-05 哈尔滨工程大学 一种自适应资源调度方法
CN110442389A (zh) * 2019-08-07 2019-11-12 北京技德系统技术有限公司 一种多桌面环境共享使用gpu的方法
CN110442389B (zh) * 2019-08-07 2024-01-09 北京技德系统技术有限公司 一种多桌面环境共享使用gpu的方法
WO2022170138A1 (en) * 2021-02-08 2022-08-11 Nvidia Corporation Header-based packet filtering and inferencing to identify malicious network traffic using neural networks
US11876782B2 (en) 2021-02-08 2024-01-16 Nvidia Corporation Header-based packet filtering and inferencing to identify malicious network traffic using neural networks

Also Published As

Publication number Publication date
CN107122241B (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
Cui et al. A blockchain-based containerized edge computing platform for the internet of vehicles
Xu et al. Intelligent resource management in blockchain-based cloud datacenters
Wang et al. Multiagent-based resource allocation for energy minimization in cloud computing systems
CN104461740B (zh) 一种跨域集群计算资源聚合和分配的方法
US8065503B2 (en) Iteratively processing data segments by concurrently transmitting to, processing by, and receiving from partnered process
Gharaibeh et al. On graphs, gpus, and blind dating: A workload to processor matchmaking quest
CN106293508A (zh) 数据存储系统和方法
CN107122241A (zh) 基于cpu和gpu的数据库防火墙系统和其的控制方法
CN108170530B (zh) 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法
CN102650950A (zh) 一种支持多gpu虚拟化的平台架构及其工作方法
Xu et al. Cnn partitioning and offloading for vehicular edge networks in web3
Frey et al. A spinning join that does not get dizzy
Jangiti et al. Scalable and direct vector bin-packing heuristic based on residual resource ratios for virtual machine placement in cloud data centers
Pan et al. GPU-based parallel collision detection for real-time motion planning
CN106537367A (zh) 用于基于代理的多线程消息传递通信的技术
WO2004042571A2 (en) A communication method with reduced response time in a distributed data processing system
CN107102897A (zh) 一种多gpu并行处理的数据库主动防御方法
Zhou et al. Deep reinforcement learning-based algorithms selectors for the resource scheduling in hierarchical cloud computing
CN102571580A (zh) 数据接收方法和计算机
Nicolae et al. Towards memory-optimized data shuffling patterns for big data analytics
Temuçin et al. Efficient multi-path NVLink/PCIe-aware UCX based collective communication for deep learning
Wo et al. Overbooking-based resource allocation in virtualized data center
CN111653317B (zh) 基因比对加速装置、方法及系统
JP6283376B2 (ja) クラスタにおけるワークシェアリング多重化をサポートするためのシステムおよび方法
CN107426728A (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