久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  FPGA初中級(jí)  (http://www.xinguifushi.cn/bbs/list.asp?boardid=25)
----  FPGA是實(shí)現(xiàn)綠色搜索技術(shù)的關(guān)鍵  (http://www.xinguifushi.cn/bbs/dispbbs.asp?boardid=25&id=1512)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-11-19 11:22:18
--  FPGA是實(shí)現(xiàn)綠色搜索技術(shù)的關(guān)鍵
配置文件服務(wù)器根據(jù)從客戶端獲得的配置文件過(guò)濾一系列文檔,并返回分?jǐn)?shù)流。為了評(píng)估性能,我們同時(shí)創(chuàng)建了 C++ 參考實(shí)施和 FPGA 加速實(shí)施方案。兩種版本的實(shí)施方案基本功能相同,都能通過(guò) TCP/IP 接口接收構(gòu)成配置文件的文檔列表,用相關(guān)性模型構(gòu)建配置文件,并根據(jù)該配置文件對(duì)存儲(chǔ)器緩沖的文檔進(jìn)行評(píng)分,從而通過(guò) TCP/IP 向客戶端返回文檔分?jǐn)?shù)流。可在存儲(chǔ)器中緩沖文檔流,否則會(huì)由于緩慢的磁盤(pán)存取影響應(yīng)用的性能。

  我們?cè)诰哂袃蓚(gè) RC100 刀片的 SGI AlTIx 4700 設(shè)備上實(shí)施該應(yīng)用,其中的每個(gè)刀片都包含兩個(gè)運(yùn)行頻率為 100 MHz 的賽靈思 Virtex?-4 LX200 FPGA;每個(gè) FPGA 都通過(guò) SGI NUMAlink 高速I(mǎi)/O 接口連接到主機(jī)平臺(tái),并能通過(guò)最高速度為每秒 16GB 的 128 位數(shù)據(jù)總線存取本地 64MB 的SRAM 存儲(chǔ)庫(kù)。主機(jī)系統(tǒng)是一套 80 個(gè)內(nèi)核的 64 位 NUMA 設(shè)備,運(yùn)行性能為 64 位 Linux (OpenSuSE)。處理器為雙核 Itanium-2,運(yùn)行頻率為 1.6 GHz,其中每個(gè)處理器都能直接存取 4GB 的存儲(chǔ)器,而且能通過(guò) NUMAlink 存取完整的 320GB 存儲(chǔ)器空間。值得注意的是,Itanium 處理器功耗約為 130 瓦特 [7],而每個(gè) Virtex-4 FPGA 的功耗僅約 1.25 W [8]。

在 FPGA=

  圖 2 —— 在 FPGA 子系統(tǒng)架構(gòu)中,Virtex-4 器件通過(guò) SGI 的 NUMAlink 接口與主機(jī)平臺(tái)連接。

  對(duì)于 C++ 語(yǔ)言應(yīng)用而言,我們實(shí)施 Lemur 信息檢索 (IR) 框架,對(duì)于與 FPGA 應(yīng)用的交互,我們則使用 SGI 可配置專(zhuān)用計(jì)算 (RASC) 庫(kù)。Lemur Toolkit(詳情訪問(wèn) www.lemurproject.org)是一套開(kāi)源工具集,專(zhuān)為 IR 研究而精心設(shè)計(jì),可支持索引以及多種相關(guān)性和檢索模型。RASC 庫(kù)是 SGI的專(zhuān)有解決方案,能夠通過(guò)高性能 NUMAlink 互連機(jī)制將 FPGA 與主機(jī)系統(tǒng)相集成。RASC 庫(kù)定義的硬件抽象 API 可控制系統(tǒng)中的所有硬件元素。

  我們用 Mitrionics 軟件開(kāi)發(fā)工具套件 (SDK) 將特定域的 Mitrion-C 語(yǔ)言轉(zhuǎn)換為 VHDL。生成的VHDL 現(xiàn)在能夠方便地指向 FPGA 器件架構(gòu)。我們采用帶 XST 合成工具的賽靈思 ISE? 工具鏈來(lái)創(chuàng)建 Virtex-4 比特流。

  高級(jí) FPGA 編程

  Mitrionics SDK 可提供 Mitrion-C 作為高級(jí)語(yǔ)言,專(zhuān)用于滿足在 FPGA 上快速開(kāi)發(fā)應(yīng)用之需。不過(guò),作為后綴的 C 有些誤導(dǎo)作用。盡管這種語(yǔ)言采用了 C 風(fēng)格的語(yǔ)法,但實(shí)際上是一種遵循函數(shù)編程風(fēng)格的單賦值數(shù)據(jù)流語(yǔ)言。Mitrion-C 原生支持廣泛(矢量)而深入(管道)的并行功能,因而非常適用于處理數(shù)據(jù)流的算法,例如過(guò)濾以及其他眾多類(lèi)型的文本和數(shù)據(jù)挖掘算法等。

  Mitrion-C 還提供了一種流數(shù)據(jù)類(lèi)型,可配合 foreach looping 構(gòu)造實(shí)現(xiàn)流水線操作;此外,還提供矢量數(shù)據(jù)類(lèi)型以支持?jǐn)?shù)據(jù)并行工作,以及支持順序列表的列表數(shù)據(jù)類(lèi)型。具體而言,用戶可過(guò)濾foreach loop 的流輸出,生成較小的流,如以下 Mitrion-C 代碼示例所示。此外,程序人員還能用元組結(jié)構(gòu) (tuple construct) 創(chuàng)建功能強(qiáng)大的數(shù)據(jù)類(lèi)型。最后還有一個(gè)需要指出的特性是,該語(yǔ)言能支持可變寬度整數(shù)和浮點(diǎn)數(shù)。

代碼

  為了在 FPGA 上高效實(shí)施評(píng)分操作,我們必須解決的關(guān)鍵問(wèn)題是高效查詢配置文件以及文檔流的高效 I/O 流。

  對(duì)于文檔中的每個(gè)詞,應(yīng)用都要查詢配置文件中相應(yīng)的詞并獲得詞加權(quán) (term weight)。由于大多數(shù)查詢都找不到結(jié)果(即大多數(shù)文檔的大多數(shù)詞不會(huì)出現(xiàn)在配置文件中),因此必須首先丟棄否定詞。鑒于此,我們?cè)?FPGA Block RAM 中采用了 Bloom 過(guò)濾器 [9]。BRAM 的內(nèi)部帶寬越高,拒絕否定詞的結(jié)果就越快。由于需要查詢,因此配置文件必須作為某種散列函數(shù)進(jìn)行實(shí)施。不過(guò),由于配置文件的大小不能提前知道,因而我們不可能構(gòu)建出完美的散列函數(shù)。不完美的散列函數(shù)會(huì)出現(xiàn)沖突問(wèn)題,進(jìn)而降低性能。

  為了解決這一問(wèn)題,我們采用了分檔方案,即將外部 SRAM 分區(qū)為 bin,每個(gè) bin 都可包含固定數(shù)量的配置文件詞。Bin 的大小決定了可處理的沖突數(shù)。如需給 bin 分配配置文件詞,只需將詞 ID 的較下部分作為存儲(chǔ)器地址,從而避免了實(shí)際的散列操作。


主站蜘蛛池模板: 一区二区三区在线免费观看视频 | 岛国午夜精品视频在线观看 | 99香蕉网 | 久久久久国产成人精品亚洲午夜 | 亚洲国产欧美在线人成 | 亚洲一区二区视频 | 9久久99久久久精品齐齐综合色圆 | 欧美成人做性视频在线播放 | 日本一区二区三区在线 视频观看免费 | 亚洲国产精品日韩高清秒播 | 97视频久久 | 欧美专区一区 | 亚洲看片网站 | 在线免费观看国产 | 日本人一级毛片免费视频 | 成a人片亚洲日本久久 | 最新国产精品好看的国产精品 | 日韩 国产 欧美 精品 在线 | 黄色在线不卡 | 免费 成年人 | 亚洲欧美成人 | 成人做爰免费网站 | 精品毛片 | 亚洲精品久久九九热 | 国产欧美日本在线 | 欧美专区一区二区三区 | 97超级碰碰碰免费公开在线观看 | 成人国产网站v片免费观看 成人国产午夜在线视频 | 精品极品三级久久久久 | 国产成人综合一区精品 | 草草影院ccyycom浮力影院 | 99久9在线视频 | 国产亚洲亚洲精品777 | 中文一区二区在线观看 | 美国一级视频 | 精品综合久久久久久88小说 | 欧美在线观看高清一二三区 | 精品国产一区二区三区在线 | 欧美成人aaaa免费高清 | 亚洲天堂一区在线 | 日韩精品一区二区三区视频 |