[發(fā)明專利]基于FPGA的FP?Growth算法的改進(jìn)方法及裝置在審
| 申請?zhí)枺?/td> | 201710088020.2 | 申請日: | 2017-02-19 |
| 公開(公告)號: | CN106874479A | 公開(公告)日: | 2017-06-20 |
| 發(fā)明(設(shè)計)人: | 曹芳;陳繼承;王洪偉 | 申請(專利權(quán))人: | 鄭州云海信息技術(shù)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 鄭州大通專利商標(biāo)代理有限公司41111 | 代理人: | 陳勇 |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 fpga fp growth 算法 改進(jìn) 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及機器學(xué)習(xí)算法處理領(lǐng)域,尤其涉及基于FPGA的FP-Growth算法的改進(jìn)方法及裝置。
背景技術(shù)
基于Spark平臺的FP-Growth算法采用MapReduce分布式計算模型、立足于內(nèi)存計算,實現(xiàn)了該算法的并行化,在一定程度上提升了該算法的挖掘效率;然而隨著大數(shù)據(jù)時代的到來,科學(xué)和工程計算領(lǐng)域的數(shù)據(jù)量急劇增長,計算復(fù)雜度不斷增加,給基于Spark平臺的FP-Growth算法的計算性能帶來了極大挑戰(zhàn)。由于單節(jié)點處理能力有限,Spark通過擴展集群節(jié)點規(guī)模來實現(xiàn)算法性能的提升;而這種集群擴展不僅使得系統(tǒng)成本和能耗快速增加,而且使得集群網(wǎng)絡(luò)復(fù)雜度和節(jié)點間的數(shù)據(jù)傳輸開銷急劇上升,降低了集群擴展帶來的計算性能增益。如何才能解決上述問題,增強單節(jié)點處理能力、進(jìn)而減少計算集群快速擴張帶來的網(wǎng)絡(luò)傳輸開銷,最終實現(xiàn)FP-Growth算法的性能提升成為亟待解決的熱點問題。
發(fā)明內(nèi)容
本發(fā)明提供的基于FPGA的FP-Growth算法的改進(jìn)方法及裝置,克服了現(xiàn)有技術(shù)中存在的不足,顯著的提升了FP-Growth算法的計算性能。
為了達(dá)到上述目的,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
本發(fā)明提供一種基于FPGA的FP-Growth算法的改進(jìn)方法,包括以下步驟:
掃描Spark集群中的數(shù)據(jù)庫,獲取頻繁項集;
將頻繁項集進(jìn)行分組;
為Spark集群中的每個節(jié)點加配一塊FPGA板卡;
在FPGA板卡上對每一組的頻繁項集建FP樹;
在FPGA板卡上對每一組建的FP樹進(jìn)行遞歸挖掘;
將每一組遞歸挖掘的結(jié)果進(jìn)行合并。
進(jìn)一步地,將頻繁項集進(jìn)行分組,包括:
將其按頻繁1-項集順序遞減排列;
根據(jù)數(shù)據(jù)庫的大小確定分組個數(shù),按照預(yù)先設(shè)定的分組規(guī)則將其分為若干組。
進(jìn)一步地,在FPGA板卡對每一組建FP樹,包括:
建立一個根節(jié)點為NULL的FP樹和一個存儲節(jié)點信息的Tab表;
將頻繁項表中的每條處理好的事務(wù)中的數(shù)據(jù)項按降序依次插入到FP樹中,構(gòu)建出FP樹的一條路徑;
在上述的插入過程中,同時用Tab的指針指向?qū)?yīng)項的節(jié)點,并將每個節(jié)點的計數(shù)增加1。
進(jìn)一步地,在FPGA板卡對每一組建的FP樹進(jìn)行遞歸挖掘,包括:
A:從Tab表的尾部的項開始向上遍歷FP樹,每次遍歷得到該項的條件模式基;
B:將其條件模式基轉(zhuǎn)化為條件FP樹;
C:迭代重復(fù)步驟A步驟B,直到FP樹包含一個元素項為止。
進(jìn)一步地,將每一組遞歸挖掘的結(jié)果進(jìn)行合并,包括:
將每一棵條件FP樹生成所有的從根節(jié)點到葉子節(jié)點的路徑,由路徑中的集合生成其所有的非空子集。
基于上述的任一項一種基于FPGA的FP-Growth算法的改進(jìn)方法的一種基于FPGA的FP-Growth算法的改進(jìn)裝置,包括:
獲取模塊,用于掃描Spark集群中的數(shù)據(jù)庫,獲取頻繁項集;
分組模塊,用于將頻繁項集進(jìn)行分組;
板卡模塊,用于為Spark集群中的每個節(jié)點加配一塊FPGA板卡;
建樹模塊,用于在FPGA板卡上對每一組的頻繁項集建FP樹;
挖掘樹模塊,用于在FPGA板卡上對每一組建的FP樹進(jìn)行遞歸挖掘;
結(jié)果模塊,用于將每一組遞歸挖掘的結(jié)果進(jìn)行合并。
本發(fā)明所提供的一種基于FPGA的FP-Growth算法的改進(jìn)方法,具有如下優(yōu)點:
1.本發(fā)明通過在原有Spark集群的基礎(chǔ)上加配FPGA,為每個集群節(jié)點增加一塊FPGA板卡,由于FPGA板卡具有高性能、低功耗、易編程、動態(tài)可重構(gòu)等突出優(yōu)勢,是一種新型的異構(gòu)計算加速器件,將FPGA板卡與原有節(jié)點組成新的Spark集群節(jié)點服務(wù)于整個Spark集群,來提高集群單節(jié)點的計算能力,同時保留了Spark集群自身的并行計算框架,有效提高了大數(shù)據(jù)環(huán)境下FP-Growth算法的整體性能,且FPGA作為加速設(shè)備與CPU相配合形成異構(gòu)計算平臺,能夠有效的提升Spark集群的綜合性能;
2.本發(fā)明將FPGA與Spark相結(jié)合,將算法中最耗時、計算量最大的建樹與挖掘樹部分從Spark源碼中抽離并在FPGA上開發(fā)實現(xiàn)并優(yōu)化,而算法的其他部分如數(shù)據(jù)分組、挖掘結(jié)果綜合等計算量較小的部分仍按照Spark原有機制運行,充分發(fā)揮二者優(yōu)勢,并在此基礎(chǔ)上對FP-Growth算法進(jìn)行優(yōu)化改進(jìn),有效的提升FP-Growth算法的計算性能。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于鄭州云海信息技術(shù)有限公司,未經(jīng)鄭州云海信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710088020.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- VEGF受體融合蛋白在制備治療伴隨VEGF升高的炎癥反應(yīng)的藥物中的應(yīng)用
- VEGF受體融合蛋白在制備抑制眼表新生血管生長的藥物中的應(yīng)用
- VEGF受體融合蛋白在制備治療膿毒癥藥物中的應(yīng)用
- 圖案或FP的特征值作成方法、作成程序以及作成裝置
- 圖案的評價方法、多成分物質(zhì)的評價方法、評價程序以及評價裝置
- 建立控制通道的方法、轉(zhuǎn)發(fā)設(shè)備和控制設(shè)備
- 雙舍入組合浮點乘法和加法
- 一種基于浮點像素數(shù)據(jù)的圖像Alpha混合方法
- 使用浮點乘法-累加結(jié)果的模糊-J位位置
- 集成側(cè)向調(diào)制器的FP激光器
- 用于治療急性腎臟損傷的醫(yī)藥組合物
- 基于FPGA的FP?Growth算法的改進(jìn)方法及裝置
- 基于FP?Growth算法的隧道交通事故關(guān)聯(lián)規(guī)則算法
- 一種融合FP-growth算法和Slope-One算法的混合推薦模型
- 類器官培養(yǎng)用細(xì)胞培養(yǎng)基、培養(yǎng)方法及類器官
- 一種基于FP-Growth算法的試題知識點分析方法
- 基于FP-Growth算法的火電機組運行優(yōu)化目標(biāo)值確定方法
- 首飾(Growth)
- 類器官培養(yǎng)用細(xì)胞培養(yǎng)基、培養(yǎng)方法及類器官
- 類器官培養(yǎng)用細(xì)胞培養(yǎng)基、培養(yǎng)方法及類器官





