波多在线播放_激情深爱五月_久久欧美精品_成人超碰_国产久_www.pixiv.moe

以文本方式查看主題

-  曙海教育集團論壇  (http://www.022-oo.cn/bbs/index.asp)
--  FPGA初中級  (http://www.022-oo.cn/bbs/list.asp?boardid=25)
----  FPGA是實現綠色搜索技術的關鍵  (http://www.022-oo.cn/bbs/dispbbs.asp?boardid=25&id=1512)

--  作者:wangxinxin
--  發布時間:2010-11-19 11:22:18
--  FPGA是實現綠色搜索技術的關鍵
配置文件服務器根據從客戶端獲得的配置文件過濾一系列文檔,并返回分數流。為了評估性能,我們同時創建了 C++ 參考實施和 FPGA 加速實施方案。兩種版本的實施方案基本功能相同,都能通過 TCP/IP 接口接收構成配置文件的文檔列表,用相關性模型構建配置文件,并根據該配置文件對存儲器緩沖的文檔進行評分,從而通過 TCP/IP 向客戶端返回文檔分數流?稍诖鎯ζ髦芯彌_文檔流,否則會由于緩慢的磁盤存取影響應用的性能。

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

在 FPGA=

  圖 2 —— 在 FPGA 子系統架構中,Virtex-4 器件通過 SGI 的 NUMAlink 接口與主機平臺連接。

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

  我們用 Mitrionics 軟件開發工具套件 (SDK) 將特定域的 Mitrion-C 語言轉換為 VHDL。生成的VHDL 現在能夠方便地指向 FPGA 器件架構。我們采用帶 XST 合成工具的賽靈思 ISE? 工具鏈來創建 Virtex-4 比特流。

  高級 FPGA 編程

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

  Mitrion-C 還提供了一種流數據類型,可配合 foreach looping 構造實現流水線操作;此外,還提供矢量數據類型以支持數據并行工作,以及支持順序列表的列表數據類型。具體而言,用戶可過濾foreach loop 的流輸出,生成較小的流,如以下 Mitrion-C 代碼示例所示。此外,程序人員還能用元組結構 (tuple construct) 創建功能強大的數據類型。最后還有一個需要指出的特性是,該語言能支持可變寬度整數和浮點數。

代碼

  為了在 FPGA 上高效實施評分操作,我們必須解決的關鍵問題是高效查詢配置文件以及文檔流的高效 I/O 流。

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

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


主站蜘蛛池模板: 欧美精品在线观看视频 | 欧美一区二区在线观看 | 男女在线免费视频 | 青青热在线观看视频精品 | 日韩在线精品视频 | 午夜在线免费观看视频 | 新超碰97 | 国产精品13页 | 国产精品三级在线 | 欧美性生活视频 | 国产羞羞视频免费在线观看 | 免费亚洲网站 | 色噜噜噜噜噜在线观看网站 | 成人免费在线视频网站 | 一卡二卡三免费乱码 | 欧美日韩一区二区在线视频 | 久久国产精品99久久小说 | 亚州一区二区三区 | 91精品国产综合久久福利软件 | 奇米影视8888狠狠狠狠 | 久久精品男人的天堂 | 成人免费毛片aaaaaa片 | 五月丁香综合啪啪成人小说 | 国产成人一区二区 | 国产精品一区二555 欧美在线免费 | 久久亚洲网 | 久久亚洲这里只有精品18 | 欧美日韩视频在线第一区 | 四虎影视在线看免费完整版 | 亚洲国产成人九九综合 | 超碰97av 在线人人操 | 日本一区二区三区免费观看 | 亚洲成av| 久99视频 | 91麻豆精品一二三区在线 | 中文字幕欧美在线 | 国产福利不卡视频在免费播放 | 青草草在线观看免费视频 | www国产| 黄视频网站在线看 | 国产精品久久久久9999高清 |