CN108647515A - 一种基于cuda的网络入侵检测并行化加速方法 - Google Patents

一种基于cuda的网络入侵检测并行化加速方法 Download PDF

Info

Publication number
CN108647515A
CN108647515A CN201810366555.6A CN201810366555A CN108647515A CN 108647515 A CN108647515 A CN 108647515A CN 201810366555 A CN201810366555 A CN 201810366555A CN 108647515 A CN108647515 A CN 108647515A
Authority
CN
China
Prior art keywords
clusters
center
data point
cluster
intrusion detection
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
CN201810366555.6A
Other languages
English (en)
Other versions
CN108647515B (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201810366555.6A priority Critical patent/CN108647515B/zh
Publication of CN108647515A publication Critical patent/CN108647515A/zh
Application granted granted Critical
Publication of CN108647515B publication Critical patent/CN108647515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)

Abstract

一种基于CUDA的网络入侵检测并行化加速方法。方法采用了CUDA并行计算模型,首先针对网络入侵检测系统中的k‑means算法进行了并行化分析,设计了一个全局选择器,在距离计算前运用全局选择判断入侵检测数据点所属聚簇是否改变,减少了冗余计算;然后在距离计算时采用了CUDA提供的通用矩阵乘函数进行加速,提高了运算速度;最后在聚簇中心更新时将所有入侵检测数据点按照簇标签排序分组,通过组内数据简单相加,减少了原子内存操作,从而提高整体性能。实验结果表明,本发明提出的加速方法是有效的,在保证检测率的情况下,有很高的并行化加速性能。

Description

一种基于CUDA的网络入侵检测并行化加速方法
技术领域
本发明涉及信息安全领域的网络入侵检测,是一种基于CUDA的网络入侵检测并行化加速方法。
背景技术
网络入侵检测的目的是分析网络中传输的数据流量,从中发现异常的流量。目前有许多聚类算法应用于网络入侵检测系统,其中基于k-means算法的网络入侵检测方法较为流行。由于k-means算法在每次迭代过程中会计算每个入侵检测数据点到所有聚簇中心的距离,当需要检测的数据量尺寸和维度非常庞大时,该算法将会非常耗时。如果需要检测的数据总量为N,聚簇数目为k,算法经过m次迭代之后收敛,那么算法在计算距离阶段就要进行k*N*m次运算。随着网络入侵检测数据集的增长,算法的执行效率将大大降低。为了提高k-means算法在大规模网络入侵检测数据集上的执行速度,一种有效的途径就是将k-means算法移植到多核架构上,例如目前流行的图形处理单元GPU(Graphics ProcessingUnit),然后运用CUDA(Compute Unified Device Architecture)编程模型并行化该算法,这样可以节省大量计算时间,提高算法的执行效率。
CUDA是显卡厂商NVIDIA公司推出的一款通用并行计算架构,它可以让GPU解决复杂的计算问题。CUDA提供了硬件的直接访问接口,这种接口可以实现GPU的直接访问,而不需要依赖传统的图形API。GPU是能够并行执行大量线程的协处理器。一个简单的GPU源程序包括运行在CPU上的主机端代码和运行在GPU上的内核(kernel)代码,这种编程方式可以降低GPU的编程难度。
很多研究都采用CUDA来优化网络入侵检测系统的k-means聚类算法。常见的方法是将每个入侵检测数据点到所有聚簇中心的距离计算过程放在GPU端执行,而将聚簇中心的更新放在CPU端执行,这种方法执行效率很高而且也很普遍,但是加大了网络入侵检测数据在GPU和CPU端之间的传输时间。也有一些方法针对算法运行时网络入侵检测数据量的大小进行划分。当数据量较小时,就一次读入设备进行计算,当数据量较大时,就分批次读入设备进行计算,这种流式计算方法在面对大数据量时简单有效,但没有充分利用GPU内部的存储器体系。目前,基于CUDA的网络入侵检测并行化方法存在的主要问题如下:1)算法的执行过程中包含大量的冗余计算,许多网络入侵检测数据点在下一轮迭代时并不会改变其所属聚簇,因此它们完全不必要参加下一轮的距离计算;2)距离计算时的并行度不高,每个线程负责一个入侵检测数据点到所有聚簇中心的距离计算,没有充分利用CUDA的硬件特性;3)大部分聚簇中心的更新被重新移植到CPU端执行,提高了网络入侵检测数据的传输时间和计算成本。
发明内容
本发明克服了上述不足之处,目的在于提供了一种基于CUDA的网络入侵检测并行化加速方法。本发明首先针对k-means聚类算法中大量的重复距离计算问题,采用了基于上下界的全局选择器判断入侵检测数据点在本轮迭代中是否会改变所属聚簇,从而减少冗余计算。然后针对复杂的距离计算问题,将计算的公共部分提取出来,剩余部分利用CUDA提供的通用矩阵乘函数,实现了向量与矩阵,矩阵与矩阵之间的运算,提高了运算速度。最后针对每次迭代中聚簇中心的更新问题,将入侵检测数据按照聚簇标签进行排序分组,将数据点的累计转化为每个组内的简单相加,从而最小化原子内存操作,提升整体性能。本发明主要充分利用CUDA架构的特性,对网络入侵检测系统进行并行化加速,同时根据官方提供的高性能函数库对检测算法进行优化,在保证系统检测率的前提下,获得良好的加速比。
本发明是通过以下技术方案达到上述目的,即一种基于CUDA的网络入侵检测并行化加速方法,具体的实施步骤如下:
(1)在CPU端初始化n个网络入侵检测数据点的集合R,随机选取k个点作为初始聚簇中心,设置最大迭代次数为m,中心点收敛阈值为t。在GPU端分配网络入侵检测数据点集、聚簇中心、全局上下界以及中心点偏移量的内存空间,将数据拷贝至GPU端;
(2)第一次计算所有入侵检测数据点至k个聚簇中心的距离。具体的计算方法采用步骤(4)的方法进行计算;然后,根据距离计算的结果,把数据点归入距离最近的聚簇中;最后,采用步骤(6)的方法来更新聚簇中心,从而获得全局选择器需要的数据;
(3)对于每一个入侵检测数据点,采用全局选择器判断是否需要进行下一轮迭代。如果入侵检测数据点满足全局选择器判定条件,则转步骤(6)处理,如果不满足,则转步骤(4)处理。全局选择器的判定条件为:
其中,x代表一个网络入侵检测数据点,e代表点x所属聚簇的聚簇中心,ue(x)代表x的全局上界,le(x)代表x的全局下界,φ(e)代表聚簇更新之后聚簇中心e的距离偏移量,C代表所有网络入侵检测聚簇中心的集合,c代表集合中除了e之外的一个聚簇中心,代表聚簇更新之后聚簇中心的最大距离偏移量;
(4)计算所有入侵检测数据点至k个聚簇中心的距离。在GPU端开启n个线程计算入侵检测数据点矩阵x的平方x2,然后开启k个线程计算聚簇中心矩阵y的平方y2,并计算x2+y2;最后,调用CUDA提供的通用矩阵乘函数cublasSgemm()进行距离计算,即计算n个入侵检测数据点至k个聚簇中心的距离。cublasSgemm()函数属于Cublas库,实现的矩阵运算如下:
Z=alpha*OP(A)*OP(B)+beta*C
上述公式中alpha取值为-2,beta取值为1。调用cublasSgemm()函数时,每个数据点的维度为d,公式中OP(A)是n个入侵检测数据点矩阵x的转置,入侵检测数据点矩阵x的维度为d*n,其转置矩阵的维度为n*d。OP(B)是聚簇中心矩阵y,其维度为d*k。这样,OP(A)和OP(B)相乘所得结果矩阵的维度为n*k。C是入侵检测数据点矩阵和聚簇中心矩阵的平方和,即x2+y2,其维度为n*k。最后相加得到一个维度为n*k的结果矩阵Z,每一行代表一个网络入侵检测数据点分别与k个聚簇中心的距离;
(5)根据距离计算的结果,寻找每个入侵检测数据点最近的聚簇中心,并把这个数据点归入该聚簇集合。由于部分入侵检测数据点满足全局选择器条件,没有进行距离计算,因此,在完成计算入侵检测数据点所属聚簇的基础上,需要加上这部分数据点所属聚簇,从而获得所有数据点的聚簇中心;
(6)在GPU端按照每个网络入侵检测数据点的所属聚簇标签进行排序和分组,将所有具有同一聚簇标签的数据点归为一组。聚簇标签的排序可以调用CUDA提供的Thrust库中的sort_by_key()排序函数,这个函数可以根据key值进行排序。由于每一个聚簇中心都有一个相应的标签,调用sort_by_key()排序函数时,把数据点所属聚簇的标签作为key值即可。这样,经过sort_by_key()函数排序后,可以根据排序的情况,把具有相同聚簇标签的入侵检测数据点归为一组;
(7)根据排序和分组的结果,计算新的聚簇中心。计算新的聚簇中心时,GPU开启合理的二维线程格和二维线程块,blockDim.y代表二维线程块y方向上的大小,而gridDim.y代表二维线程格y方向的大小,然后为每个线程分配同组内(n-1)/(blockDim.y*gridDim.y)个数据点,计算这些网络入侵检测数据点在threadIdx.x维度上的和,threadIdx.x代表线程块内x方向上的线程号。最后把同组内的入侵检测数据点分别在d个维度上累加求和,根据同组内数据点总数得到每个维度的均值,输出更新之后的聚簇中心;
(8)如果算法迭代次数达到m或k个聚簇中心的距离变化值都小于阈值t,则转步骤(9),否则转步骤(3),继续迭代;
(9)将步骤(8)的计算结果从GPU端拷贝至CPU端,输出k个聚簇中心以及相应的聚簇集合,如果一个聚簇集合的数据量小于总数据量的2%(此值可以根据实际情况设定),则判断该聚簇中的数据为入侵数据,否则为正常数据。
所述步骤(3)采用全局选择器若满足判定条件,则保持该网络入侵检测数据点所属聚簇不变,证明过程如下:
对于一个给定的网络入侵检测数据点x,e(x)代表与该数据点距离最近的聚簇中心,C',c'和e'(x)代表下一轮迭代中与上一轮对应的数据对象,令φ(c)代表d(c,c'),即更新后的中心c'与原中心c的距离偏移量,全局选择器在定义一个网络入侵检测数据点x的所属聚簇中心是否改变时通过一个简单的条件判断。对于每一个数据点x,该算法包含一个全局上界:ue(x)≥d(x,e(x)),一个全局下界:le(x)≤d(x,c),初始化上下界时可以使用x与e(x)的距离作为上界,x与第二近的聚簇中心的距离作为下界。
基于三角不等式的概念,有:
d(x,c')≥d(x,c)-d(c,c')=d(x,c)-φ(c)≥d(x,c)-maxc∈Cφ(c)
≥le(x)-maxc∈Cφ(c)
同样的有:
d(x,e')≤d(x,e)+d(e,e')=d(x,e)+φ(e)≤ue(x)+φ(e)
所以,当满足判定条件时得到:
即d(x,e')≤d(x,c')。因此,当聚簇中心更新之后,数据点x与所属聚簇中心的距离小于所有与其它聚簇中心的距离,由此可以判断数据点x所属聚簇没有变化。
经过每轮迭代之后,本轮聚簇中心与上一轮的聚簇中心对比,进行距离偏移量计算,得到φ(e)和maxc∈Cφ(c),对于没有改变聚簇的入侵检测数据点,下一轮的上界的计算公式为:
ue'(x)=ue(x)+φ(e)
下一轮的下界的计算公式为:
le'(x)=le(x)-maxc∈Cφ(c)
证明结束。
本发明的有益效果在于:(1)本发明解决了聚类算法在网络入检测系统每次迭代过程中的冗余计算问题;(2)充分利用了CUDA的通用矩阵乘函数,提高了距离计算的并行度;(3)按照聚簇标签排序分组的方法,最小化了聚簇中心更新时的原子内存操作,提高了运算速度。
附图说明
附图1本发明方法的流程图。
具体实施方式
下面结合附图进一步说明本发明的技术方案。
本发明的一种基于CUDA的网络入侵检测并行化加速方法,具体的实施步骤如下:
(1)在CPU端初始化n个网络入侵检测数据点的集合R,随机选取k个点作为初始聚簇中心,设置最大迭代次数为m,中心点收敛阈值为t。在GPU端分配网络入侵检测数据点集、聚簇中心、全局上下界以及中心点偏移量的内存空间,将数据拷贝至GPU端;
(2)第一次计算所有入侵检测数据点至k个聚簇中心的距离。具体的计算方法采用步骤(4)的方法进行计算;然后,根据距离计算的结果,把数据点归入距离最近的聚簇中;最后,采用步骤(6)的方法来更新聚簇中心,从而获得全局选择器需要的数据;
(3)对于每一个入侵检测数据点,采用全局选择器判断是否需要进行下一轮迭代。如果入侵检测数据点满足全局选择器判定条件,则转步骤(6)处理,如果不满足,则转步骤(4)处理。全局选择器的判定条件为:
其中,x代表一个网络入侵检测数据点,e代表点x所属聚簇的聚簇中心,ue(x)代表x的全局上界,le(x)代表x的全局下界,φ(e)代表聚簇更新之后聚簇中心e的距离偏移量,C代表所有网络入侵检测聚簇中心的集合,c代表集合中除了e之外的一个聚簇中心,代表聚簇更新之后聚簇中心的最大距离偏移量;
(4)计算所有入侵检测数据点至k个聚簇中心的距离。在GPU端开启n个线程计算入侵检测数据点矩阵x的平方x2,然后开启k个线程计算聚簇中心矩阵y的平方y2,并计算x2+y2;最后,调用CUDA提供的通用矩阵乘函数cublasSgemm()进行距离计算,即计算n个入侵检测数据点至k个聚簇中心的距离。cublasSgemm()函数属于Cublas库,实现的矩阵运算如下:
Z=alpha*OP(A)*OP(B)+beta*C
上述公式中alpha取值为-2,beta取值为1。调用cublasSgemm()函数时,每个数据点的维度为d,公式中OP(A)是n个入侵检测数据点矩阵x的转置,入侵检测数据点矩阵x的维度为d*n,其转置矩阵的维度为n*d。OP(B)是聚簇中心矩阵y,其维度为d*k。这样,OP(A)和OP(B)相乘所得结果矩阵的维度为n*k。C是入侵检测数据点矩阵和聚簇中心矩阵的平方和,即x2+y2,其维度为n*k。最后相加得到一个维度为n*k的结果矩阵Z,每一行代表一个网络入侵检测数据点分别与k个聚簇中心的距离;
(5)根据距离计算的结果,寻找每个入侵检测数据点最近的聚簇中心,并把这个数据点归入该聚簇集合。由于部分入侵检测数据点满足全局选择器条件,没有进行距离计算,因此,在完成计算入侵检测数据点所属聚簇的基础上,需要加上这部分数据点所属聚簇,从而获得所有数据点的聚簇中心;
(6)在GPU端按照每个网络入侵检测数据点的所属聚簇标签进行排序和分组,将所有具有同一聚簇标签的数据点归为一组。聚簇标签的排序可以调用CUDA提供的Thrust库中的sort_by_key()排序函数,这个函数可以根据key值进行排序。由于每一个聚簇中心都有一个相应的标签,调用sort_by_key()排序函数时,把数据点所属聚簇的标签作为key值即可。这样,经过sort_by_key()函数排序后,可以根据排序的情况,把具有相同聚簇标签的入侵检测数据点归为一组;
(7)根据排序和分组的结果,计算新的聚簇中心。计算新的聚簇中心时,GPU开启合理的二维线程格和二维线程块,blockDim.y代表二维线程块y方向上的大小,而gridDim.y代表二维线程格y方向的大小,然后为每个线程分配同组内(n-1)/(blockDim.y*gridDim.y)个数据点,计算这些网络入侵检测数据点在threadIdx.x维度上的和,threadIdx.x代表线程块内x方向上的线程号。最后把同组内的入侵检测数据点分别在d个维度上累加求和,根据同组内数据点总数得到每个维度的均值,输出更新之后的聚簇中心;
(8)如果算法迭代次数达到m或k个聚簇中心的距离变化值都小于阈值t,则转步骤(9),否则转步骤(3),继续迭代;
(9)将步骤(8)的计算结果从GPU端拷贝至CPU端,输出k个聚簇中心以及相应的聚簇集合,如果一个聚簇集合的数据量小于总数据量的2%(此值可以根据实际情况设定),则判断该聚簇中的数据为入侵数据,否则为正常数据。
如附图1,本方法首先在CPU中初始化输入的入侵检测数据点并随机选取k个数据点作为初始的聚簇中心,在GPU端分配内存接收CPU传输过来的数据。然后进行一次入侵检测数据点到聚簇中心的聚类过程,从而初始化全局选择器所需的数据,从第二次迭代开始所有入侵检测数据点先经过全局选择器的判断,不符合条件的数据点继续进行基于通用矩阵乘函数的距离计算,随后寻找每个数据点到聚簇中心的最短距离并将它归为该簇集合。接着将符合全局选择器条件的数据点与经过重新距离计算的数据点合并,通过排序函数将所有入侵检测数据点进行排序和分组,然后开启多线程并行计算各个组内数据,得到新的聚簇中心,并判断本轮迭代后所有聚簇中心的距离改变量是否都小于收敛阈值以及是否达到最大迭代次数,如果满足条件则结束迭代。最后将数据从GPU中拷回CPU端并输出,判断各个聚簇集合的数据量是否小于总数据量的2%,若小于则该聚簇中的数据为入侵数据,否则为正常数据。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (1)

1.一种基于CUDA的网络入侵检测并行化加速方法,包括如下步骤:
(1)在CPU端初始化n个网络入侵检测数据点的集合R,随机选取k个点作为初始聚簇中心,设置最大迭代次数为m,中心点收敛阈值为t;在GPU端分配网络入侵检测数据点集、聚簇中心、全局上下界以及中心点偏移量的内存空间,将数据拷贝至GPU端;
(2)第一次计算所有入侵检测数据点至k个聚簇中心的距离;具体的计算方法采用步骤(4)的方法进行计算;然后,根据距离计算的结果,把数据点归入距离最近的聚簇中;最后,采用步骤(6)的方法来更新聚簇中心,从而获得全局选择器需要的数据;
(3)对于每一个入侵检测数据点,采用全局选择器判断是否需要进行下一轮迭代;如果入侵检测数据点满足全局选择器判定条件,则转步骤(6)处理,如果不满足,则转步骤(4)处理;全局选择器的判定条件为:
其中,x代表一个网络入侵检测数据点,e代表点x所属聚簇的聚簇中心,ue(x)代表x的全局上界,le(x)代表x的全局下界,φ(e)代表聚簇更新之后聚簇中心e的距离偏移量,C代表所有网络入侵检测聚簇中心的集合,c代表集合中除了e之外的一个聚簇中心,代表聚簇更新之后聚簇中心的最大距离偏移量;
(4)计算所有入侵检测数据点至k个聚簇中心的距离;在GPU端开启n个线程计算入侵检测数据点矩阵x的平方x2,然后开启k个线程计算聚簇中心矩阵y的平方y2,并计算x2+y2;最后,调用CUDA提供的通用矩阵乘函数cublasSgemm()进行距离计算,即计算n个入侵检测数据点至k个聚簇中心的距离;
(5)根据距离计算的结果,寻找每个入侵检测数据点最近的聚簇中心,并把这个数据点归入该聚簇集合;由于部分入侵检测数据点满足全局选择器条件,没有进行距离计算,因此,在完成计算入侵检测数据点所属聚簇的基础上,需要加上这部分数据点所属聚簇,从而获得所有数据点的聚簇中心;
(6)在GPU端按照每个网络入侵检测数据点的所属聚簇标签进行排序和分组,将所有具有同一聚簇标签的数据点归为一组;聚簇标签的排序可以调用CUDA提供的Thrust库中的sort_by_key()排序函数,这个函数可以根据key值进行排序。由于每一个聚簇中心都有一个相应的标签,调用sort_by_key()排序函数时,把数据点所属聚簇的标签作为key值即可。这样,经过sort_by_key()函数排序后,可以根据排序的情况,把具有相同聚簇标签的入侵检测数据点归为一组;
(7)根据排序和分组的结果,计算新的聚簇中心;计算新的聚簇中心时,GPU开启合理的二维线程格和二维线程块,blockDim.y代表二维线程块y方向上的大小,而gridDim.y代表二维线程格y方向的大小,然后为每个线程分配同组内(n-1)/(blockDim.y*gridDim.y)个数据点,计算这些网络入侵检测数据点在threadIdx.x维度上的和,threadIdx.x代表线程块内x方向上的线程号;最后把同组内的入侵检测数据点分别在d个维度上累加求和,根据同组内数据点总数得到每个维度的均值,输出更新之后的聚簇中心;
(8)如果算法迭代次数达到m或k个聚簇中心的距离变化值都小于阈值t,则转步骤(9),否则转步骤(3),继续迭代;
(9)将步骤(8)的计算结果从GPU端拷贝至CPU端,输出k个聚簇中心以及相应的聚簇集合,如果一个聚簇集合的数据量小于总数据量的2%,则判断该聚簇中的数据为入侵数据,否则为正常数据。
CN201810366555.6A 2018-04-23 2018-04-23 一种基于cuda的网络入侵检测并行化加速方法 Active CN108647515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810366555.6A CN108647515B (zh) 2018-04-23 2018-04-23 一种基于cuda的网络入侵检测并行化加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810366555.6A CN108647515B (zh) 2018-04-23 2018-04-23 一种基于cuda的网络入侵检测并行化加速方法

Publications (2)

Publication Number Publication Date
CN108647515A true CN108647515A (zh) 2018-10-12
CN108647515B CN108647515B (zh) 2020-07-28

Family

ID=63747292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810366555.6A Active CN108647515B (zh) 2018-04-23 2018-04-23 一种基于cuda的网络入侵检测并行化加速方法

Country Status (1)

Country Link
CN (1) CN108647515B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662641A (zh) * 2012-04-16 2012-09-12 浙江工业大学 一种基于cuda的种子分布数据并行获取方法
CN104378371A (zh) * 2014-11-14 2015-02-25 浙江工业大学 基于MapReduce并行AP聚类的网络入侵检测方法
CN106778812A (zh) * 2016-11-10 2017-05-31 百度在线网络技术(北京)有限公司 聚类实现方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662641A (zh) * 2012-04-16 2012-09-12 浙江工业大学 一种基于cuda的种子分布数据并行获取方法
CN104378371A (zh) * 2014-11-14 2015-02-25 浙江工业大学 基于MapReduce并行AP聚类的网络入侵检测方法
CN106778812A (zh) * 2016-11-10 2017-05-31 百度在线网络技术(北京)有限公司 聚类实现方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VINAY B GAVIRANGASWAMY等: "《CPU-GPU Implementation of Ensemble Clustering Algorithm for Increased Performance》", 《2017 INTERNATIONAL CONFERENCE ON INTELLIGENT COMMUNICATION AND COMPUTATIONAL TECHNIQUES (ICCT)》 *
张艳芳等: "《基于CUDA的数据挖掘KNN算法的改进》", 《济南职业学院学报》 *

Also Published As

Publication number Publication date
CN108647515B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN110046379B (zh) 一种基于空间-频率信息的结构整体损伤识别方法
CN105354595A (zh) 一种鲁棒视觉图像分类方法及系统
CN111915437A (zh) 基于rnn的反洗钱模型的训练方法、装置、设备及介质
CN108491228A (zh) 一种二进制漏洞代码克隆检测方法及系统
CN103559205A (zh) 基于MapReduce的并行特征选择方法
CN102254033A (zh) 基于熵权重的全局k-均值聚类方法
CN110188763A (zh) 一种基于改进图模型的图像显著性检测方法
CN109102008A (zh) 一种基于gpu的雷暴核识别方法
CN108664348A (zh) 一种基于cuda的快速变点检测方法、装置及存储介质
CN109543959A (zh) 审批链生成方法、装置、计算机设备及存储介质
Dong Application of Big Data Mining Technology in Blockchain Computing
CN108647515A (zh) 一种基于cuda的网络入侵检测并行化加速方法
CN111695153A (zh) 一种多叉树森林k-匿名方法、系统、设备和可读存储介质
CN110109811A (zh) 一种面向gpu计算性能问题的溯源方法
CN108764301B (zh) 一种基于反向稀疏表示的混凝土裂缝检测方法
Martinez Villanueva et al. clustcurv: an R package for determining groups in multiple curves
CN107665291A (zh) 一种基于云计算平台Spark的变异检测方法
CN112766320B (zh) 一种分类模型训练方法及计算机设备
CN106547723B (zh) 一种预测稀疏矩阵运算能耗的方法
Alfaro et al. A study on the implementation of tridiagonal systems solvers using a GPU
He et al. Parallel decision tree with application to water quality data analysis
Chen et al. Research on Cache Timing Template Attack Based on KNN Algorithm
Xia et al. Software Module Clustering Using the Hierarchical Clustering Combination Method
Thouti et al. An OpenCL method of parallel sorting algorithms for GPU architecture
Wang et al. Detecting Malware Using Graph Embedding and DNN

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