[发明专利]基于FPGA的FP‑Growth算法的改进方法及装置在审
申请号: | 201710088020.2 | 申请日: | 2017-02-19 |
公开(公告)号: | CN106874479A | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 曹芳;陈继承;王洪伟 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 郑州大通专利商标代理有限公司41111 | 代理人: | 陈勇 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga fp growth 算法 改进 方法 装置 | ||
技术领域
本发明涉及机器学习算法处理领域,尤其涉及基于FPGA的FP-Growth算法的改进方法及装置。
背景技术
基于Spark平台的FP-Growth算法采用MapReduce分布式计算模型、立足于内存计算,实现了该算法的并行化,在一定程度上提升了该算法的挖掘效率;然而随着大数据时代的到来,科学和工程计算领域的数据量急剧增长,计算复杂度不断增加,给基于Spark平台的FP-Growth算法的计算性能带来了极大挑战。由于单节点处理能力有限,Spark通过扩展集群节点规模来实现算法性能的提升;而这种集群扩展不仅使得系统成本和能耗快速增加,而且使得集群网络复杂度和节点间的数据传输开销急剧上升,降低了集群扩展带来的计算性能增益。如何才能解决上述问题,增强单节点处理能力、进而减少计算集群快速扩张带来的网络传输开销,最终实现FP-Growth算法的性能提升成为亟待解决的热点问题。
发明内容
本发明提供的基于FPGA的FP-Growth算法的改进方法及装置,克服了现有技术中存在的不足,显著的提升了FP-Growth算法的计算性能。
为了达到上述目的,本发明是通过以下技术方案实现的:
本发明提供一种基于FPGA的FP-Growth算法的改进方法,包括以下步骤:
扫描Spark集群中的数据库,获取频繁项集;
将频繁项集进行分组;
为Spark集群中的每个节点加配一块FPGA板卡;
在FPGA板卡上对每一组的频繁项集建FP树;
在FPGA板卡上对每一组建的FP树进行递归挖掘;
将每一组递归挖掘的结果进行合并。
进一步地,将频繁项集进行分组,包括:
将其按频繁1-项集顺序递减排列;
根据数据库的大小确定分组个数,按照预先设定的分组规则将其分为若干组。
进一步地,在FPGA板卡对每一组建FP树,包括:
建立一个根节点为NULL的FP树和一个存储节点信息的Tab表;
将频繁项表中的每条处理好的事务中的数据项按降序依次插入到FP树中,构建出FP树的一条路径;
在上述的插入过程中,同时用Tab的指针指向对应项的节点,并将每个节点的计数增加1。
进一步地,在FPGA板卡对每一组建的FP树进行递归挖掘,包括:
A:从Tab表的尾部的项开始向上遍历FP树,每次遍历得到该项的条件模式基;
B:将其条件模式基转化为条件FP树;
C:迭代重复步骤A步骤B,直到FP树包含一个元素项为止。
进一步地,将每一组递归挖掘的结果进行合并,包括:
将每一棵条件FP树生成所有的从根节点到叶子节点的路径,由路径中的集合生成其所有的非空子集。
基于上述的任一项一种基于FPGA的FP-Growth算法的改进方法的一种基于FPGA的FP-Growth算法的改进装置,包括:
获取模块,用于扫描Spark集群中的数据库,获取频繁项集;
分组模块,用于将频繁项集进行分组;
板卡模块,用于为Spark集群中的每个节点加配一块FPGA板卡;
建树模块,用于在FPGA板卡上对每一组的频繁项集建FP树;
挖掘树模块,用于在FPGA板卡上对每一组建的FP树进行递归挖掘;
结果模块,用于将每一组递归挖掘的结果进行合并。
本发明所提供的一种基于FPGA的FP-Growth算法的改进方法,具有如下优点:
1.本发明通过在原有Spark集群的基础上加配FPGA,为每个集群节点增加一块FPGA板卡,由于FPGA板卡具有高性能、低功耗、易编程、动态可重构等突出优势,是一种新型的异构计算加速器件,将FPGA板卡与原有节点组成新的Spark集群节点服务于整个Spark集群,来提高集群单节点的计算能力,同时保留了Spark集群自身的并行计算框架,有效提高了大数据环境下FP-Growth算法的整体性能,且FPGA作为加速设备与CPU相配合形成异构计算平台,能够有效的提升Spark集群的综合性能;
2.本发明将FPGA与Spark相结合,将算法中最耗时、计算量最大的建树与挖掘树部分从Spark源码中抽离并在FPGA上开发实现并优化,而算法的其他部分如数据分组、挖掘结果综合等计算量较小的部分仍按照Spark原有机制运行,充分发挥二者优势,并在此基础上对FP-Growth算法进行优化改进,有效的提升FP-Growth算法的计算性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710088020.2/2.html,转载请声明来源钻瓜专利网。