FPGA 是實(shí)現綠色搜索技術(shù)的關(guān)鍵
無(wú)論為數以百萬(wàn)計的用戶(hù)搜索請求提供服務(wù)還是處理超大量的信息,都需要數量龐大的計算資源,進(jìn)而消耗大量能源。事實(shí)上,用于計算與冷卻的能耗費用是數據中心運營(yíng)的最大成本 [1]。隨著(zhù)數據中心的數量和規模不斷增長(cháng),如果其能耗保持當前水平的話(huà),那么預計數據中心的二氧化碳排放量到 2020 年將超過(guò)航空公司 [2]。因而亟需開(kāi)發(fā)能夠處理巨量數據的低能耗解決方案。數據中心的環(huán)?;l(fā)展是互利共贏(yíng)的,服務(wù)供應商不僅能夠顯著(zhù)降低運營(yíng)成本,同時(shí)還能最大限度減少對環(huán)境的影響。
本文引用地址:http://dyxdggzs.com/article/191536.htmFPGA 在加速 Web 搜索及類(lèi)似信息檢索等常見(jiàn)數據中心工作任務(wù)方面擁有巨大的潛力,因為它具備固有的并行處理與低功耗優(yōu)勢。充分認識到這一潛力的奧地利公司 Matrixware 購買(mǎi)了 FPGA 平臺,但缺乏自身實(shí)施復雜信息檢索應用的技術(shù),因而公司聘請了我們聯(lián)合格拉斯哥大學(xué) (University of Glasgow) 計算機系組建的團隊開(kāi)發(fā) FPGA 加速型專(zhuān)利搜索解決方案的概念驗證方案。該團隊成員包括三名設計人員和兼職助理研究員 Stelios Papanastasious,他們在信息檢索、FPGA 以及系統開(kāi)發(fā)領(lǐng)域積累了豐富的專(zhuān)業(yè)知識,形成了一個(gè)開(kāi)發(fā)原型應用所不可或缺的技能嫻熟的組合。經(jīng)討論,大家一致同意采用 FPGA 加速型后端進(jìn)行實(shí)時(shí)專(zhuān)利過(guò)濾應用的開(kāi)發(fā)。
項目資源在人力和時(shí)間方面受到很大制約。因此,采用 HDL 實(shí)施過(guò)濾算法不可行,因而我們決定采用瑞典公司 Mitrionics 開(kāi)發(fā)的高級編程解決方案。
原型應用在去年 11 月于奧地利維也納舉行的信息檢索設施研討會(huì ) (Information Retrieval Facility Symposium) 上引起了專(zhuān)利研究人員的極大興趣。處理數以百萬(wàn)份的專(zhuān)利通常需要幾分鐘,但若采用 FPGA 加速型后端,幾秒鐘就能反饋結果。
我們在 2009 年 7 月舉行的 ACM SIGIR 國際信息檢索研究暨開(kāi)發(fā)大會(huì ) (ACM SIGIR International Conference on Information Retrieval Research and Development) 上發(fā)布了結果,介紹了相關(guān)的性能提升情況 [3],并在 FPL 2009 國際現場(chǎng)可編程邏輯大會(huì )上對架構設計進(jìn)行了詳細闡述 [4]。
文檔過(guò)濾的輸入與輸出
通常情況下,信息過(guò)濾任務(wù)是指檢查傳送進(jìn)來(lái)的文檔是否與一系列既定的需求信息或配置文件相匹配 [5]。這種任務(wù)可在多種情況下出于多種原因而進(jìn)行,例如,檢測傳送進(jìn)入的電子郵件是不是垃圾郵件,比較專(zhuān)利申請是否與現有專(zhuān)利發(fā)生重疊,監控是否存在恐怖活動(dòng)通信,監測并跟蹤新聞報道,等等。面對大量涌入的文檔,處理工作必須實(shí)時(shí)完成,從而確保時(shí)效性成為重中之重。鑒于此,我們的目標就是采用 FPGA 來(lái)實(shí)施完成計算強度最大的過(guò)濾應用,從而在節約時(shí)間和降低能耗的情況下提高文檔過(guò)濾的效率。
在本文中,我們將采用 Lavrenko 和 Croft 提出的相關(guān)性模型 [6]。這一理念適用于信息過(guò)濾任務(wù),可通過(guò)生成概率語(yǔ)言模型確定傳入文檔是否與主題配置文件存在差異。如果文檔得分超過(guò)用戶(hù)定義的閾值,那么就視為與主題配置文件相關(guān)。
在 FPGA 上實(shí)施的算法表達如下:文檔可以建模為一個(gè)“詞袋”,即由(t,f )對組成的 D 集,其中 f=n(t,d),t 表示 t 這個(gè)詞在文檔 d 中出現的次數。配置文件 M 為一組對 p=(t,w),這里的 w 加權為:
給定文檔對于給定配置文件的得分計算為:
這里,T 是指在 D 和 M 中都出現的詞。該函數是大多數過(guò)濾算法的代表性?xún)群怂惴?,不同算法的主要區別在于配置文件中詞的加權。
應用架構
文檔過(guò)濾應用采用客戶(hù)端—服務(wù)器架構,其構成形式為將基于 GUI 的客戶(hù)端通過(guò) TCP/IP 連接到通信服務(wù)器,該服務(wù)器可作為不同后端服務(wù)器和客戶(hù)端之間的代理(參見(jiàn)圖 1)。在典型的使用案例中,用戶(hù)首先向查詢(xún)服務(wù)器發(fā)出請求,常規搜索系統會(huì )返回選中排序列表。用戶(hù)隨后通過(guò)從該表中選擇相關(guān)文檔創(chuàng )建配置文件。接下來(lái),配置文件服務(wù)器使用所有合并文檔的完整文本構建配置文件(即詞和加權列表)。配置文件服務(wù)器將該配置文件與完整的文檔集合進(jìn)行匹配,并向客戶(hù)端返回分數流。
模塊化的客戶(hù)端—服務(wù)器架構有助于建立系統基準,因為我們可以在主機 CPU 上方便地添加配置文件服務(wù)器的 C++ 參考實(shí)施。如圖 1 所示,應用由 FPGA 加速的部分受限于計算強度最大的任務(wù),也就是文檔與配置文件的匹配。主機系統則負責處理所有其他的任務(wù)(參見(jiàn)圖 2)。
圖 1 —— 系統架構以可作為客戶(hù)端與后端服務(wù)器之間代理的通信服務(wù)器為中心。
評論