一种面向大数据的针对可变长度特征提取的自适应并行处理方法技术

技术编号:9618123 阅读:122 留言:0更新日期:2014-01-30 05:51
本发明专利技术公开了一种面向大数据的针对可变长度特征提取的自适应并行处理方法,该方法是针对可变长度的特征数据,采用基于CUDA的架构,利用GPU并行计算能力对大数据进行处理。在处理大数据时,根据自身硬件特性和特征数据的长度,自适应的采用可并行化的矩阵数组处理方式,对数据进行多线程并发执行处理,从而加快特征提取的速度。本发明专利技术所采用的自适应调整是根据硬件自身的处理能力和特征数据的长度,分批对数据进行处理,每次进行一定长度的特征提取,并记录匹配结果;等待整个特征提取完成后,根据数据采样所允许的容错率,再处理所有匹配结果,最后得出符合要求的特征提取结果。该方法利用矩阵数组具有的良好可并行性,针对可变长度的特征提取,能够有效、充分地将数据处理并行化,特别适用于具有一定容错性的大数据快速特征提取。

An adaptive parallel processing method for large data oriented variable length feature extraction

The invention discloses a variable length feature extraction based on adaptive parallel processing method for large data sets, the method is in accordance with the characteristics of variable length data, using CUDA architecture based on GPU, using the parallel computing capabilities for large data processing. In data processing, according to their own hardware characteristics and features of the length of the data, using the adaptive parallel matrix array processing manner, the data processing is executed multiple threads, thus speeding up the speed of feature extraction. Adaptive adjustment of the present invention is adopted according to the processing capacity of the hardware itself and the characteristics of the length of the data, batch data processing, feature extraction of each length, and record matching results; wait for the entire feature extraction is completed, according to the fault data sampling permitted rate, then all the matching results, finally obtained to meet the requirements of the feature extraction results. The good method using matrix array with the parallel, according to the characteristics of variable length extraction, can effectively and fully parallel data processing, especially suitable for fast feature large data fault-tolerant extraction.

【技术实现步骤摘要】

本专利技术属于大数据处理
,涉及一种特征提取的方法,更具体是涉及。技术背景 随着大数据时代的来临,如何快速处理大数据,并提取出有效信息已经成为IT行业前沿性的研究热点。当前,特征提取技术在图像处理、模式识别和网络入侵检测等方面的运用越来越广泛,尤其在大数据环境下,对可变长度特征提取的灵活性及效率已经成为制约快速处理数据能力的瓶颈。根据对现有专利资料的检索,目前对大数据进行特征提取的方法主要有两个方面:一方面是提高CPU核数量或建立分布式集群系统等;另一方面是利用GPU来处理固定长度的特征数据且没有容错性。但由于CPU核的数量有限、建立分布式集群系统成本较高、而利用GPU的处理还受到硬件能力的制约,局限于只能处理固定长度的特征数据,所以对大数据环境下特征提取的处理方法和能力仍有待于进一步创新和提高。
技术实现思路
本专利技术的目的是针对大数据环境下,计算机对数据的特征提取主要依靠CPU来串行完成、利用GPU对数据的特征提取局限于只能处理固定长度的两方面现状,提出,使得计算机对特征提取的处理能力更强、灵活性更好且具有一定的容错性。为了实现上述目的,本专利技术解决上述问题的技术方案是,该方法根据自身硬件特性和特征数据的长度,自适应的采用可并行化的矩阵数组处理方式,分批对特征数据进行处理,每次进行一定长度的特征提取,并行构建一个具有良好并行性的矩阵数组,对数据进行多线程并发执行处理,并记录匹配结果;等待整个特征提取完成后,根据数据采样所允许的容错率,再处理所有匹配结果,最后得出符合要求的特征提取结果。根据上述的技术方案,本专利技术采用并行处理的方法是基于CPU+GPU异步体系结构,即由CPU完成串行工作,控制主程序的流程;GPU使用CUDA编程架构,实现数据特征提取的并行计算。上述的针对可变长度特征提取的自适应并行处理方法,在处理大数据时,根据硬件自身处理能力和特征数据的长度,主机将特征提取任务分为N (N^ I)个子任务执行,根据每部分特征数据和所要处理的来自大数据的任务数据,并行构建一个具有良好并行性的矩阵数组,该矩阵数组大小必须在GPU处理能力范围内,每个子任务并行执行一定长度的特征提取。上述的并行处理方法是基于CPU+GPU异步体系结构的,即在GPU上为任务数据分配存储空间,并将任务数据从主机CPU存储器中传递至设备GPU的全局存储器中。然后将本次子任务所需的特征数据传递至GPU的常量存储器中,常量存储器的访问限制为只读,在第一次从常量存储器的某个地址上读取特征数据后,当其他线程请求同一个地址时,将直接从缓存中读取特征数据。使用GPU的常量内存参与并行运算,可以减少程序运行时不断读取特征数据的次数,从而节省时间,进一步提高计算速度。上述的并行构建一个具有良好并行性的矩阵数组,即把任务数据和子任务中特征数据的每个字符依次进行并行匹配,形成一个有效的“01”矩阵数组。即根据任务数据长度STRLEN和第i个子任务中特征数据的长度KEY[i] (I ≤ i ≤ N),将任务数据和特征数据的每个字符依次进行并行匹配,相同则记为“1”,不同则记为“0”,形成一个KEY[i]*STRLEN的“01”矩阵数组。上述的并行处理矩阵数组,对数据进行多线程并发执行特征匹配,即对上述并行匹配得到的KEY[i]*STRLEN的“01”矩阵数组,依次并行处理(STRLEN_KEY[i]+l)个KEY[i]*KEY[i]的小数组矩阵,将每个小数组矩阵对角线上的数值相加,并将其和值依次写入一个长度为STRLEN的一维数组中。上述的将匹配结果返回给主机,即把保存并行处理矩阵数组结果的长度为STRLEN的一维数组,从设备GPU存储器传递回主机CPU存储器中。此一维数组将被存储在一个二维数组sum[N] [STRLEN]的第i行,该二维数组将记录所有子任务的返回结果。然后,将GPU设备中用于并行计算的内存空间释放,以便进行下一个子任务特征数据的提取。根据主机对特征数据的划分,重复以上GPU的并行计算和数据传送部分,直到完成第N个子任务中部分特征数据的匹配。上述的处理所有部分的匹配结果,即等待N个子任务的特征数据处理全部完成并返回结果后,将二维数组sum每行对应的数据相加,得出(STRLEN-KEYLEN+1)个KEYLEN*KEYLEN (KEYLEN为特征数据的总长度)矩阵数组对角线的累加结果total。上述的将二维数组sum每行对应的数据相加,得出(STRLEN-KEYLEN+1)个KEYLEN*KEYLEN矩阵数组对角线的累加结果total,需要考虑各行偏移量的大小。若特征数据分为N个子任务处理,前N-1个子任务均处理m位特征数据,第N个子任务处理s位数据特征(I ≤ s ≤ m),则第k个KEYLEN*KEYLEN矩阵数组的对角线累加结果total的求和公式为:sum[l][k]+sum[2][l*m+k]+sum[3][2*m+k]+......+ sum[N][(N_l)*m+k]。上述的数据采样所允许的一定的容错率,即指根据系统容错性能的设置,若其容错率为X%,当total≥(1-X%)*KEYLEN时,贝U认定此次特征提取成功,记录成功匹配一次。以此为标准,最终得出所有符合要求的特征提取结果。【附图说明】附图1为本专利技术中针对可变长度的特征数据进行任务划分的结构示意图。附图2为本专利技术中基于CPU+GPU异步体系结构的总体程序流程图。附图3为本专利技术中每个子任务在GPU中进行并行计算的流程图。附图4为本专利技术中任务数据匹配每一部分特征数据中字符的结构示意图。附图5为本专利技术中利用划分数组的方法,并行处理每个子任务中“01”矩阵数组的结构示意图。附图6为本专利技术中汇总处理所有子任务的运算结果并得出最终特征提取结果的流程图。【具体实施方式】下面结合附图对本专利技术的内容作进一步的详细介绍。1.本专利技术中涉及的的总体流程是:根据自身硬件特性和特征数据的长度,自适应的采用可并行化的矩阵数组处理方式,把待提取的特征数据分为N个部分(参见附图1 ),分批对数据进行处理,每次进行一定长度的特征提取,根据每部分特征数据和所要处理的来自大数据的任务数据,并行构建一个具有良好并行性的矩阵数组,对数据进行多线程并发执行处理,并记录匹配结果;等待整个特征提取完成后,根据数据采样所允许的容错率,再处理所有匹配结果,最后得出符合要求的特征提取结果。(参见附图2)。2.设置系统的容错率为x%。3.根据自身硬件特性和特征数据的长度,把待提取的特征数据分为N个部分,分批对数据进行处理,将特征提取流程划分成N个子任务。其中前N-1个部分中,每部分均有m位特征数据,最后第N部分中有s位特征数据(参见附图1 )。4.在GPU上分配存储空间,并将任务数据传递至GPU的全局存储器(GlobalMemory)中(参见附图2)。5.从第I部分的特征数据开始处理,在GPU中执行每个子任务的流程如下(参见附图3): (1)将本次子任务所需的特征数据传递至GPU的常量存储器(ConstantMemory)中(参见附图2); (2)根据任务数据长度STRLEN和第i个子任务中特征数据的长度KEY[i](l< i ^ N),将任务数据和特征数据的每个字符依次进行并行匹配本文档来自技高网...

【技术保护点】
一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:该处理方法包含以下步骤:步骤1:在处理大数据时,根据硬件自身处理能力和特征数据的长度,主机将特征提取任务分为N(N≥1)个子任务执行,每个子任务对来自大数据中的任务数据并行执行一定长度的特征提取;步骤2:在GPU上为任务数据分配存储空间,并将其传递至GPU中;步骤3:将子任务所需的部分特征数据传递至GPU中,根据所要处理的任务数据和该部分特征数据,并行构建一个具有良好并行性的矩阵数组;步骤4:通过采用并行处理矩阵数组的方式,对矩阵数组进行多线程并发执行特征匹配,并将此结果返回给主机,释放GPU中无用的内存空间;步骤5:重复步骤3、4,直到完成该任务数据对第N个子任务中部分特征数据的匹配;步骤6:主机将根据特征数据采样所允许的一定的容错率,处理上述N部分返回结果,得出符合要求的特征提取结果。

【技术特征摘要】
1.一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:该处理方法包含以下步骤: 步骤1:在处理大数据时,根据硬件自身处理能力和特征数据的长度,主机将特征提取任务分为N (N ^ I)个子任务执行,每个子任务对来自大数据中的任务数据并行执行一定长度的特征提取; 步骤2:在GPU上为任务数据分配存储空间,并将其传递至GPU中; 步骤3:将子任务所需的部分特征数据传递至GPU中,根据所要处理的任务数据和该部分特征数据,并行构建一个具有良好并行性的矩阵数组; 步骤4:通过采用并行处理矩阵数组的方式,对矩阵数组进行多线程并发执行特征匹配,并将此结果返回给主机,释放GPU中无用的内存空间; 步骤5:重复步骤3、4,直到完成该任务数据对第N个子任务中部分特征数据的匹配; 步骤6:主机将根据特征数据采样所允许的一定的容错率,处理上述N部分返回结果,得出符合要求的特征提取结果。2.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:该处理方法是基于CPU+GPU异步体系结构,即由CPU完成串行工作,控制主程序的流程;GPU使用CUDA编程架构,实现数据特征提取的并行计算。3.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤I所 述的GPU硬件自身处理能力,是指每个子任务进行一定长度的特征提取时,此部分特征数据和任务数据形成的矩阵数组大小必须在GPU的硬件处理能力范围内。4.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤2所述的在GPU上为任务数据分配存储空间,是指在GPU的全局存储器中为任务数据分配空间,并将任务数据从主机CPU存储器中传递至设备GPU的全局存储器中;步骤3所述的将本次子任务所需的部分特征数据传递至GPU中是指将此特征数据传递至GPU的常量存储器中,使用GPU的常量内存参与并行运算,可以减少程序运行时不断读取特征数据的次数,进一步提高计算速度。5.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤3所述的并行构建一个具有良好并行性的矩阵数组,是把任务数据和子任务特征数据的每个字符依次进行并行匹配,形成一个有效的“01”矩阵数组,该有效“01”矩阵数组,是根据任务数据长度STRLEN和第i个子任务中特征数据的长度KEY[i](l^i^ N),将任务数据和...

【专利技术属性】
技术研发人员:刘镇焦弘杰吕超邢红兵
申请(专利权)人:镇江中安通信科技有限公司
类型:发明
国别省市:

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

1