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

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

Info

Publication number
CN103543989A
CN103543989A CN201310555838.2A CN201310555838A CN103543989A CN 103543989 A CN103543989 A CN 103543989A CN 201310555838 A CN201310555838 A CN 201310555838A CN 103543989 A CN103543989 A CN 103543989A
Authority
CN
China
Prior art keywords
data
characteristic
gpu
length
feature extraction
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.)
Pending
Application number
CN201310555838.2A
Other languages
English (en)
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.)
ZHENJIANG ZHONGAN COMMUNICATION TECHNOLOGY Co Ltd
Original Assignee
ZHENJIANG ZHONGAN COMMUNICATION 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 ZHENJIANG ZHONGAN COMMUNICATION TECHNOLOGY Co Ltd filed Critical ZHENJIANG ZHONGAN COMMUNICATION TECHNOLOGY Co Ltd
Priority to CN201310555838.2A priority Critical patent/CN103543989A/zh
Publication of CN103543989A publication Critical patent/CN103543989A/zh
Pending legal-status Critical Current

Links

Images

Abstract

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

Description

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

Claims (9)

1.一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:该处理方法包含以下步骤:
步骤1:在处理大数据时,根据硬件自身处理能力和特征数据的长度,主机将特征提取任务分为N(N≥1)个子任务执行,每个子任务对来自大数据中的任务数据并行执行一定长度的特征提取;
步骤2:在GPU上为任务数据分配存储空间,并将其传递至GPU中;
步骤3:将子任务所需的部分特征数据传递至GPU中,根据所要处理的任务数据和该部分特征数据,并行构建一个具有良好并行性的矩阵数组;
步骤4:通过采用并行处理矩阵数组的方式,对矩阵数组进行多线程并发执行特征匹配,并将此结果返回给主机,释放GPU中无用的内存空间;
步骤5:重复步骤3、4,直到完成该任务数据对第N个子任务中部分特征数据的匹配;
步骤6:主机将根据特征数据采样所允许的一定的容错率,处理上述N部分返回结果,得出符合要求的特征提取结果。
2.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:该处理方法是基于CPU+GPU异步体系结构,即由CPU完成串行工作,控制主程序的流程;GPU使用CUDA编程架构,实现数据特征提取的并行计算。
3.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤1所述的GPU硬件自身处理能力,是指每个子任务进行一定长度的特征提取时,此部分特征数据和任务数据形成的矩阵数组大小必须在GPU的硬件处理能力范围内。
4.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤2所述的在GPU上为任务数据分配存储空间,是指在GPU的全局存储器中为任务数据分配空间,并将任务数据从主机CPU存储器中传递至设备GPU的全局存储器中;步骤3所述的将本次子任务所需的部分特征数据传递至GPU中是指将此特征数据传递至GPU的常量存储器中,使用GPU的常量内存参与并行运算,可以减少程序运行时不断读取特征数据的次数,进一步提高计算速度。
5.根据权利要求1所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤3所述的并行构建一个具有良好并行性的矩阵数组,是把任务数据和子任务特征数据的每个字符依次进行并行匹配,形成一个有效的“01”矩阵数组,该有效“01”矩阵数组,是根据任务数据长度STRLEN和第i个子任务中特征数据的长度KEY[i](1≤i≤N),将任务数据和特征数据的每个字符依次进行并行匹配,相同则记为“1”,不同则记为“0”,形成一个KEY[i]*STRLEN的“01”矩阵数组。
6.根据权利要求1和5所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤4所述的并行处理矩阵数组,是对步骤3中得到的KEY[i]*STRLEN的“01”矩阵数组,依次并行处理(STRLEN-KEY[i]+1)个KEY[i]*KEY[i]的小数组矩阵,将每个小数组矩阵对角线上的数值相加,并将其和值依次写入一个长度为STRLEN的一维数组中。
7.根据权利要求1和6所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤4所述的将匹配结果返回给主机,是指将保存并行处理矩阵数组结果的长度为STRLEN的一维数组,从设备GPU存储器传递回主机CPU存储器中,此一维数组将被存储在一个二维数组sum[N][STRLEN]的第i行,该二维数组将记录所有子任务的返回结果,然后,将GPU设备中用于并行计算的内存空间释放,以便进行下一个子任务特征数据的提取。
8.根据权利要求1和7所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:步骤6所述的主机将根据数据采样所允许的一定的容错率,处理N部分返回结果,得出符合要求的特征提取结果,是待N个子任务的特征数据处理全部完成并返回结果后,将二维数组sum每行对应的数据相加,得出(STRLEN-KEYLEN+1)个KEYLEN*KEYLEN(KEYLEN为特征数据的总长度)矩阵数组对角线的累加结果total,根据系统容错性能的设置,若其容错率为x%,当total≥(1-x%)*KEYLEN时,则认定此次特征提取成功,记录成功匹配一次。
9.根据权利要求8所述的一种面向大数据的针对可变长度特征提取的自适应并行处理方法,其特征在于:所述的将二维数组sum每行对应的数据相加,得出(STRLEN-KEYLEN+1)个KEYLEN*KEYLEN矩阵数组对角线的累加结果total,需要考虑各行偏移量的大小,若特征数据分为N个子任务处理,前N-1个子任务均处理m位特征数据,第N个子任务处理s位数据特征(1≤s≤m),则第k个KEYLEN*KEYLEN矩阵数组的对角线累加结果total的求和公式为:sum[1][k]+sum[2][1*m+k]+sum[3][2*m+k]+……+ sum[N][(N-1)*m+k]。
CN201310555838.2A 2013-11-11 2013-11-11 一种面向大数据的针对可变长度特征提取的自适应并行处理方法 Pending CN103543989A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310555838.2A CN103543989A (zh) 2013-11-11 2013-11-11 一种面向大数据的针对可变长度特征提取的自适应并行处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310555838.2A CN103543989A (zh) 2013-11-11 2013-11-11 一种面向大数据的针对可变长度特征提取的自适应并行处理方法

Publications (1)

Publication Number Publication Date
CN103543989A true CN103543989A (zh) 2014-01-29

Family

ID=49967474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310555838.2A Pending CN103543989A (zh) 2013-11-11 2013-11-11 一种面向大数据的针对可变长度特征提取的自适应并行处理方法

Country Status (1)

Country Link
CN (1) CN103543989A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296129A (zh) * 2016-08-16 2017-01-04 天脉聚源(北京)传媒科技有限公司 一种状态标识方法及装置
CN106528054A (zh) * 2016-11-03 2017-03-22 东南大学 Gpu加速的稠密向量加法计算方法
CN107392212A (zh) * 2017-07-19 2017-11-24 上海电机学院 一种图像信息快速识别方法
CN109408450A (zh) * 2018-09-27 2019-03-01 中兴飞流信息科技有限公司 一种数据处理的方法、系统、协处理装置和主处理装置
CN109445854A (zh) * 2018-10-31 2019-03-08 中科驭数(北京)科技有限公司 数据传输方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622272A (zh) * 2012-01-18 2012-08-01 北京华迪宏图信息技术有限公司 基于集群和并行技术的海量卫星数据处理系统及处理方法
CN102662642A (zh) * 2012-04-20 2012-09-12 浪潮电子信息产业股份有限公司 一种基于嵌套滑动窗口和遗传算法的并行处理方法
US20130104141A1 (en) * 2010-03-31 2013-04-25 Eberhard Boehl Divided central data processing,

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130104141A1 (en) * 2010-03-31 2013-04-25 Eberhard Boehl Divided central data processing,
CN102622272A (zh) * 2012-01-18 2012-08-01 北京华迪宏图信息技术有限公司 基于集群和并行技术的海量卫星数据处理系统及处理方法
CN102662642A (zh) * 2012-04-20 2012-09-12 浪潮电子信息产业股份有限公司 一种基于嵌套滑动窗口和遗传算法的并行处理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296129A (zh) * 2016-08-16 2017-01-04 天脉聚源(北京)传媒科技有限公司 一种状态标识方法及装置
CN106528054A (zh) * 2016-11-03 2017-03-22 东南大学 Gpu加速的稠密向量加法计算方法
CN107392212A (zh) * 2017-07-19 2017-11-24 上海电机学院 一种图像信息快速识别方法
CN109408450A (zh) * 2018-09-27 2019-03-01 中兴飞流信息科技有限公司 一种数据处理的方法、系统、协处理装置和主处理装置
CN109408450B (zh) * 2018-09-27 2021-03-30 中兴飞流信息科技有限公司 一种数据处理的方法、系统、协处理装置和主处理装置
CN109445854A (zh) * 2018-10-31 2019-03-08 中科驭数(北京)科技有限公司 数据传输方法及装置

Similar Documents

Publication Publication Date Title
US8463820B2 (en) System and method for memory bandwidth friendly sorting on multi-core architectures
CN103559020B (zh) 一种dna读序数据fastq文件并行压缩和解压缩方法
EP2254048B1 (en) Thread mapping in multi-core processors
CN103049241B (zh) 一种提高cpu+gpu异构装置计算性能的方法
CN103543989A (zh) 一种面向大数据的针对可变长度特征提取的自适应并行处理方法
US9477465B2 (en) Arithmetic processing apparatus, control method of arithmetic processing apparatus, and a computer-readable storage medium storing a control program for controlling an arithmetic processing apparatus
US8762655B2 (en) Optimizing output vector data generation using a formatted matrix data structure
JP2020091933A (ja) Pimを採用する半導体メモリ装置及びその動作方法
CN1914597A (zh) 处理单元的动态加载和卸载
CN111078394B (zh) 一种gpu线程负载均衡方法与装置
CN104317770A (zh) 用于众核处理系统的数据存储结构及数据访问方法
CN103729239A (zh) 一种镜像元数据的分布式锁算法
CN102810133B (zh) 网络游戏中的射线查询方法和场景服务器
CN103970714B (zh) 用于共享功能逻辑的设备和方法及其可重配置处理器
CN104504303B (zh) 基于cpu+gpu异构系统的序列比对方法
Cong et al. Smem++: A pipelined and time-multiplexed smem seeding accelerator for genome sequencing
CN114610472A (zh) 异构计算中多进程管理方法及计算设备
CN103577160A (zh) 一种面向大数据的特征提取并行处理方法
CN110515872B (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN116069480B (zh) 一种处理器及计算设备
CN102375801A (zh) 一种多核处理器存储系统装置及方法
CN110502337B (zh) 针对Hadoop MapReduce中混洗阶段的优化系统
EP4163795A1 (en) Techniques for core-specific metrics collection
US20110247018A1 (en) API For Launching Work On a Processor
CN202217274U (zh) 一种多核处理器存储系统装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140129