[发明专利]一种基于图形处理器并行计算的频繁子图挖掘方法有效
| 申请号: | 201310503214.6 | 申请日: | 2013-10-23 |
| 公开(公告)号: | CN103559016A | 公开(公告)日: | 2014-02-05 |
| 发明(设计)人: | 杨书新;谭伟;徐彬 | 申请(专利权)人: | 江西理工大学 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
| 代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
| 地址: | 341000 江西省赣州市*** | 国省代码: | 江西;36 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 图形 处理器 并行 计算 频繁 挖掘 方法 | ||
技术领域
本发明涉及一种基于图形处理器并行计算的频繁子图挖掘方法,以提高图数据挖掘效率。
背景技术
随着数据挖掘领域的不断深入和发展,图数据挖掘越来越受到研究人员的关注,因此图挖掘已经成为数据挖掘和机器学习的新的研究方向。该研究在现实生活中的许多领域都具有巨大的潜在价值,如生物信息学中的蛋白质结构分析、基因组识别,社会网络中实体间的联系,Web分析中Web内容挖掘、Web链接结构分析,文本信息检索等。
目前国内外对图数据挖掘的研究工作主要可分为以下四类:1、图的匹配研究;2、图数据中的关键字查询研究;3、频繁子图挖掘问题研究;4、图的聚类及分类问题研究。频繁子图挖掘作为图数据挖掘领域中的一个重要研究方向,现已存在诸如AGM(Apriori based Graph Mining)、FSG(Frequent Subgraph Discovery)、gSpan、CloseGraph等经典算法及其改进算法。随着大数据时代的来临,以上算法作为串行算法,让处理器的计算工作量变得非常庞大,使得整个图数据挖掘过程变得“捉襟见肘”,挖掘性能受到一定的抑制。
在单CPU处理器环境下,一般的频繁子图挖掘方法在通过给定的图数据库中找出支持度大于min_sup最小支持度的频繁边,再对频繁边做频繁子图扩展,得到生成图集,最后通过同构验证去除同构的频繁子图结构,得到图数据库中的所有频繁项集。对于这种传统挖掘方法存在几个弊端:其一,挖掘过程需要进行复杂的同构验证,而子图同构问题其实是NP完全问题,其计算复杂且运算量大;其二,挖掘过程中,将进行大量的重复计算,浪费资源;其三,由于数据量庞大,单CPU处理器平台负载过大,CPU内部存储单元不够使用。
图形处理器GPU(Graphics Processing Units)是一种集成了几何变换、光照、三角形构造、裁剪和绘制引擎等功能,并具有每秒至少1千万个多边形的处理能力的单芯片处理器,且具有天然的并行特性。GPU体系结构一般由流处理器阵列和存储器系统两部分组成,其中流处理器阵列又包含若干个线程处理群(Thread Processing Cluster,TPC),每个TPC中包含有2-3个流多处理器(Streaming Multiprocessor,SM),而每个流多处理器又包含8个流处理器(Streaming Processor,SP),流处理器是用来处理各个线程及线程块运算。因此,GPU是以大量线程实现面向大数据量的并行计算,适合处理计算密度高、逻辑分支简单的大规模数据并行负载。
针对GPU通用计算(General-Purpose computing on the GPU,GPGPU),nVIDIA公司推出了一个全新的软硬件平台----统一计算机设备架构(Compute Unified Device Architecture)。CUDA可以直接对GPU进行设备管理和并行计算的架构平台,其编程语言是针对GPGPU的C/C++语言,而不需要考虑在图形环境下API的实现方法。
发明内容
本发明的目的在于突破单处理器环境下频繁子图挖掘的瓶颈,提供一种可行、有效的图挖掘方法,使得在密集型大数据环境下的图挖掘性能得到优化,提高图挖掘效率,为科研分析、市场研究等提供快速、可靠的数据信息,实现在CUDA统一计算设备架构上的并行挖掘方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于图形处理器并行计算的频繁子图挖掘方法,通过GPU划分出各个线程块block,将频繁边均匀分配给不同的线程进行并行处理,通过最右扩展rightmost得到不同的扩展子图,将最后各个线程得到的图挖掘数据集返回给每个线程块block;最后,通过GPU与内存进行数据通信,将结果返回给CPU进行处理。
所述的频繁子图挖掘方法,频繁子图扩展在GPU中的并行过程如下所述:
步骤1:计算图集中所有标号图的边的支持度,根据最小支持度min_sup确定频繁图的片段,将输入图集合中所有的频繁边加入集合rank_edge[]中,并以rank_edge[]中的频繁边作为初始子图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江西理工大学,未经江西理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310503214.6/2.html,转载请声明来源钻瓜专利网。





