亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

利用XeonPhi協(xié)處理器提升布隆濾波器處理性能的系統(tǒng)及方法

文檔序號:8922376閱讀:620來源:國知局
利用Xeon Phi協(xié)處理器提升布隆濾波器處理性能的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于多核/眾核性能優(yōu)化技術(shù)領(lǐng)域,更具體地,涉及一種利用Xeon Phi協(xié)處理器提升布隆濾波器處理性能的系統(tǒng)及方法。
【背景技術(shù)】
[0002]布隆濾波器(Bloom Filter)是一種空間效率高的隨機數(shù)據(jù)結(jié)構(gòu),由Burton Bloom于1970年提出,其使用一個位向量表示一個集合,將單個元素使用k個相互獨立的Hash函數(shù)映射到該位向量中。插入一個元素時,將這k個映射在該位向量上的位置都置為I ;查找一個元素時,判斷這k個位置是否都為I即可。這種數(shù)據(jù)結(jié)構(gòu)能夠在很短的時間內(nèi)判斷需查詢的元素是否存在于集合內(nèi)。相較于其他數(shù)據(jù)結(jié)構(gòu)例如搜索樹、Hash表等查找效率和空間效率均隨元素增加而不斷降低的特性,布隆濾波器的查找效率與元素個數(shù)無關(guān),并且空間占用往往只有傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)的1/8?1/4。但高效的查找效率和空間效率帶來的問題是存在誤報率(False Positive rate),當查詢結(jié)果為真時,結(jié)果有一定幾率是錯誤的;但當查詢結(jié)果為否時,結(jié)果一定是正確的。
[0003]布隆濾波器廣泛應(yīng)用于海量數(shù)據(jù)處理、沖突檢測、網(wǎng)絡(luò)路由等領(lǐng)域,其任務(wù)處理的吞吐量對于這類高性能計算應(yīng)用尤為重要,對布隆濾波器性能的優(yōu)化能夠至少為相關(guān)應(yīng)用帶來10%的性能提升。目前使用多核、眾核、異構(gòu)體系結(jié)構(gòu)進行高性能的計算是一種趨勢,理解并使用這些新型體系結(jié)構(gòu)對傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)的優(yōu)化是一個巨大挑戰(zhàn)。
[0004]Xeon Phi是Intel公司在2012年推出的基于x86架構(gòu)的高并發(fā)協(xié)處理器(ManyIntegrated Core, MIC),其第二代產(chǎn)品Knight Corner最多包括61個x86核心,每個核心都配備一個長度為512bit的單指令多數(shù)據(jù)流(Single Instruct1n Multiple Data, SIMD)向量處理器,支持32個單精度和16個雙精度的浮點數(shù)同時運算,擁有較強的計算性能。由于核心數(shù)量的增多而采用了更為復(fù)雜的體系結(jié)構(gòu)和內(nèi)存系統(tǒng),一方面,使其在處理同步通信操作較多的應(yīng)用時效率不高。而目前常采用的并行處理布隆濾波器的方法大多使用了同步操作來保證結(jié)果的正確性,所以盡管眾核協(xié)處理器相對于多核處理器能夠支持更多線程的同時執(zhí)行,但一旦單個線程進入了布隆濾波器的臨界區(qū)后,更多的線程會處于等待狀態(tài),而不能夠發(fā)揮全部的性能;另一方面,由于布隆濾波器中每個Hash函數(shù)的獨立性,對于每個物理線程而言,訪存的特點存在隨機性,不能夠有效利用到Cache的局部性,并且與其他物理線程的Cache存在著一致性問題,為了維護緩存的一致性帶來了更多的開銷,導(dǎo)致整體訪存效率偏低。

【發(fā)明內(nèi)容】

[0005]針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供一種利用Xeon Phi協(xié)處理器提升布隆濾波器處理性能的系統(tǒng)及方法,旨在提升系統(tǒng)整體處理布隆濾波器任務(wù)的吞吐量,并降低現(xiàn)有方法中占大部分處理時間的同步操作開銷和訪存時間。
[0006]為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供一種利用Xeon Phi協(xié)處理器提升布隆濾波器處理性能的系統(tǒng),包括宿主端和協(xié)處理器端,其中:
[0007]所述宿主端包括性能采樣模塊、任務(wù)調(diào)度模塊、第一通信模塊和第一任務(wù)處理模塊,其中:
[0008]所述性能采樣模塊用于周期性地測試所述宿主端和所述協(xié)處理器端的性能,并按照其處理能力分別設(shè)定任務(wù)分配比例;
[0009]所述任務(wù)調(diào)度模塊用于根據(jù)所述任務(wù)分配比例將任務(wù)交付到所述宿主端和所述協(xié)處理器端的各個物理線程進行處理,并在運行過程中動態(tài)調(diào)整所述宿主端和所述協(xié)處理器端的負載;
[0010]所述第一通信模塊用于管理所述宿主端與所述協(xié)處理器端之間的通信任務(wù),并為所述宿主端維護一個雙緩沖隊列;
[0011]所述第一任務(wù)處理模塊用于從所述任務(wù)調(diào)度模塊獲取任務(wù),根據(jù)任務(wù)的類型進行處理,并在所述任務(wù)處理結(jié)束后直接將結(jié)果寫入文件;
[0012]所述協(xié)處理器端包括第二通信模塊和第二任務(wù)處理模塊,其中:
[0013]所述第二通信模塊用于管理所述協(xié)處理器端與所述宿主端之間的通信任務(wù),并為所述協(xié)處理器端維護一個雙緩沖隊列;
[0014]所述第二任務(wù)處理模塊用于從所述第二通信模塊獲取任務(wù),根據(jù)任務(wù)的類型進行處理,并在所述任務(wù)處理結(jié)束后會將結(jié)果發(fā)送到所述第二通信模塊,以傳回所述宿主端寫入文件。
[0015]根據(jù)本發(fā)明的另一方面,提供一種利用Xeon Phi協(xié)處理器提升布隆濾波器處理性能的方法,包括以下步驟:
[0016]步驟I周期性地獲取宿主端和協(xié)處理器端的處理能力的比例;
[0017]步驟2對所述宿主端和所述協(xié)處理器端的物理線程進行負載均衡操作,包括以下子步驟:
[0018](2-1)根據(jù)現(xiàn)有負載構(gòu)造任務(wù)-線程映射表,計算出目前所述宿主端和所述協(xié)處理器端的每個物理線程所計算的任務(wù)個數(shù)Ti,并計算所有線程的總和SumT和所述協(xié)處理器線程任務(wù)個數(shù)總和SumC ;
[0019](2-2)找到所有運行在所述協(xié)處理器端的線程編號滿足Tj/SumC>4XSumC/NumCT的線程j,并在所述宿主端找到一個滿足Ti/SumC〈 = 2XSumC/NumCT的線程i,其中NumCT表示所述協(xié)處理器端的線程個數(shù),若不存在則取最小值Ti/SumC的線程i,交換所述任務(wù)-線程映射表中線程i和線程j的子向量對應(yīng)的項;
[0020](2-3)將線程i對應(yīng)的子向量和線程i與線程j交換子向量的信息發(fā)送到所述協(xié)處理器端的輸入緩沖隊列,若所述輸入緩沖隊列為滿,則向所述協(xié)處理器端發(fā)送一個隊列滿的信號并進入等待狀態(tài),直至所述協(xié)處理器端返回輸入緩沖隊列可寫的信息時,再將線程i對應(yīng)的子向量和線程i與線程j交換子向量的信息發(fā)送到所述輸入緩沖隊列;
[0021](2-4)等待所述協(xié)處理器端發(fā)送替換線程j對應(yīng)的子向量的內(nèi)容到達接收隊列,獲得后將所述協(xié)處理器端線程j對應(yīng)的子向量替換所述宿主端線程i對應(yīng)子向量的內(nèi)容;
[0022]步驟3將待處理的任務(wù)交付至所述宿主端或所述協(xié)處理器端進行處理,若所述待處理的任務(wù)交付至所述宿主端則執(zhí)行步驟4,否則執(zhí)行步驟5 ;
[0023]步驟4所述宿主端的每個物理線程從所屬的任務(wù)隊列中獲取任務(wù),令取出任務(wù)的數(shù)量X等于宿主端所支持的向量計算長度/Hash函數(shù)運算的字長,使用SMD指令同時計算X個任務(wù)的Hash函數(shù),并將操作在子向量上獲得的結(jié)果寫入到文件中;
[0024]步驟5將交付至所述協(xié)處理器端的任務(wù)發(fā)送至所述協(xié)處理器端進行處理;
[0025]步驟6所述協(xié)處理器端從對應(yīng)的任務(wù)隊列中獲取任務(wù),令取出任務(wù)的數(shù)量X等于所述協(xié)處理器端所支持的向量計算長度/Hash函數(shù)運算的字長,使用SMD指令同時計算X個任務(wù)的Hash函數(shù),并將操作在子向量上獲得的結(jié)果回傳到所述宿主端;
[0026]步驟7所述宿主端接收所述協(xié)處理器端回傳的結(jié)果,并回寫到文件。
[0027]總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效果:
[0028]1、獲取宿主端與協(xié)處理器端處理一定數(shù)量布隆濾波器任務(wù)的時間比例,獲取
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1