• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    GBLHT:一種GPU加速的批量插入線性哈希表*

    2012-03-15 08:43:12黃玉龍奚建清張平健方曉霖劉勇
    關(guān)鍵詞:數(shù)組批量哈希

    黃玉龍 奚建清 張平健 方曉霖 劉勇

    (1.華南理工大學(xué)計算機(jī)科學(xué)與工程學(xué)院,廣東廣州510006;2.華南理工大學(xué)軟件學(xué)院,廣東廣州510006)

    近年來,利用GPU強(qiáng)大的并行計算吞吐量加速通用計算[1]已成為并行計算領(lǐng)域的發(fā)展趨勢.與CPU相比,GPU無論在計算性能還是存儲器帶寬方面都具有明顯優(yōu)勢[2],從而成為大規(guī)模并行應(yīng)用的首選.CUDA[3]是NVIDIA開發(fā)的一種編程架構(gòu),它允許編程人員方便地開發(fā)基于GPU的并行程序.目前,在數(shù)據(jù)庫領(lǐng)域,越來越多的研究人員利用GPU加速排序、聚集、關(guān)系連接等操作[1],取得了很好的效果.

    隨著大規(guī)模數(shù)據(jù)駐留在內(nèi)存,使用GPU加速內(nèi)存數(shù)據(jù)檢索受到了越來越多的關(guān)注[4].在傳統(tǒng)內(nèi)存索引結(jié)構(gòu)中,線性哈希表是一種非常有效的結(jié)構(gòu)[5-7],它在實(shí)現(xiàn)快速存取以及檢索的同時,可以優(yōu)雅地擴(kuò)展存儲空間.為改善其操作性能,Ellis[8]、陳虎等[9-10]分別提出了基于加鎖協(xié)議的并發(fā)方法以及基于多核CPU的批量插入方法.然而,這些方法都沒有利用當(dāng)前GPU強(qiáng)大的并行計算吞吐量,且需要通過加鎖來避免互斥.Jason以及Alcantara等[11-12]研究了如何利用GPU來快速構(gòu)建靜態(tài)哈希表,但是這些方法都不支持記錄的增量插入.為此,文中在原有批量插入方法的基礎(chǔ)上,使用atomicAdd[3]函數(shù)設(shè)計了一種基于 GPU的無鎖批量插入線性哈希表GBLHT,從而可以充分利用GPU強(qiáng)大的并行計算吞吐量來加速線性哈希表的記錄插入過程.

    1 相關(guān)研究工作

    1.1 傳統(tǒng)的串行插入方法

    線性哈希是由Litwin[5]在1980年提出的,其插入過程的主要思想為:隨著不斷地將索引記錄插入線性哈希表,如分裂條件滿足,則按預(yù)定的順序分裂桶,從而實(shí)現(xiàn)存儲空間的優(yōu)雅擴(kuò)充.詳細(xì)的插入過程描述為:設(shè)線性哈希表初始由N個桶組成,對應(yīng)的地址分別為0,1,…,N-1;在此,使用地址空間C來表示線性哈希表的桶地址.給定鍵值為c的記錄,使用哈希函數(shù)h0(c)將記錄插入線性哈希表;當(dāng)分裂條件滿足時,首先創(chuàng)建一個地址為N的桶并且將該桶添加到線性哈希表的末尾.然后,使用哈希函數(shù)h1(c)將第0號桶中記錄重新分配到第0號桶以及第N號桶;在此過程中,約有一半記錄遷移到新桶.下次分裂時,使用上述過程將第1號桶的記錄分裂到第1號桶以及第N+1號桶;依此類推,直到第N-1號桶也完成分裂為止.自此,線性哈希表實(shí)現(xiàn)了一次完整擴(kuò)展,即地址空間C從[0,N-1]擴(kuò)充為[0,2N-1].下一輪分裂時,使用2N代替N、h1替代h0、h2替代h1,重復(fù)上述過程.插入過程中,如果記錄溢出,則使用拉鏈法處理,相關(guān)桶之間就形成了一條桶鏈.插入過程使用的哈希函數(shù)定義如下:

    為了實(shí)現(xiàn)上述過程,需使用分裂層次變量Level以及指向待分裂桶的指針變量p(0<=p<N·2Level)來追蹤線性哈希表的當(dāng)前狀態(tài).當(dāng)線性哈希表分裂一個桶時,這些變量更新如下:

    給定一個鍵值為c的記錄,當(dāng)前插入地址的計算方法如下:

    目前,線性哈希表的分裂主要有非受控以及受控兩種控制模式.在受控模式中,只有裝填因子K超過給定閾值時才需要進(jìn)行分裂.裝填因子K的計算公式為

    其中,x是線性哈希表存儲的記錄數(shù),b為桶的容量,M為當(dāng)前的主桶數(shù)量.文中設(shè)計的方案主要是基于受控模式.

    1.2 現(xiàn)有的并行處理方法

    為增強(qiáng)線性哈希的操作性能,Ellis提出了一種并發(fā)處理方法[8].通過添加封鎖協(xié)議以及擴(kuò)展相關(guān)數(shù)據(jù)結(jié)構(gòu),該方法可以對線性哈希表的插入、查詢以及刪除等操作進(jìn)行并發(fā)處理.然而,該方法沒有利用多核CPU的強(qiáng)大性能,不能對記錄進(jìn)行批量處理.為此,陳虎等[9-10]提出了一種并行化批量插入方法,主要思想為:與傳統(tǒng)串行插入方法相比,不是立刻將單條記錄插入線性哈希文件,而是在內(nèi)存中開辟一塊緩沖區(qū)保存待插入記錄,直到記錄的數(shù)量達(dá)到設(shè)定的閾值,才批量插入線性哈希文件.在此,為了解決插入過程中產(chǎn)生的互斥問題,需要對緩沖區(qū)加鎖.相比傳統(tǒng)串行方法,該方法具有一定的優(yōu)勢,但也存在如下不足:(1)分裂過程使用單線程執(zhí)行,沒有充分利用多核CPU的強(qiáng)大性能;(2)緩沖區(qū)管理復(fù)雜;(3)沒有利用GPU強(qiáng)大的并行吞吐量.為了利用當(dāng)前GPU強(qiáng)大的并行吞吐量,Jason以及Alcantara等[11-12]研究了如何利用GPU來快速構(gòu)建靜態(tài)哈希表,然而,由于這些方法不支持記錄的增量插入,不能用于索引記錄規(guī)模未知的情形.

    2 GBLHT:GPU加速的批量線性哈希表

    由于CUDA編程架構(gòu)與CPU編程架構(gòu)存在一定差異,在此,首先設(shè)計了GBLHT的存儲結(jié)構(gòu),在此基礎(chǔ)上,提出了一種新的無鎖批量插入方法.

    2.1 GBLHT的存儲結(jié)構(gòu)

    傳統(tǒng)線性哈希表是一個可以動態(tài)伸縮的哈希桶數(shù)組.然而,CUDA-C等編程語言不支持?jǐn)?shù)組的動態(tài)伸縮.如果在GPU中采用原有結(jié)構(gòu),將會極大浪費(fèi)顯存空間.為此,一種簡單的實(shí)現(xiàn)方法就是使用兩層結(jié)構(gòu)來實(shí)現(xiàn)線性哈希表的動態(tài)收縮[7],具體結(jié)構(gòu)如圖1所示.

    圖1 支持動態(tài)擴(kuò)展的線性哈希表Fig.1 Linear Hash table supporting dynamic extension

    在此結(jié)構(gòu)中,線性哈希表被劃分為大小相等的多個片段(segment),且使用list數(shù)組保存每個segment的起始地址.在此,唯一需要使用傳統(tǒng)靜態(tài)方法進(jìn)行擴(kuò)展的數(shù)據(jù)結(jié)構(gòu)為list數(shù)組.然而,由于list數(shù)組占用的存儲空間很小,這樣的擴(kuò)展不會大量浪費(fèi)存儲空間.使用該結(jié)構(gòu),擴(kuò)展存儲空間需3個步驟才能完成:(1)創(chuàng)建一個新的segment;(2)擴(kuò)展list數(shù)組一個存儲位;(3)使用list數(shù)組的擴(kuò)展存儲位保存新創(chuàng)建的segment的首地址.基于GPU的線性哈希表結(jié)構(gòu)GBLHT的詳細(xì)定義如下所示.

    由以上定義可以看出,GBLHT結(jié)構(gòu)主要由5大部分構(gòu)成:一個指針數(shù)組list、兩個狀態(tài)變量p和Level、一個溢出桶數(shù)組SPBuckets、兩個溢出桶數(shù)組管理變量 SPInsert和SP_len、溢出記錄統(tǒng)計數(shù)組count_SP;其中,變量p和Level的定義同上,list為指向segment的指針數(shù)組.在計算能力2.0以下的設(shè)備中,由于不支持在 device端動態(tài)分配存儲空間[3],為此需使用cudaMalloc函數(shù)預(yù)分配一個溢出桶數(shù)組SPBuckets來保存溢出記錄.在批量插入過程中,如果溢出桶數(shù)組空間不夠,則使用傳統(tǒng)靜態(tài)方法擴(kuò)展.為了便于管理溢出桶數(shù)組,在此使用變量SPInsert以及SP_len來統(tǒng)計溢出桶數(shù)組的使用情況.其中,SPInsert指示溢出桶數(shù)組中下一個待使用的空桶,SP_len表示當(dāng)前溢出桶數(shù)組長度.count_SP數(shù)組為擴(kuò)展數(shù)據(jù)結(jié)構(gòu),主要用于統(tǒng)計每次批量插入需增加的溢出桶數(shù)量.

    在上述結(jié)構(gòu)中,segment包含了一個bucket(哈希桶)數(shù)組以及一個BListNum數(shù)組,它們的規(guī)模均為N.每個bucket由一個容量為b的鍵值數(shù)組key、兩個變量insertLoc和next構(gòu)成.其中,insertLoc指示bucket中下一個插入位置,next指向下一個溢出桶. BListNum數(shù)組為擴(kuò)展數(shù)據(jù)結(jié)構(gòu),主要是用于統(tǒng)計哈希表中每一條桶鏈中保存的記錄數(shù)量.

    2.2 GBLHT的無鎖批量插入方法

    為了利用GPU強(qiáng)大的并行吞吐量來加速線性哈希表的記錄插入過程,在現(xiàn)有并行方法的基礎(chǔ)上,設(shè)計了一種基于GPU的批量插入方法,主要思想為:在內(nèi)存中開辟一塊緩沖區(qū)保存待插入記錄.待記錄數(shù)量達(dá)到某個給定的閾值后,將記錄批量插入到全局內(nèi)存中的線性哈希表.與原有方案相比,基于GPU的批量插入方法改進(jìn)如下:(1)借助原子函數(shù)atomicAdd以及相關(guān)擴(kuò)展數(shù)據(jù)結(jié)構(gòu)解決了批量插入過程中產(chǎn)生的互斥問題,實(shí)現(xiàn)了記錄的無鎖批量插入.(2)在分裂過程中,使用多個線程并行分裂線性哈希表;(3)簡化了緩沖區(qū)管理.基于GPU的批量插入方法詳細(xì)流程如圖2所示.

    圖2 基于GPU的批量插入方案流程圖Fig.2 Flow chart of GPU-based batch insertion method

    初始,計算需要分裂的主桶數(shù)量split_num,計算公式為:split_num=-M;其中,ori_num為當(dāng)前存儲的記錄數(shù),T為每次批量插入的記錄數(shù),σ為給定的裝填因子閾值,M和b的定義同1.1節(jié);如果split_num>0,則需要擴(kuò)展線性哈希表存儲空間.在此過程中,由于分裂會造成溢出桶數(shù)組出現(xiàn)大量存儲碎片,為此,在分裂的同時還需壓縮溢出桶數(shù)組.壓縮的具體過程如下:(1)創(chuàng)建一個長度等于SP_len的溢出桶數(shù)組n_SPBuckets; (2)將所有分裂過程中產(chǎn)生的溢出記錄保存到新創(chuàng)建的n_SPBuckets數(shù)組;(3)拷貝未分裂桶鏈中的溢出記錄到n_SPBuckets數(shù)組;(4)將線性哈希表的溢出桶數(shù)組指針指向n_SPBuckets數(shù)組.為加快分裂進(jìn)程,在此,使用多線程并行處理.線性哈希表的擴(kuò)展算法如下所示:

    初始時,分配一個規(guī)模與segment數(shù)組相等的溢出桶數(shù)組.隨著不斷將記錄插入溢出桶數(shù)組,可能造成溢出桶數(shù)組空間不足,從而無法完成記錄的批量插入.為此,在每次批量插入前,均需判斷溢出桶數(shù)組空余存儲空間是否足夠完成本次批量記錄插入,詳細(xì)的算法如下所示:創(chuàng)建一個長度為SP_len+add_num的溢出桶數(shù)組,使用暴力方法并行拷貝當(dāng)前表中的溢出記錄到新創(chuàng)建的溢出桶數(shù)組并且修改相關(guān)桶的next指針,最后釋放當(dāng)前表的溢出桶數(shù)組并且修改溢出桶數(shù)組指針.

    文中設(shè)計的方法最大創(chuàng)新之處在于提出了一種無鎖的批量記錄插入算法,該算法的主要思想為:首先為當(dāng)前批量插入的記錄預(yù)分配溢出空間,然后使用atomicAdd函數(shù)計算記錄在桶鏈中的具體插入位置,最后將記錄批量插入線性哈希表.為了更好地闡述該算法,在此給出了兩個關(guān)鍵定義:設(shè)β為一條長度為q的桶鏈,每個桶有b個槽位,此時β總共擁有qb個槽位.在此,將所有槽位從0開始順序編號,則稱這樣的編號為桶鏈β的槽位索引號.將β中所有桶從0開始順序編號,則稱該編號為桶鏈β的桶索引號.

    批量插入算法中,記錄的具體插入位置計算過程如下:(1)計算記錄插入地址(l_index,s_index); (2)使用atomicAdd函數(shù)將輔助數(shù)組的對應(yīng)位置list[l_index]->BListNum[s_index]加1,從而獲取記錄在桶鏈中的槽位索引號;(3)根據(jù)槽位索引號獲取桶索引號并且計算出具體存儲位置.詳細(xì)的批量記錄插入過程描述如下:

    由上述可知,GBLHT借助原子函數(shù)atomicAdd以及相關(guān)擴(kuò)展數(shù)據(jù)結(jié)構(gòu)有效地解決了批量插入過程中產(chǎn)生的互斥問題,實(shí)現(xiàn)了無鎖的批量記錄插入.由于不需要對緩沖區(qū)進(jìn)行加鎖,該方法的緩沖區(qū)管理非常簡單,這樣就大大減少了Host端與Device端之間的數(shù)據(jù)傳輸次數(shù).同時,該方法使用多線程并行分裂線性哈希表,從而可以充分利用GPU強(qiáng)大的并行吞吐量來提升線性哈希表的插入性能.

    2.3 GBLHT性能分析

    主要分析在充分利用GPU并行吞吐量的情況下,GBLHT無鎖批量插入方法的時間以及空間開銷.設(shè)b為哈希桶容量,未分裂桶鏈的最大長度為Ln,分裂桶鏈的最大長度為Ls,初始線性哈希表長度為Lh,初始溢出桶數(shù)組長度為sp_leno;批量插入過程中,插入同一地址的鍵值最多為mk個,list數(shù)組平均需要擴(kuò)展l_len,溢出桶數(shù)組平均需要擴(kuò)展o_len.在分裂過程中,平均每個桶要遷移的記錄所占比例為η.

    2.3.1 時間開銷

    由圖2可知,GBLHT執(zhí)行一次批量插入的平均時間開銷主要由算法A、B、C這3部分開銷組成.為便于分析,在此使用操作符的執(zhí)行次數(shù)進(jìn)行描述.下面分別對上述算法的平均時間開銷進(jìn)行分析.

    算法A的開銷由host以及device端組成.除核函數(shù)split_table和copy_table外,算法其余部分均在host端執(zhí)行.host端的主要操作為cudaMalloc,平均執(zhí)行次數(shù)Th=(l_len+3).函數(shù)split_table的平均開銷Ts=(1+η)·Ls·b.函數(shù)copy_table的時間開銷Tc=(Ln-1)·b;從而可以得出A的平均開TA= (1+η)·Ls·b+(Ln-1)·b+(l_len+3);由前面的描述可知,算法B的開銷為TB=mk+max(Ls, Ln)+logLn;算法C的開銷主要由預(yù)分配空間及批量記錄插入部分這兩部分組成,它們的開銷分別為max(Ls,Ln)+max((count_sp[i]-m)/b),(Ln+ b)/2.因此,算法 C的開銷 TC=max(Ls,Ln)+ max((count_sp[i]-m)/b)+(Ln+b)/2.

    由上面分析可得,GBLHT執(zhí)行一次批量插入的平均時間開銷T=TA+TB+TC=(1+η)·Ls·b+ (Ln-1)·b+(l_len+3)+mk+2·max(Ls,Ln)+ Lh+max((count_sp[i]-m)/b)+(Ln+b)/2.

    2.3.2 空間開銷

    由于GBLHT存儲結(jié)構(gòu)大部分位于GPU的全局內(nèi)存,在此,對σ次批量插入后GBLHT的全局內(nèi)存使用情況進(jìn)行分析.由圖2可知,GBLHT的空間開銷主要由4部分組成:list數(shù)組、SPBuckets數(shù)組、count_SP數(shù)組以及 segment結(jié)構(gòu)體.list為指向segment指針數(shù)組,經(jīng)過σ次擴(kuò)展后的平均開銷為Slist=4·(σ·l_len+Lh/N)個字節(jié);segment由規(guī)模均為N的bucket以及BListNum數(shù)組構(gòu)成,它們的開銷分別為Sb=(b+2)·4·N以及Sbln=4N個字節(jié).因此,segment開銷為Sseg=4·(b+3)·N個字節(jié);經(jīng)過σ次擴(kuò)展后SPBuckets數(shù)組的平均開銷Ssp=4·(sp_leno+σ·o_len)·(b+2)個字節(jié);同時,擴(kuò)展溢出數(shù)組過程中產(chǎn)生的臨時存儲開銷為Sext=Ssp+Sb個字節(jié);count_SP數(shù)組的開銷為Scsp= (N·2Level+p)·4個字節(jié);

    由此可得,經(jīng)過σ次擴(kuò)展后,GBLHT的全局內(nèi)存平均開銷Sg=[2·((sp_leno+σ·o_len)+N)· (b+2)+(σ·l_len+Lh/N)·((b+3)·N+1)+ (N·2Level+p)]·4個字節(jié).與傳統(tǒng)方法比較,GBLHT新增開銷為Sga=Sext+Scsp+σ·Sbln.

    3 實(shí)驗(yàn)結(jié)果及分析

    3.1 實(shí)驗(yàn)平臺

    CPU為 Intel Core i7,4核,每個核的主頻為2.66GHz;內(nèi)存為 DDR3,6 GB;GPU為 NVIDIA GeForce GTX570,每個核的頻率為780 MHz,顯存為GDDR5,1.25GB;操作系統(tǒng)為WindowsXP Professional sp3.軟件開發(fā)工具包為CUDA3.2,集成開發(fā)環(huán)境為VisioStudio2008.

    3.2 實(shí)驗(yàn)數(shù)據(jù)及參數(shù)設(shè)置

    實(shí)驗(yàn)中,每條記錄均由一個鍵值組成.在此,使用隨機(jī)函數(shù)產(chǎn)生規(guī)模為8、16、32、64以及80M的鍵值集合作為測試數(shù)據(jù)集.實(shí)驗(yàn)中涉及的主要參數(shù)為:哈希桶容量b,初始的主桶數(shù)量N、批量插入的記錄數(shù)量batch_num以及裝填因子閾值α,其中α=0.8,其他參數(shù)的設(shè)置如表1所示.

    表1 實(shí)驗(yàn)過程的參數(shù)設(shè)置Table 1 Parameter setting in experiment

    3.3 實(shí)驗(yàn)設(shè)計及結(jié)果分析

    為了驗(yàn)證文中設(shè)計方法的有效性,選取了3個對比方法:內(nèi)存線性哈希表插入方法[7](方法1);文中提出的無鎖批量插入方法GBLHT(方法2);基于多核CPU的內(nèi)存線性哈希表批量插入方法(方法3).其中,方法3是由文獻(xiàn)[9-10]中的方法修改而來.由于原有方法是基于哈希文件設(shè)計的,在此,為便于性能比較,文中進(jìn)行了如下修改:(1)數(shù)據(jù)結(jié)構(gòu)從外存文件改為內(nèi)存線性哈希表[7];(2)使用多線程并行分裂;(3)使用OpenMP相關(guān)API在記錄批量插入過程進(jìn)行加鎖來解決互斥問題,從而不需要對緩沖區(qū)加鎖.

    實(shí)驗(yàn)中,為了比較方法3中不同線程數(shù)量對插入性能的影響,分別使用2線程和4線程進(jìn)行實(shí)驗(yàn),它們分別標(biāo)識為OpenMPTwo、OpenMPFour.實(shí)驗(yàn)的具體過程描述為:根據(jù)表1的參數(shù)設(shè)置,分別使用上述插入方法對測試數(shù)據(jù)集進(jìn)行循環(huán)批量插入,從而獲得5組不同方案的插入性能數(shù)據(jù).由于篇幅所限,在此僅給出了第2以及第5種參數(shù)設(shè)置時不同方法的插入性能,分別如圖3和4所示.

    GBLHT運(yùn)行時間包含了內(nèi)存和顯存之間的數(shù)據(jù)傳輸時間以及記錄的插入時間.經(jīng)過分析,在GPU運(yùn)行時間中,數(shù)據(jù)傳輸時間所占的比例約為15%.

    圖3 第2種參數(shù)設(shè)置下不同方案的插入性能Fig.3 Performance of different methods with the second parameter setting scheme

    圖4 第5種參數(shù)設(shè)置下不同方案的插入性能Fig.4 Performance of different methods with the fifth parameter setting scheme

    從圖3中可以看出,當(dāng)batch_num值較小時,相對于傳統(tǒng)串行方法,OpenMPTwo、OpenMPFour方法的性能分別提升了1.6倍以及2.4倍,而GBLHT的性能提升了7倍.由圖4可知,當(dāng)batch_num值較大時,OpenMPTwo、OpenMPFour的性能分別提升了1.6倍和2.5倍,而GBLHT的插入性能則提升了14倍.由此可知,與現(xiàn)有插入方法相比,GBLHT的性能優(yōu)勢較為明顯.此外,通過對比分析圖3和4可知,不同的batch_num設(shè)置對GBLHT的插入性能影響較大.

    為了更好地分析batch_num對加速比[2]產(chǎn)生的影響,實(shí)驗(yàn)中,將測試數(shù)據(jù)集的規(guī)模固定為64 M.在此情況下,分別測試不同batch_num設(shè)置時上述3種方法的加速比,詳細(xì)描述如圖5所示.

    從圖5中可以看出,隨著batch_num不斷增加,2線程CPU批量插入方法OpenMPTwo以及4線程CPU批量插入方法OPenMPFour的加速比基本持平,基于GPU的批量插入方法GBLHT的加速比則快速增長.這充分說明,基于GPU的批量插入方法GBLHT非常適合較大規(guī)模記錄的批量插入.

    圖5 不同batch_num對加速比的影響Fig.5 Impact of different batch_num settings on speedup

    4 結(jié)語

    線性哈希表是一種非常有效的內(nèi)存索引結(jié)構(gòu),為提高其插入性能,研究人員提出了多種不同的并行方案,然而這些方法都沒有利用GPU強(qiáng)大的并行性能.為此,文中利用原子函數(shù)atomicAdd的特性設(shè)計了一種基于GPU的批量插入方法GBLHT,給出了相關(guān)數(shù)據(jù)結(jié)構(gòu),并通過實(shí)驗(yàn)驗(yàn)證了該方法的有效性.結(jié)果表明,GBLHT在批量插入大規(guī)模記錄時,性能優(yōu)勢較為明顯.文中當(dāng)前僅僅研究了基于GPU的線性哈希表批量插入方法,下一步工作主要是研究基于GPU的線性哈希表批量查詢以及刪除方法;同時,由于GPU的存儲容量有限,為了構(gòu)建規(guī)模龐大的線性哈希表,還要研究如何將線性哈希表擴(kuò)展到頁鎖定內(nèi)存;最后,打算將GBLHT集成到相關(guān)系統(tǒng)來提升系統(tǒng)的檢索性能.

    [1] 楊珂,羅瓊,石教英.圖形處理器在數(shù)據(jù)庫技術(shù)中的應(yīng)用[J].浙江大學(xué)學(xué)報:工學(xué)版,2009,43(8):1349-1360. Yang Ke,Luo Qiong,Shi Jiao-ying.Application of graphics processors to database technologies[J].Journal of Zhejiang University:Engineering Science,2009,43(8):1349-1360.

    [2] 周偉明.多核計算與程序設(shè)計[M].武漢:華中科技大學(xué)出版社,2009:19-25.

    [3] NVIDIA Corporation.NVIDIA CUDA programming guide,version 2.3.1[EB/OL].(2009-07-15)[2011-08-27]. www.cs.unc.edu/…/NVID IA_CUDA_Programming_ Guide_2.3.pdf.

    [4] Changkyu Kim,Jatin Chhugani,Nadathur Satish,et al. FAST:fast architecture sensitive tree search on modern CPUs and GPUs[C]∥Proceedings of the ACM SIGMOD.Indianapolis:Association for Computing Machinery,2010:339-350.

    [5] Litwin W.Linear hashing:a new tool for file and table addressing[C]∥International Conference on Very Large Databases.Montreal:IEEE Computer Society,1980:212-223.

    [6] Ashok Rathi,Huizhu Lu,Hearidz G E.Performance comparison of extendible hashing and linear hashing technologies[C]∥Proceedings of ACM SIGSMALL/PC Symposium on Small Systems.Crystal City:Association for Computing Machinery,1990:19-25.

    [7] Per-Ake Larson.Dynamic hash tables[J].Communications of the ACM,1988,31(4):446-457.

    [8] Ellis Carla Schlatter.Concurrency in linear hashing[J]. ACM Transactions on Database Systems,1987,12(2):195-217.

    [9] Tang Hai-Hao,Chen Hu,Peng Jiang-Feng.Multithreaded linear hashing with diskbuffer[C]∥First International Workshop on Database Technology.Wuhan:IEEE Computer Society,2009:435-439.

    [10] 陳虎,唐海浩,廖江苗,等.面向批量插入優(yōu)化的并行存儲引擎MTPower[J].計算機(jī)學(xué)報,2010,33(8): 1492-1499. Chen Hu,Tang Hai-hao,Liao Jiang-miao,et al.MTPower:a parallel database storage engine for batch insertion[J].Chinese Journal of Computers,2010,33(8):1492-1499.

    [11] Jason Sanders,Edward Kandrot.CUDA by example[M].Ann Arbor:Pearson Education,2010:258-276

    [12] Alcantara Dan A,Sharf Andrei,Abbasinejad Fatemeh,et al.Real-time parallel hashing on the GPU[J].ACM Transactions on Graphics,2009,28(5):1-9.

    猜你喜歡
    數(shù)組批量哈希
    JAVA稀疏矩陣算法
    電腦報(2022年13期)2022-04-12 00:32:38
    批量提交在配置分發(fā)中的應(yīng)用
    JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
    電腦報(2020年24期)2020-07-15 06:12:41
    基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
    基于維度分解的哈希多維快速流分類算法
    尋找勾股數(shù)組的歷程
    淺議高校網(wǎng)銀批量代發(fā)
    基于AUTOIT3和VBA的POWERPOINT操作題自動批量批改
    考慮價差和再制造率的制造/再制造混合系統(tǒng)生產(chǎn)批量研究
    基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
    国产成+人综合+亚洲专区| 变态另类成人亚洲欧美熟女| 欧美极品一区二区三区四区| 午夜精品久久久久久毛片777| 亚洲国产精品成人综合色| 中文字幕人成人乱码亚洲影| 身体一侧抽搐| 欧美日韩国产亚洲二区| 天堂影院成人在线观看| 国产中年淑女户外野战色| 一级毛片久久久久久久久女| 国产一区二区在线观看日韩| 色哟哟哟哟哟哟| 一本综合久久免费| 亚洲不卡免费看| 午夜激情欧美在线| 女人十人毛片免费观看3o分钟| 国产精品一及| 色哟哟哟哟哟哟| 精品福利观看| 免费观看精品视频网站| 久久精品国产99精品国产亚洲性色| 51国产日韩欧美| 一个人免费在线观看电影| 久久中文看片网| 亚洲真实伦在线观看| .国产精品久久| 在线国产一区二区在线| 国产av一区在线观看免费| 在线免费观看不下载黄p国产 | 亚洲成人精品中文字幕电影| 搡女人真爽免费视频火全软件 | 日本a在线网址| 嫩草影院新地址| 夜夜爽天天搞| 亚洲av一区综合| 国产精华一区二区三区| 18美女黄网站色大片免费观看| 桃红色精品国产亚洲av| 亚洲成a人片在线一区二区| 内地一区二区视频在线| 级片在线观看| 99久久精品一区二区三区| 欧美日韩瑟瑟在线播放| 不卡一级毛片| 亚洲国产精品999在线| 搡女人真爽免费视频火全软件 | 夜夜爽天天搞| 国产成人aa在线观看| 亚洲avbb在线观看| 中文字幕免费在线视频6| 国产成人欧美在线观看| 亚洲在线自拍视频| 一本综合久久免费| 身体一侧抽搐| 午夜免费成人在线视频| 日韩欧美三级三区| 搡老妇女老女人老熟妇| 青草久久国产| 特大巨黑吊av在线直播| 啦啦啦韩国在线观看视频| 12—13女人毛片做爰片一| av国产免费在线观看| 有码 亚洲区| 亚洲欧美日韩卡通动漫| 日韩欧美精品免费久久 | 69av精品久久久久久| 欧美成人a在线观看| 亚洲人成伊人成综合网2020| 看免费av毛片| 在线天堂最新版资源| 91午夜精品亚洲一区二区三区 | 国产一区二区在线av高清观看| 免费人成视频x8x8入口观看| 亚洲人成伊人成综合网2020| a级一级毛片免费在线观看| 一区二区三区激情视频| 国产精品久久久久久亚洲av鲁大| 男人舔女人下体高潮全视频| 深爱激情五月婷婷| 午夜福利视频1000在线观看| 亚洲欧美精品综合久久99| 亚洲在线自拍视频| 国语自产精品视频在线第100页| 最近中文字幕高清免费大全6 | a级毛片a级免费在线| 成年人黄色毛片网站| 色尼玛亚洲综合影院| 国产精品乱码一区二三区的特点| av中文乱码字幕在线| 国产三级黄色录像| 在线观看午夜福利视频| 直男gayav资源| 日韩精品中文字幕看吧| 丁香欧美五月| 一级毛片久久久久久久久女| 亚洲五月婷婷丁香| 国产aⅴ精品一区二区三区波| 两性午夜刺激爽爽歪歪视频在线观看| 免费看光身美女| 99久久久亚洲精品蜜臀av| 国产私拍福利视频在线观看| 免费搜索国产男女视频| 国产精品亚洲av一区麻豆| 欧美最黄视频在线播放免费| 国产一区二区三区视频了| www日本黄色视频网| 亚洲狠狠婷婷综合久久图片| 久99久视频精品免费| 亚洲欧美日韩高清在线视频| 欧美最新免费一区二区三区 | 免费看美女性在线毛片视频| 亚洲人成伊人成综合网2020| 免费av观看视频| 国产高潮美女av| 99热只有精品国产| 国产精华一区二区三区| 亚洲av成人精品一区久久| 99久久九九国产精品国产免费| 亚洲精品在线观看二区| 日本五十路高清| 床上黄色一级片| 亚洲人成电影免费在线| 免费观看精品视频网站| 精品一区二区三区人妻视频| 香蕉av资源在线| 毛片一级片免费看久久久久 | 禁无遮挡网站| 99久久成人亚洲精品观看| 亚洲经典国产精华液单 | 免费在线观看成人毛片| 成人美女网站在线观看视频| 夜夜看夜夜爽夜夜摸| 久久久久久久久大av| 欧美在线一区亚洲| 久久久久国内视频| 亚洲av熟女| 日韩 亚洲 欧美在线| 婷婷丁香在线五月| av在线老鸭窝| 日韩精品中文字幕看吧| 免费在线观看影片大全网站| 久久这里只有精品中国| a级毛片a级免费在线| 亚洲欧美日韩卡通动漫| 男人和女人高潮做爰伦理| 国产69精品久久久久777片| 国产久久久一区二区三区| a级一级毛片免费在线观看| 久久精品国产亚洲av涩爱 | 久久久久久久久久成人| 国语自产精品视频在线第100页| 国产精品综合久久久久久久免费| 欧美又色又爽又黄视频| 国内揄拍国产精品人妻在线| 色哟哟·www| 男人的好看免费观看在线视频| 丰满人妻熟妇乱又伦精品不卡| 国产综合懂色| 波多野结衣巨乳人妻| 欧美+日韩+精品| 黄色一级大片看看| 日本免费一区二区三区高清不卡| 亚洲精品一区av在线观看| 欧美在线黄色| 国产精品,欧美在线| 九九热线精品视视频播放| 免费搜索国产男女视频| 国产成人aa在线观看| 老司机午夜福利在线观看视频| 一本精品99久久精品77| 亚洲中文日韩欧美视频| 欧美乱色亚洲激情| av天堂中文字幕网| 亚洲 欧美 日韩 在线 免费| 波多野结衣高清无吗| 国产主播在线观看一区二区| 国产一区二区三区在线臀色熟女| 国模一区二区三区四区视频| x7x7x7水蜜桃| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 看免费av毛片| 韩国av一区二区三区四区| 亚洲av二区三区四区| 亚洲成人久久性| 精品人妻视频免费看| www日本黄色视频网| 国产国拍精品亚洲av在线观看| 免费观看人在逋| 99在线视频只有这里精品首页| 成人鲁丝片一二三区免费| 久久精品国产亚洲av天美| 人妻丰满熟妇av一区二区三区| 91九色精品人成在线观看| av在线蜜桃| 精品人妻熟女av久视频| 国产探花在线观看一区二区| 三级国产精品欧美在线观看| 色吧在线观看| 国模一区二区三区四区视频| 色av中文字幕| 日日摸夜夜添夜夜添小说| 国产麻豆成人av免费视频| 亚洲男人的天堂狠狠| 欧美乱色亚洲激情| 国产一级毛片七仙女欲春2| 97人妻精品一区二区三区麻豆| 深爱激情五月婷婷| bbb黄色大片| 日本三级黄在线观看| 看免费av毛片| 女同久久另类99精品国产91| 亚洲真实伦在线观看| 免费高清视频大片| 一夜夜www| 能在线免费观看的黄片| 亚洲男人的天堂狠狠| 国产欧美日韩精品一区二区| 国产白丝娇喘喷水9色精品| av天堂在线播放| 深夜精品福利| 日本a在线网址| 欧美色视频一区免费| 欧美3d第一页| 国产精品一区二区免费欧美| 好看av亚洲va欧美ⅴa在| 欧美日韩黄片免| 精品人妻视频免费看| 精品午夜福利在线看| 色播亚洲综合网| 别揉我奶头~嗯~啊~动态视频| 成年女人毛片免费观看观看9| 国产aⅴ精品一区二区三区波| 内射极品少妇av片p| .国产精品久久| 国产男靠女视频免费网站| 久久亚洲精品不卡| 九九热线精品视视频播放| 精品久久久久久久末码| 性欧美人与动物交配| 窝窝影院91人妻| 九九在线视频观看精品| 精品久久久久久,| 美女高潮喷水抽搐中文字幕| 99国产综合亚洲精品| 桃红色精品国产亚洲av| 亚洲av不卡在线观看| 人妻丰满熟妇av一区二区三区| 99久久九九国产精品国产免费| 国产三级在线视频| 99热只有精品国产| 日韩欧美精品免费久久 | 永久网站在线| 97人妻精品一区二区三区麻豆| 国产欧美日韩精品亚洲av| 天天躁日日操中文字幕| 99热这里只有是精品在线观看 | 国产野战对白在线观看| 丰满的人妻完整版| 免费大片18禁| 久久午夜亚洲精品久久| 天堂网av新在线| av天堂中文字幕网| 精品久久久久久,| 亚洲av日韩精品久久久久久密| 久久久久九九精品影院| 国产精品伦人一区二区| 在线国产一区二区在线| 一区二区三区激情视频| 国产高清激情床上av| 搡老妇女老女人老熟妇| 99久久精品国产亚洲精品| av专区在线播放| 永久网站在线| 亚洲激情在线av| 欧美成人a在线观看| 欧美另类亚洲清纯唯美| 亚洲欧美日韩东京热| 深夜a级毛片| 嫩草影院精品99| 能在线免费观看的黄片| 国产成人a区在线观看| 女同久久另类99精品国产91| 精品国产三级普通话版| 午夜亚洲福利在线播放| 在线看三级毛片| 国产精品不卡视频一区二区 | 日韩欧美精品免费久久 | 成人三级黄色视频| 日本免费a在线| 色视频www国产| 午夜日韩欧美国产| ponron亚洲| 精品午夜福利在线看| 男插女下体视频免费在线播放| 级片在线观看| 日韩中文字幕欧美一区二区| 91麻豆精品激情在线观看国产| 男女视频在线观看网站免费| 亚洲avbb在线观看| 国产精品国产高清国产av| 亚洲国产精品sss在线观看| 亚洲国产精品成人综合色| 亚洲av电影不卡..在线观看| 两性午夜刺激爽爽歪歪视频在线观看| 精品人妻视频免费看| 亚洲av第一区精品v没综合| 如何舔出高潮| 中文资源天堂在线| 18禁黄网站禁片免费观看直播| 天天躁日日操中文字幕| 免费黄网站久久成人精品 | 丁香欧美五月| 一个人免费在线观看电影| 久久草成人影院| 欧美绝顶高潮抽搐喷水| 97人妻精品一区二区三区麻豆| 日韩av在线大香蕉| 国内精品久久久久精免费| 精华霜和精华液先用哪个| 毛片女人毛片| 伊人久久精品亚洲午夜| 97超视频在线观看视频| 亚洲成人久久爱视频| 久久精品国产亚洲av涩爱 | 精品人妻偷拍中文字幕| 91在线精品国自产拍蜜月| 中出人妻视频一区二区| 亚洲成av人片在线播放无| 波多野结衣高清无吗| 久久精品综合一区二区三区| 亚洲人与动物交配视频| 日日摸夜夜添夜夜添小说| 成人毛片a级毛片在线播放| 亚洲熟妇中文字幕五十中出| 国产美女午夜福利| 国产精品电影一区二区三区| 亚洲中文字幕日韩| 免费电影在线观看免费观看| 日韩欧美精品免费久久 | 日韩欧美精品v在线| 嫩草影院精品99| 精品人妻熟女av久视频| 成人欧美大片| 大型黄色视频在线免费观看| 日韩欧美免费精品| 免费在线观看成人毛片| 久久久久久久久久成人| 精品久久久久久久久亚洲 | 99在线人妻在线中文字幕| 成年人黄色毛片网站| 男女那种视频在线观看| 在线a可以看的网站| 国产91精品成人一区二区三区| 欧美成人a在线观看| 国产精品久久电影中文字幕| 天天一区二区日本电影三级| 午夜福利欧美成人| 亚洲五月婷婷丁香| 成人一区二区视频在线观看| 两个人的视频大全免费| 十八禁网站免费在线| 久9热在线精品视频| 日日夜夜操网爽| 精品久久久久久,| 精品免费久久久久久久清纯| 成年女人毛片免费观看观看9| 熟妇人妻久久中文字幕3abv| 国产av在哪里看| 国产亚洲欧美在线一区二区| 欧美xxxx性猛交bbbb| 91九色精品人成在线观看| 日韩欧美精品v在线| 一区二区三区四区激情视频 | 中出人妻视频一区二区| 国内精品一区二区在线观看| avwww免费| 亚洲精品影视一区二区三区av| 精品久久久久久久久久久久久| 国产午夜福利久久久久久| a级毛片免费高清观看在线播放| 亚洲成a人片在线一区二区| 亚洲欧美日韩东京热| 高清日韩中文字幕在线| 国产淫片久久久久久久久 | 91字幕亚洲| 91在线精品国自产拍蜜月| 校园春色视频在线观看| 国产老妇女一区| 国产高清视频在线观看网站| av女优亚洲男人天堂| 18+在线观看网站| 一a级毛片在线观看| 一区二区三区免费毛片| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 看黄色毛片网站| 精品一区二区三区人妻视频| 久久久久国内视频| 亚洲在线观看片| 91久久精品电影网| 九九热线精品视视频播放| 久久久国产成人精品二区| 亚洲欧美日韩东京热| 宅男免费午夜| 日韩 亚洲 欧美在线| 国产免费男女视频| 国产主播在线观看一区二区| 日韩亚洲欧美综合| 国产午夜精品论理片| 黄色女人牲交| 欧美色视频一区免费| 亚洲国产日韩欧美精品在线观看| 亚洲精品成人久久久久久| 18美女黄网站色大片免费观看| 久久久精品大字幕| 此物有八面人人有两片| 99国产精品一区二区蜜桃av| 老女人水多毛片| 精品人妻偷拍中文字幕| 制服丝袜大香蕉在线| 精品99又大又爽又粗少妇毛片 | 婷婷亚洲欧美| 国产精品一区二区三区四区久久| 免费在线观看亚洲国产| 日日夜夜操网爽| 人人妻人人澡欧美一区二区| 超碰av人人做人人爽久久| 国产色爽女视频免费观看| 日韩成人在线观看一区二区三区| 69av精品久久久久久| 亚洲欧美日韩高清在线视频| 人人妻人人澡欧美一区二区| 天天躁日日操中文字幕| 啦啦啦韩国在线观看视频| 亚洲美女黄片视频| 最后的刺客免费高清国语| 色综合婷婷激情| 男女下面进入的视频免费午夜| 亚洲欧美清纯卡通| 国产av麻豆久久久久久久| 欧美黄色片欧美黄色片| 中文字幕精品亚洲无线码一区| 色5月婷婷丁香| 少妇被粗大猛烈的视频| 精品无人区乱码1区二区| 亚洲经典国产精华液单 | 成人亚洲精品av一区二区| 永久网站在线| 制服丝袜大香蕉在线| 十八禁国产超污无遮挡网站| 成人毛片a级毛片在线播放| 日本免费a在线| 久久国产精品人妻蜜桃| 成人国产一区最新在线观看| 丝袜美腿在线中文| 免费在线观看日本一区| 少妇丰满av| 给我免费播放毛片高清在线观看| 亚洲专区国产一区二区| 久久6这里有精品| 欧美日韩国产亚洲二区| 国产精品精品国产色婷婷| 亚洲在线自拍视频| 色吧在线观看| 亚洲美女搞黄在线观看 | 国产在线男女| 色吧在线观看| av在线老鸭窝| 久久中文看片网| 国产麻豆成人av免费视频| 色尼玛亚洲综合影院| 人人妻人人澡欧美一区二区| 国产精品美女特级片免费视频播放器| 两性午夜刺激爽爽歪歪视频在线观看| 亚洲自偷自拍三级| 91麻豆av在线| 大型黄色视频在线免费观看| 十八禁人妻一区二区| 又黄又爽又免费观看的视频| 综合色av麻豆| 老女人水多毛片| 婷婷色综合大香蕉| 午夜激情欧美在线| 国产极品精品免费视频能看的| а√天堂www在线а√下载| av专区在线播放| 91麻豆精品激情在线观看国产| 一级av片app| 日韩精品青青久久久久久| 日韩欧美精品免费久久 | 一个人免费在线观看的高清视频| 国产综合懂色| 美女大奶头视频| 精品熟女少妇八av免费久了| 久久香蕉精品热| 岛国在线免费视频观看| 天堂av国产一区二区熟女人妻| 国产91精品成人一区二区三区| 免费看日本二区| 国产精品久久久久久亚洲av鲁大| 嫁个100分男人电影在线观看| 又紧又爽又黄一区二区| 色播亚洲综合网| 欧美+日韩+精品| 亚洲av成人av| 国产成人啪精品午夜网站| 2021天堂中文幕一二区在线观| 真人一进一出gif抽搐免费| 一个人看的www免费观看视频| 国产精品女同一区二区软件 | 精品一区二区三区av网在线观看| 男女下面进入的视频免费午夜| 99久国产av精品| 亚洲乱码一区二区免费版| av女优亚洲男人天堂| 日本黄色视频三级网站网址| 99riav亚洲国产免费| 麻豆成人av在线观看| 欧美激情在线99| 老司机深夜福利视频在线观看| 淫秽高清视频在线观看| 麻豆一二三区av精品| 一二三四社区在线视频社区8| 99久久成人亚洲精品观看| 国产不卡一卡二| 又爽又黄无遮挡网站| 男人舔奶头视频| 精品熟女少妇八av免费久了| 成人特级黄色片久久久久久久| 成人无遮挡网站| 一区二区三区激情视频| 久久久久国内视频| 欧美不卡视频在线免费观看| 我要搜黄色片| 一个人看视频在线观看www免费| 亚洲最大成人中文| 久久99热这里只有精品18| 女人被狂操c到高潮| 人人妻人人澡欧美一区二区| 熟女人妻精品中文字幕| 亚洲中文字幕日韩| 毛片一级片免费看久久久久 | 如何舔出高潮| 久久久久久久久大av| 啦啦啦观看免费观看视频高清| 免费高清视频大片| 成人精品一区二区免费| 久久久精品欧美日韩精品| 亚洲无线观看免费| 一夜夜www| 精品福利观看| 97热精品久久久久久| 中文亚洲av片在线观看爽| 性色avwww在线观看| 亚洲中文字幕一区二区三区有码在线看| 1024手机看黄色片| 日韩人妻高清精品专区| xxxwww97欧美| 亚洲成人中文字幕在线播放| 国产久久久一区二区三区| 精品一区二区免费观看| 日本一本二区三区精品| 国产三级黄色录像| 国产亚洲精品av在线| 欧美激情在线99| 国产视频一区二区在线看| 男插女下体视频免费在线播放| 国产久久久一区二区三区| 国产免费av片在线观看野外av| 国产大屁股一区二区在线视频| 亚洲av免费在线观看| 日韩欧美国产在线观看| АⅤ资源中文在线天堂| 少妇的逼水好多| 亚洲熟妇中文字幕五十中出| 国产色婷婷99| 亚洲无线在线观看| netflix在线观看网站| 69人妻影院| av天堂中文字幕网| 给我免费播放毛片高清在线观看| 亚洲成人久久性| 国产视频内射| 久久精品夜夜夜夜夜久久蜜豆| 亚洲美女搞黄在线观看 | 中文字幕高清在线视频| 99国产综合亚洲精品| 中文资源天堂在线| 欧美激情在线99| 精品不卡国产一区二区三区| 久久久国产成人免费| av中文乱码字幕在线| 99热6这里只有精品| 日韩成人在线观看一区二区三区| 一卡2卡三卡四卡精品乱码亚洲| 少妇人妻一区二区三区视频| 欧美另类亚洲清纯唯美| 搡女人真爽免费视频火全软件 | 国产高清视频在线播放一区| 99热这里只有是精品在线观看 | 成人亚洲精品av一区二区| 高清日韩中文字幕在线| 日韩欧美国产在线观看| 国产高清视频在线观看网站| 中文字幕高清在线视频| 亚洲av第一区精品v没综合| av天堂中文字幕网| 99在线视频只有这里精品首页| 91午夜精品亚洲一区二区三区 | 乱码一卡2卡4卡精品| 一二三四社区在线视频社区8| 色综合婷婷激情| 亚洲七黄色美女视频| 小说图片视频综合网站| 国产淫片久久久久久久久 |