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

    基于優(yōu)化的CAS算法實現(xiàn)線程安全的HashMap

    2019-10-08 06:27:21吳恩慈
    軟件 2019年6期

    摘 ?要: HashMap內存數(shù)據(jù)結構存在相當廣泛的應用場景,通過Hash函數(shù)的Key直接獲取對應的值,能夠確保搜索的時間復雜度為O(1)。HashMap數(shù)據(jù)結構存在哈希沖突與線程安全問題,悲觀鎖機制實現(xiàn)線程安全的方法存在很大的性能開銷。本文提出了基于優(yōu)化的CAS算法,實現(xiàn)線程安全的哈希映射數(shù)據(jù)結構,內部采用數(shù)組、鏈表和紅黑樹實現(xiàn)了高并發(fā)環(huán)境下讀寫操作。通過增加版本戳避免CAS算法的ABA問題,CAS算法實現(xiàn)的無鎖方式避免了鎖競爭的開銷,使用紅黑樹來優(yōu)化鏈表,確保大規(guī)模數(shù)據(jù)集的檢索時間復雜度保持O(logn)。支持多線程擴容操作,在執(zhí)行效率方面有良好的表現(xiàn)。通過大規(guī)模的并發(fā)壓力測試,驗證了該數(shù)據(jù)結構在性能上有穩(wěn)定的提升。

    關鍵詞: 無鎖機制;分段鎖;CAS算法優(yōu)化;紅黑樹;線程安全

    中圖分類號: TP311.12 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.06.043

    本文著錄格式:吳恩慈. 基于優(yōu)化的CAS算法實現(xiàn)線程安全的HashMap [J]. 軟件,2019,40(6):185190

    【Abstract】: HashMap data structure is widely used in the industry. The Hash function directly reads the corresponding value through the input key, which ensures that the time complexity of the search algorithm is O(1). There are hash conflicts and thread safety issues in the HashMap. The pessimistic locking mechanism implements thread safety methods with great performance overhead. This paper proposes a HashMap structure based on optimized CAS algorithm to implement thread safety. The internal use of arrays, linked lists, red-black trees. Achieves read and write efficiency in high-concurrency environments. The CAS algorithm implements lock-free mode to avoid the overhead of lock competition. Red-black trees are used to optimize the linked list, ensuring that the time complexity remains O(logn) when the data set is large. Supports multi-thread expansion operations in a lock-free state, and concurrent processing reduces the time overhead of capacity expansion. Through large-scale concurrent testing, it is verified that the data structure has a stable improvement in performance.

    【Key words】: Lock-free; Segment Lock; Optimized CAS; Red-black Tree; Thread-safe

    0 ?引言

    隨著在線業(yè)務規(guī)模越來越大,信息系統(tǒng)的并發(fā)操作也越來越大,高并發(fā)一直是業(yè)界面臨的問題。Hash函數(shù)根據(jù)Key直接獲取對應的值,能夠提供時間復雜度為O(1)的搜索算法,在很大程度上提高了搜索效率,存在非常廣泛的應用場景。另外,大規(guī)模數(shù)據(jù)集下HashMap數(shù)據(jù)結構往往存哈希碰撞,以及高并發(fā)環(huán)境下的線程安全問題。悲觀鎖的安全機制存在性能瓶頸,不能充分發(fā)揮多核處理器的作用。當大量進程同時訪問堆棧時,會競爭讀取與更新共享變量,從而導致大量干擾。在各種工作負載下提供良好性能的并發(fā)算法,通常不使用鎖,并使用各種機制來減少對共享內存的爭用,增加并行執(zhí)行的可能性。本文在研究相關文獻與總結實際經驗的基礎上,主要完成了3個方面的工作。

    (1)分析了HashMap內存數(shù)據(jù)結構存在哈希沖突與線程安全的問題,指出通過悲觀鎖機制實現(xiàn)線程安全的方法存在很大的性能開銷,不適合大規(guī)模、高并發(fā)操作的應用場景。

    (2)研究了并行HashMap算法與數(shù)據(jù)結構,解析算法實現(xiàn)中的分段鎖技術、HashEntry對象的不變性機制。分段鎖技術提高了并行度,同時也使得數(shù)據(jù)結構也變的復雜,降低了數(shù)據(jù)一致性的要求。

    (3)提出了基于CAS(Compare And Swap)算法實現(xiàn)線程安全的哈希映射數(shù)據(jù)結構,對CAS算法存在的問題提出了有針對性的優(yōu)化策略,并且提供了算法實現(xiàn)代碼。數(shù)據(jù)結構內部采用數(shù)組、鏈表和紅黑樹實現(xiàn)了高并發(fā)環(huán)境下讀寫操作,該方法有效的減少對鎖競爭。通過大規(guī)模的并發(fā)測試,驗證了該數(shù)據(jù)結構在性能上有穩(wěn)定的提升。

    1 ?相關工作

    文獻[1]采用類似于鏈表的數(shù)據(jù)結構,增加哈希表中每個相同哈希地址對應存儲空間的Value個數(shù),達到是降低哈希沖突的目的[1]。該方法支持的數(shù)據(jù)集容量有限,很難保證持續(xù)穩(wěn)定的讀取速度。文獻[2]使用內容尋址存儲器作公共溢出緩存區(qū),降低了插入時哈希沖突的概率,改善了哈希表最壞訪問時間問題[2]。文獻[3]通過引入外部區(qū)分表實現(xiàn)完美哈希函數(shù),在查表操作過程中,首先讀取外部區(qū)分表中當前Key對應的區(qū)分位,然后將區(qū)分位合并到當前Key后再進行哈希函數(shù)求值[3]。該方法缺點是構建外部區(qū)分表比較耗時,不支持新的Key動態(tài)插入。文獻[4]提出了一種存儲結構塊列表來存儲沖哈希突數(shù)據(jù)的方法,使用緩存機制提高Key的檢索效率。該方法在桶數(shù)目充足的情況下能夠有效降低內存消耗[4]。文獻[5]研究了發(fā)生哈希沖突的本質原因,數(shù)據(jù)元素檢索的先驗概率[5]。提出了一種減少了碰撞期間搜索長度和響應時間的方法。

    文獻[6]提出了一種基于同步原語CAS的無鎖模式,不會導致ABA問題與環(huán)繞問題,可為多種數(shù)據(jù)類型提供無鎖功能[6]。在讀寫對象時輪詢不同的位置,通過其位置檢查對象的一致性。文獻[7]提出了一種多線程環(huán)境下的無鎖算法,某個進程在嘗試應用操作失敗時,再次嘗試之前等待,減少并發(fā)系統(tǒng)中對共享資源的競爭[7]。在許多情況下可以提高吞吐量,采用這種方法來實現(xiàn)可擴展的無鎖操作。文獻[8]研究了Haskell語言中的基于無鎖的同步機制,實現(xiàn)任務池模式的不同實例,通過合成算法與LU分解來檢查其的性能[8],結果表明無鎖任務池的并行性能存在明顯的優(yōu)勢。文獻[9]提出了一種無鎖的并發(fā)堆棧抽象模型,減少了堆棧上的鎖爭用,允許并行執(zhí)行多對推送和彈出操作,并行操作可以轉換為可線性化的抽象模型[9]。文獻[10]提出了基于無鎖隊列實現(xiàn)并發(fā)組合的算法,推導可伸縮堆棧算法,簡化了無鎖算法實現(xiàn),且更加易于理解[10]。

    2 ?問題分析

    2.1 ?HashMap線程安全問題

    HashMap內部使用數(shù)組保存鍵值對數(shù)據(jù),插入一個新的鍵值對時,根據(jù)Key的哈希值對數(shù)組的大小取模,計算結果作為數(shù)組的下標,把鍵值對插入到數(shù)組的該位置。如果數(shù)組的該位置上已經存在元素,表明產生了哈希沖突問題,需要在該位置生成鏈表數(shù)據(jù)結構。哈希沖突最嚴重的情況,所有元素都定位到數(shù)組的同一個下標位置,生成一個很大的鏈表結構,檢索某個Key需要遍歷鏈表的所有節(jié)點,時間復雜度變成O(N)。

    在多線程環(huán)境且未作同步的情況下,對同一個HashMap做寫入操作,可能導致兩個或以上線程同時做Rehash動作,可能導致循環(huán)鍵表出現(xiàn),一旦出現(xiàn)線程將無法終止。當另外一個線程獲取循環(huán)鏈表的Key的時候,Get動作會一直執(zhí)行,導致越來越多的線程死循環(huán),最后服務器資源被耗盡。另外,插入一個新節(jié)點前,需要確定當前內部元素是否達到設定的閾值,如果達到閾值則需要進行擴容操作。鏈表中的元素是散列分布的,在多線程高并發(fā)環(huán)境下,擴容操作時可能會引發(fā)鏈表結構循環(huán),引起服務器CPU消耗在短時間內急劇上升。

    2.2 ?悲觀鎖的性能問題

    HashMap數(shù)據(jù)結構存在線程安全問題,不考慮性能時通過對整個哈希表結構做鎖定操作。鎖定期間其他線程一直處于阻塞狀態(tài)。很顯然,不適合大規(guī)模高并發(fā)操作。高效的哈希函數(shù)能夠在確保計算效率的前提下,使得散列地址相對均勻的分布,當前使用的哈希函數(shù)很難達到預期效果。數(shù)組初始化時要申請一個連續(xù)的固定長度內存空間,哈希函數(shù)很難保證生成的哈希值不發(fā)生沖突。

    悲觀鎖實際上是將并發(fā)請求轉變?yōu)榇衼韺崿F(xiàn),對系統(tǒng)的響應時間和吞吐量有較大影響,并發(fā)控制鎖也是阻止線程執(zhí)行的悲觀方法。當一個線程被掛起時就會加入到阻塞隊列,在特定條件下通過Notify方法喚醒。共享資源不可用的時,該線程將讓渡CPU切換為阻塞狀態(tài)。等到共享資源可用時,喚醒線程進入Runnable狀態(tài)等待CPU調度,線程掛起和恢復的執(zhí)行過程中存在著很大的開銷。

    3 ?分段鎖算法

    3.1 ?分段鎖的數(shù)據(jù)結構

    如圖1所示,分段鎖實現(xiàn)的線程安全的HashMap數(shù)據(jù)結構,內部結構包括一個Segment數(shù)組和多個Hash Entry對象,通過鎖分離的方法提供并發(fā)操作,解決線程安全問題。Segment數(shù)組把一個大的表切割為多個小的表來進行加鎖,降低鎖的范圍的同時增加了并發(fā)度。每一個Segment元素存儲的是HashEntry數(shù)組和鏈表。在插入和檢索元素時,首先通過哈希算法定位到所在分段,然后使用特定算法對元素的哈希值進行再一次哈希計算,目的是為了減少哈希沖突,使元素能夠相對均勻的分布在不同的分段上,從而提高整個數(shù)據(jù)結構的插入和檢索效率。

    對整個HashMap進行操作時,首先不加鎖循環(huán)執(zhí)行,循環(huán)所有的分段獲得對應的值。如果連續(xù)兩次所有分段的返回的值相等,則認為過程中沒有發(fā)生其他線程修改的情況,返回獲得的值。鎖分離方法減少了請求同一鎖的頻率,有效地縮短了鎖的持有時間,使得HashMap的并發(fā)性能有了質的提高。當循環(huán)次數(shù)超過預定義值時需要依次鎖定所有分段,獲取返回值后按順序解鎖。加鎖過程中強制鎖定所有的分段,避免出現(xiàn)其他線程創(chuàng)建分段與插入等操作。

    3.2 ?分段鎖的并行度

    分段鎖保證了鎖競爭只存在于同一分段內,不同Segment之間不存在鎖競爭。與鎖定整表的設計相比,分段鎖在高并發(fā)環(huán)境下,有效的提升了程序的處理能力,但是由于不是對整個數(shù)據(jù)結構加鎖,導致一些需要掃描全表的方法需要使用特殊的實現(xiàn)方式,如Clear方法就降低了對一致性的要求。除了第一個分段鎖之外,剩余的分段鎖采用的是延遲初始化的機制,在每次插入操作前需要檢查Key對應的分段是否存在[11]。如果不存在就創(chuàng)建分段鎖,當鏈表的長度太長時會經常發(fā)生哈希沖突,插入和刪除鏈表的操作需要很長的時間。并發(fā)度是不產生鎖競爭的最大線程數(shù),實際上就是Segment數(shù)組長度,默認的并發(fā)度為16,同時支持用戶自定義并發(fā)度。如果并發(fā)設置太小,會出現(xiàn)嚴重的鎖爭用問題。如果并發(fā)性設置得太大,最初位于同一段中的數(shù)據(jù)訪問將擴展到不同的分段鎖,命中率會下降引起檢索效率下降。

    4 ?CAS算法優(yōu)化

    4.1 ?CAS算法原子性原理

    進行CAS操作時將,首先變量的期望值與當前值進行比較,如果變量的當前值等于預期值,則使用新值替換當前變量的值[12]。采用CAS算法實現(xiàn)并發(fā)環(huán)境下的無鎖策略,檢測到線程沖突時協(xié)調當前操作。使用沒有鎖定機制的Volatile原語,保證了線程之間數(shù)據(jù)的可見性,可以直接讀取變量值。Volatile變量的讀寫與CAS實現(xiàn)線程之間的通信的可見性與有序性,不會阻塞線程,并且比同步鎖的響應更好。采用CAS操作每次從內存中讀取數(shù)據(jù),確保對內存的讀改寫操作是原子執(zhí)行。無鎖是一種樂觀的策略,假設在訪問資源時沒有沖突,線程不需要阻塞。相對于悲觀鎖策略,CAS算法使程序設計有明顯的優(yōu)勢,無鎖方式避免了鎖競爭的性能開銷,以及在線程間調度的性能開銷,提供了更好的并發(fā)讀寫性能,也降低了對讀一致性的要求。

    CAS使用處理器提供的機器級原子指令,以原子方式對存儲器執(zhí)行讀寫操作,這是多處理器實現(xiàn)同步的關鍵。支持原子讀寫指令的計算機是一個順序計算圖靈機的異步等價機器,多處理器都支持對內存執(zhí)行原子讀寫的指令。如果該值在同一時間被另一個線程更新,則寫入失敗,采用自旋的方式繼續(xù)進行CAS操作。CPU提供的特殊指令能夠自動更新共享數(shù)據(jù),排除其他線程的干擾,CPU實現(xiàn)原子操作有以下兩種方式。

    1)通過總線鎖保證原子性??偩€鎖是處理器提供的Lock#信號,能夠阻止其他處理器的請求,確保當前處理器可以獨占共享內存。例如多個處理器同時讀取與修改共享變量,則必須確保CPU1在讀取與寫入共享變量時,CPU2無法讀取共享變量。通過總線鎖定CPU和存儲器之間的通信,使得其他處理器在鎖定期間,無法操縱該存儲器地址的數(shù)據(jù),總線鎖定開銷相對較大。

    2)使用緩存鎖保證原子性。如果在執(zhí)行鎖定前綴指令期間,要訪問的存儲區(qū)已鎖定在處理器的內部高速緩存中,并且存儲區(qū)完全包含在單個高速緩存行中,處理器將直接執(zhí)行指令。由于在執(zhí)行指令期間,始終鎖定高速緩存行,其他處理器不能讀取與寫入指令要訪問的存儲區(qū)域,從而確保指令執(zhí)行的原子性。緩存鎖定將大大降低Lock前綴指令的執(zhí)行開銷,但是當多個處理器之間的競爭程度很高,或指令訪問的內存地址未對齊時,總線仍然處于 ?鎖定狀態(tài),禁止指令與先前和后續(xù)的讀寫指令重新排序。

    4.2 ?CAS算法優(yōu)化方法

    CAS算法可以有效地解決原子操作問題,但CAS算法存在三個問題,包括ABA問題、長周期的時間開銷問題,以及只能保證單個共享變量的原子操作。針對以上三個問題采取以下方法進行優(yōu)化處理。

    (1)增加版本戳避免ABA問題。將版本標記附加到變量的前面,并在每次更新變量時增加版本標記。CAS操作首先檢查當前引用值是否等于預期值,并且當前版本標記是否等于預期值,如果全部相等,以原子方式將引用和版本標記的值設置為給定的更新值。Zookeeper中保持數(shù)據(jù)一致性也是用的這種方式,假設完成操作時不發(fā)生沖突。

    (2)如果自旋CAS長時間不成功,將給CPU帶來非常大的執(zhí)行開銷。如果支持處理器提供的暫停指令,那么效率將得到提高。Pause指令可以延遲管道執(zhí)行指令,以便CPU不會消耗太多的執(zhí)行資源。此外,還可以避免在退出循環(huán)時,由于存儲器序列沖突而清空CPU流水線,提高CPU執(zhí)行效率。

    (3)當對共享變量執(zhí)行操作時,使用循環(huán)CAS方法保證原子操作,但是當對多個共享變量進行操作時,循環(huán)CAS不能保證操作的原子性,可以將多個變量放在CAS操作的對象中,實現(xiàn)對多個共享變量的原子操作。

    4.3 ?CAS算法優(yōu)化實現(xiàn)

    如圖2所示,CAS算法優(yōu)化代碼實現(xiàn)。創(chuàng)建一個Pair類來保存對象的引用和版本標記。Pair對象是不可變的,所有屬性都用Final修飾,并且該方法每次都返回一個新的不可變對象。Volatile類型引用用于指向當前的Pair對象。使用Volatile修改的變量強制將修改后的值立即寫入主內存,主內存值的更新使緩存中的值無效。當Set方法設置的對象與當前Pair對象不同時,創(chuàng)建一個新的不可變的Pair對象。在更新方法中,只有期望對象的引用和版本號,與目標對象的引用和版本相同,將創(chuàng)建一個新Pair對象,然后使用新對象和原始對象執(zhí)行CAS操作。實際上,CAS操作將當前Pair對象與新的Pair對象進行比較,而Pair對象封裝了引用和版本標記。

    5 ?無鎖的數(shù)據(jù)結構與擴容方法

    5.1 ?無鎖實現(xiàn)的數(shù)據(jù)結構

    如圖3所示,鏈表和紅黑樹實現(xiàn)的數(shù)據(jù)結構。基于CAS算法實現(xiàn)并行的HashMap數(shù)據(jù)結構,內部采用數(shù)組、鏈表和紅黑樹實現(xiàn)線程安全操作[13]。HashMap的初始化只能由單線程完成,通過控制標識符確保初始化方法的線程安全,控制標識符不同的取值代表不同的含義。如果控制標識符的值小于0,表示其他線程正在進行初始化,當前線程放棄操作。如果獲得了初始化權限,控制標識符的值置為–1,防止其他線程進入。

    使用Node數(shù)組代替Segment存儲數(shù)據(jù),Node可以是鏈表或紅黑樹結構。如果插入的元素鍵具有相同的哈希值,則鍵位于Node節(jié)點數(shù)組中的同一單元格中。如果鏈表存儲的數(shù)據(jù)超過8個,將鏈表轉換為紅黑樹結構。即使所有Key的哈希值完全相同,紅黑樹中查找某個特定元素復雜度仍然是O(logn)。根據(jù)哈希值計算表中新插入點的位置索引,如果該位置為空則直接插入,否則判斷如果位置是樹節(jié)點,將新節(jié)點作為樹節(jié)點插入,或將其插入到鏈表的末尾。

    CAS算法能夠確保Node操作的原子性,標識符的不同值來代表不同含義起到了控制的作用。采用Node降低鎖的粒度,分段鎖的粒度是Segment包含多個HashEntry,而CAS算法的鎖的粒度就是首節(jié)點HashEntry,減低了數(shù)據(jù)結構實現(xiàn)的復雜度。遍歷數(shù)據(jù)集很大的鏈表的是非常耗時,使用紅黑樹來優(yōu)化鏈表結構,檢索效率上存在一定的優(yōu)勢。

    5.2 ?多線程的擴容方法

    容量不足時需要對Table進行擴容操作,支持無鎖狀態(tài)下的多線程擴容,并發(fā)處理能夠減少擴容的時間開銷。擴容涉及數(shù)據(jù)從一個數(shù)組拷貝到另一個數(shù)組,并發(fā)操作可以在很大程度上提升執(zhí)行效率,整個擴容操作分為兩個部分。

    首先,使用單線程構建一個容量是原來兩倍的目標表Next Table。根據(jù)運算得到需要遍歷的次數(shù)Index,然后獲得Index位置的元素。如果該位置為空就在原Table中的該位置放入Forward節(jié)點,作為連接兩個Table的節(jié)點類,包含一個用于指向下一張表的指針[14]。如果該位置是Node節(jié)點,并且是一個鏈表的頭節(jié)點就構造一個反序鏈表,分別插入目標表Next Table的Index和Index + N的位置。

    然后,采用多線程將源Table中的數(shù)據(jù)復制到目標Next Table中。如果被遍歷的節(jié)點是Forward節(jié)點,當前線程繼續(xù)向后遍歷。處理一個節(jié)點并將相應的點的值設置為Forward,其他個線程檢測到Forward節(jié)點就繼續(xù)向后遍歷。如果檢測到要插入的節(jié)點不是空的或者Forward節(jié)點,則鎖定該節(jié)點以確保線程安全[15]。盡管鎖定該節(jié)點有性能開銷,比起同步鎖還是存在一定的性能優(yōu)勢,交叉執(zhí)行完成數(shù)據(jù)復制,同時也保證了線程安全。

    6 ?實驗和結果分析

    實驗運行環(huán)境的CPU為8 Core、內存配置16GB的單臺服務器,安裝64位CentOS 7操作系統(tǒng)。使用并發(fā)測試工具模擬大規(guī)模并發(fā)操作,返回內存數(shù)據(jù)結構的響應時間。分別測試在兩中情況下,單個線程進行10000次相同操作,向哈希映射數(shù)據(jù)結構中插入一個新鍵值對,再查詢該Key對應的值,并發(fā)量設置為50。如表1所示,統(tǒng)計指標包括響應時間的平均值、中值、偏離值和吞吐量,吞吐量單位是每分鐘。

    如圖4所示,1000個測試樣本數(shù)據(jù)響應時間等指標統(tǒng)計,50并發(fā)量循環(huán)20次,得到1000個測試樣本,普通HashMap數(shù)據(jù)結構的響應時間隨并發(fā)量增加呈現(xiàn)階梯狀增長?;贑AS算法改進的HashMap數(shù)據(jù)結構的階梯幅度明顯小于普通的HashMap數(shù)據(jù)結構,在平均響應時間指標也存在明顯的優(yōu)勢。

    如圖5所示,2000個測試樣本數(shù)據(jù)響應時間等指標統(tǒng)計,50并發(fā)量循環(huán)40次,得到2000個測試樣本呈現(xiàn)相同的規(guī)律,改進的HashMap數(shù)據(jù)結構仍然存在明顯的優(yōu)勢。改進的HashMap數(shù)據(jù)結構主要是為高并發(fā)設計,通過數(shù)據(jù)的弱一致性帶來性能上的大幅提升,降低了執(zhí)行成本和擁有更高的并發(fā)性。

    7 ?結語

    本文提出了基于CAS算法實現(xiàn)線程安全的哈希映射數(shù)據(jù)結構,內部采用數(shù)組、鏈表和紅黑樹實現(xiàn)了高并發(fā)環(huán)境下讀寫效率。通過增加版本戳避免CAS算法中的ABA問題,CAS算法實現(xiàn)的無鎖方式,避免了鎖競爭的開銷,使用紅黑樹來優(yōu)化鏈表,確保數(shù)據(jù)集很大時時間復雜度是O(logn)。在無鎖狀態(tài)下的多線程擴容操作,減少了擴容的時間開銷。通過大規(guī)模的并發(fā)測試,驗證了該數(shù)據(jù)結構在性能上有穩(wěn)定的提升。

    參考文獻

    [1] Al-Wesabi O,Samsudin A. Fast hashing function based on multi-pipeline hash construction (MPHC)[J]. International Journal of Innovative Computing, Information and Control, 2012, 8(11): 7887-7907.

    [2] Li Y T, Xiao D. Parallel Hash function construction based on chaotic maps with changeable parameters[J]. Neural Computing and Applications, 2011, 20(8): 1305-1312.

    [3] Kishore N, Kapoor B. An efficient parallel algorithm for hash computation in security and forensics applications[C]//Pro?ceedings on IEEE International Advance Computing Conference, 2014: 873-877.

    [4] 徐勁松, 張民選. Merkle-Damgrd Hash結構并行擴展算法[J]. 國防科技大學學報, 2017, 39(06): 59-63.

    [5] 張濱, 樂嘉錦. 基于列存儲的MapReduce分布式Hash連接算法[J]. 計算機科學, 2018, 45(S1): 471-475+505.

    [6] 李濤, 董前琨, 張帥. 基于線程池的GPU任務并行計算模式研究[J]. 計算機學報, 2018, 41(10): 2175-2192.

    [7] 吳泉源, 彭燦. 適用于海量數(shù)據(jù)應用的多維Hash表結構[J]. 清華大學學報(自然科學版), 2017, 57(06): 586-590.

    [8] 陳之彥, 李曉杰. 基于Hash結構詞典的雙向最大匹配分詞法[J]. 計算機科學, 2015, 42(S2): 49-54.

    [9] 王興, 鮑志偉. 適用于高速檢索的完美Hash函數(shù)[J]. 計算機系統(tǒng)應用, 2016, 25(02): 250-256.

    [10] 劉志強, 宋君強. 基于線程的MPI通信加速器技術研究[J]. 計算機學報, 2011, 34(01): 154-164.

    [11] 吳恩慈. 基于JAVA大規(guī)模應用中GC算法和調優(yōu)技術研究[J]. 電子技術與軟件工程, 2016(04): 249.

    [12] 錢振江, 盧亮. 微內核架構多線程機制的形式化設計研究[J]. 計算機科學, 2013, 40(04): 136-141+163.

    [13] 張良, 劉敬浩. 命名數(shù)據(jù)網絡中基于Hash映射的命名檢索. 計算機工程, 2014, 40(4): 108-111.

    [14] 母紅芬, 李征. HashMap優(yōu)化及其在列存儲數(shù)據(jù)庫查詢中的應用[J]. 計算機科學與探索, 2016, 10(09): 1250-1261.

    [15] 賈剛勇, 萬健, 李曦. 一種結合頁分配和組調度的內存功耗優(yōu)化方法[J]. 軟件學報, 2014, 25(07): 1403-1415.

    成人影院久久| 无遮挡黄片免费观看| 国产一卡二卡三卡精品| 久久精品91无色码中文字幕| 午夜成年电影在线免费观看| 国产精品熟女久久久久浪| 欧美+亚洲+日韩+国产| 一二三四社区在线视频社区8| 久久亚洲真实| 亚洲第一欧美日韩一区二区三区 | 国产xxxxx性猛交| 久久久国产精品麻豆| 高清毛片免费观看视频网站 | 一个人免费在线观看的高清视频| 国产精品美女特级片免费视频播放器 | xxxhd国产人妻xxx| 亚洲精品一卡2卡三卡4卡5卡| 欧美精品高潮呻吟av久久| 一二三四社区在线视频社区8| 桃红色精品国产亚洲av| 人人澡人人妻人| 在线观看66精品国产| 国产一区有黄有色的免费视频| 亚洲精品粉嫩美女一区| 美女主播在线视频| 真人做人爱边吃奶动态| 久久久久久久大尺度免费视频| 蜜桃在线观看..| av超薄肉色丝袜交足视频| 一本—道久久a久久精品蜜桃钙片| 丝袜美足系列| 国产日韩欧美亚洲二区| 亚洲七黄色美女视频| 在线av久久热| 亚洲va日本ⅴa欧美va伊人久久| 午夜免费成人在线视频| 亚洲av日韩精品久久久久久密| 久久香蕉激情| 精品高清国产在线一区| 亚洲伊人色综图| 国产三级黄色录像| 十分钟在线观看高清视频www| 中文字幕av电影在线播放| 每晚都被弄得嗷嗷叫到高潮| 亚洲中文av在线| 中文字幕人妻熟女乱码| 午夜日韩欧美国产| 男女午夜视频在线观看| 国产亚洲精品久久久久5区| 色婷婷av一区二区三区视频| 亚洲自偷自拍图片 自拍| 色在线成人网| 久久精品国产亚洲av高清一级| 日韩大片免费观看网站| 欧美人与性动交α欧美软件| 亚洲欧美色中文字幕在线| 香蕉丝袜av| 久久这里只有精品19| 在线观看免费高清a一片| 丝袜在线中文字幕| 操美女的视频在线观看| 国产在线精品亚洲第一网站| 日韩免费av在线播放| 一二三四社区在线视频社区8| 久久午夜亚洲精品久久| 免费一级毛片在线播放高清视频 | 欧美另类亚洲清纯唯美| 亚洲精品一卡2卡三卡4卡5卡| 午夜福利一区二区在线看| 欧美精品人与动牲交sv欧美| 丰满人妻熟妇乱又伦精品不卡| 一级黄色大片毛片| 久久精品aⅴ一区二区三区四区| 欧美精品人与动牲交sv欧美| 淫妇啪啪啪对白视频| 亚洲精品中文字幕在线视频| 亚洲性夜色夜夜综合| bbb黄色大片| 久久精品国产综合久久久| 久久精品国产a三级三级三级| 视频区欧美日本亚洲| 国产av又大| 91老司机精品| 好男人电影高清在线观看| 91成年电影在线观看| 免费不卡黄色视频| 色老头精品视频在线观看| 美女午夜性视频免费| 国产成人精品无人区| 久久久久国产一级毛片高清牌| 在线 av 中文字幕| 亚洲成人国产一区在线观看| 久久久精品国产亚洲av高清涩受| 欧美人与性动交α欧美软件| 亚洲成人国产一区在线观看| 亚洲天堂av无毛| 99精品在免费线老司机午夜| 一个人免费看片子| 久久久久久久精品吃奶| 男女高潮啪啪啪动态图| 纯流量卡能插随身wifi吗| 国产精品.久久久| 久久久精品国产亚洲av高清涩受| 我要看黄色一级片免费的| 久久国产精品男人的天堂亚洲| cao死你这个sao货| 国产人伦9x9x在线观看| 欧美日韩黄片免| 国产在线免费精品| 精品午夜福利视频在线观看一区 | 俄罗斯特黄特色一大片| svipshipincom国产片| 亚洲精品成人av观看孕妇| 宅男免费午夜| 免费在线观看黄色视频的| 色播在线永久视频| 亚洲国产毛片av蜜桃av| a在线观看视频网站| 黄色怎么调成土黄色| 天天躁夜夜躁狠狠躁躁| 大型av网站在线播放| 一级毛片电影观看| 久久人人97超碰香蕉20202| 久久中文字幕一级| 久久ye,这里只有精品| 热re99久久精品国产66热6| 久久久久精品人妻al黑| 在线av久久热| 欧美日韩黄片免| 成人亚洲精品一区在线观看| 美女扒开内裤让男人捅视频| 纯流量卡能插随身wifi吗| 丝袜美腿诱惑在线| 亚洲情色 制服丝袜| 久久人人97超碰香蕉20202| 中文字幕人妻丝袜制服| 国产亚洲午夜精品一区二区久久| 日韩免费av在线播放| 日韩欧美免费精品| 久久ye,这里只有精品| 女人被躁到高潮嗷嗷叫费观| 狠狠狠狠99中文字幕| www.熟女人妻精品国产| 丝瓜视频免费看黄片| 一夜夜www| 欧美国产精品一级二级三级| 18禁观看日本| 人成视频在线观看免费观看| 免费一级毛片在线播放高清视频 | 精品一区二区三区av网在线观看 | 日本av免费视频播放| 99国产精品99久久久久| 精品人妻在线不人妻| 男人操女人黄网站| 热99国产精品久久久久久7| 考比视频在线观看| 亚洲人成伊人成综合网2020| 在线观看66精品国产| 岛国毛片在线播放| 午夜成年电影在线免费观看| 12—13女人毛片做爰片一| 亚洲九九香蕉| 国产在线精品亚洲第一网站| 色在线成人网| 欧美人与性动交α欧美精品济南到| 亚洲欧美一区二区三区久久| 久久av网站| 国产麻豆69| www日本在线高清视频| 蜜桃在线观看..| 人人妻人人澡人人看| 国产精品熟女久久久久浪| 国产一卡二卡三卡精品| 老司机午夜福利在线观看视频 | 18禁美女被吸乳视频| 成人18禁高潮啪啪吃奶动态图| 久久人人97超碰香蕉20202| 69av精品久久久久久 | 露出奶头的视频| 欧美另类亚洲清纯唯美| 国产在线一区二区三区精| 欧美在线一区亚洲| 在线观看舔阴道视频| 欧美黑人精品巨大| 99久久精品国产亚洲精品| 变态另类成人亚洲欧美熟女 | 老司机亚洲免费影院| 欧美黑人欧美精品刺激| 欧美另类亚洲清纯唯美| 女人高潮潮喷娇喘18禁视频| 制服诱惑二区| 午夜激情av网站| av有码第一页| 久久热在线av| 国产高清激情床上av| 国产欧美日韩综合在线一区二区| 女同久久另类99精品国产91| 精品国产乱码久久久久久男人| 搡老乐熟女国产| 老熟女久久久| 波多野结衣一区麻豆| 巨乳人妻的诱惑在线观看| 最新的欧美精品一区二区| 色播在线永久视频| 国产免费av片在线观看野外av| 成人黄色视频免费在线看| 一本久久精品| 岛国毛片在线播放| 两个人看的免费小视频| 精品国产一区二区三区四区第35| 国产成人一区二区三区免费视频网站| 欧美日韩av久久| 啦啦啦 在线观看视频| 精品久久蜜臀av无| 亚洲精品在线观看二区| 欧美人与性动交α欧美精品济南到| 99国产精品一区二区三区| 91麻豆精品激情在线观看国产 | 91国产中文字幕| 午夜福利影视在线免费观看| 大香蕉久久网| 正在播放国产对白刺激| 久久狼人影院| 亚洲免费av在线视频| 欧美成人午夜精品| 最近最新中文字幕大全免费视频| 大片免费播放器 马上看| 久久天堂一区二区三区四区| 老司机午夜福利在线观看视频 | 十八禁人妻一区二区| 亚洲欧美一区二区三区久久| 国产午夜精品久久久久久| 一级片'在线观看视频| 丝袜在线中文字幕| 免费人妻精品一区二区三区视频| 热99国产精品久久久久久7| 亚洲精品粉嫩美女一区| av天堂久久9| 色在线成人网| 国产一区二区在线观看av| 亚洲五月色婷婷综合| 久久中文字幕一级| 国产成人精品久久二区二区免费| 久久久久精品人妻al黑| 国产一区二区 视频在线| 亚洲成人免费av在线播放| 成人手机av| 亚洲自偷自拍图片 自拍| 亚洲精品美女久久av网站| 熟女少妇亚洲综合色aaa.| 日韩免费av在线播放| 亚洲av国产av综合av卡| 岛国在线观看网站| 色94色欧美一区二区| 两个人看的免费小视频| 男女无遮挡免费网站观看| 人人妻人人澡人人看| 亚洲三区欧美一区| 亚洲精品自拍成人| 曰老女人黄片| 久久中文字幕一级| 99九九在线精品视频| 十八禁网站网址无遮挡| 久久热在线av| 亚洲精品一二三| 一本色道久久久久久精品综合| 欧美亚洲日本最大视频资源| 高清毛片免费观看视频网站 | 老司机福利观看| 久久久久久久国产电影| 国产精品偷伦视频观看了| 久久精品亚洲精品国产色婷小说| 国产在线视频一区二区| 人人妻人人添人人爽欧美一区卜| 18禁国产床啪视频网站| 国产男女内射视频| 97在线人人人人妻| 日本一区二区免费在线视频| 日韩中文字幕欧美一区二区| 欧美精品一区二区大全| 超碰成人久久| 国内毛片毛片毛片毛片毛片| 在线观看舔阴道视频| 精品人妻熟女毛片av久久网站| 中文字幕色久视频| 日韩成人在线观看一区二区三区| 国产成人免费观看mmmm| 亚洲av成人不卡在线观看播放网| 欧美日韩福利视频一区二区| 免费在线观看影片大全网站| 欧美日韩视频精品一区| 亚洲熟女毛片儿| 在线看a的网站| 亚洲av片天天在线观看| 亚洲精品国产精品久久久不卡| 国产人伦9x9x在线观看| 久久天堂一区二区三区四区| 国产片内射在线| 日本欧美视频一区| 在线av久久热| tube8黄色片| 国产精品秋霞免费鲁丝片| 国产亚洲一区二区精品| 在线观看免费日韩欧美大片| 一边摸一边做爽爽视频免费| 最近最新免费中文字幕在线| 国产精品1区2区在线观看. | 久久九九热精品免费| 久热爱精品视频在线9| 国产福利在线免费观看视频| 热99国产精品久久久久久7| 国产一区二区三区在线臀色熟女 | 制服人妻中文乱码| 亚洲国产看品久久| 精品午夜福利视频在线观看一区 | 欧美日韩福利视频一区二区| 老熟妇仑乱视频hdxx| 桃红色精品国产亚洲av| 激情视频va一区二区三区| 国产精品 国内视频| www日本在线高清视频| 丝袜美腿诱惑在线| 午夜福利影视在线免费观看| 国产亚洲精品久久久久5区| 99久久99久久久精品蜜桃| 国产一区二区激情短视频| 人人妻人人添人人爽欧美一区卜| 精品少妇黑人巨大在线播放| 久久国产精品人妻蜜桃| 深夜精品福利| 精品国产乱子伦一区二区三区| 1024香蕉在线观看| 成人18禁高潮啪啪吃奶动态图| 80岁老熟妇乱子伦牲交| 国产亚洲午夜精品一区二区久久| 午夜福利一区二区在线看| 亚洲avbb在线观看| 亚洲国产看品久久| √禁漫天堂资源中文www| 国产xxxxx性猛交| 国产成人欧美在线观看 | 肉色欧美久久久久久久蜜桃| 欧美人与性动交α欧美软件| 高清黄色对白视频在线免费看| 国产在视频线精品| 久久人妻熟女aⅴ| 久久精品亚洲精品国产色婷小说| 天堂中文最新版在线下载| 天天躁日日躁夜夜躁夜夜| 91成年电影在线观看| 国产免费视频播放在线视频| 亚洲熟妇熟女久久| 热re99久久国产66热| 国产午夜精品久久久久久| 国产精品电影一区二区三区 | 在线观看免费午夜福利视频| 男人舔女人的私密视频| 菩萨蛮人人尽说江南好唐韦庄| 在线亚洲精品国产二区图片欧美| 99久久国产精品久久久| 人人妻,人人澡人人爽秒播| 亚洲国产av新网站| 精品人妻1区二区| 99久久精品国产亚洲精品| 午夜免费成人在线视频| 中文字幕色久视频| 久久精品熟女亚洲av麻豆精品| 婷婷丁香在线五月| 亚洲第一av免费看| 国产精品久久电影中文字幕 | 超碰成人久久| 交换朋友夫妻互换小说| 97人妻天天添夜夜摸| 久久久久久久久久久久大奶| 少妇 在线观看| 亚洲精品自拍成人| 999久久久精品免费观看国产| 桃红色精品国产亚洲av| 亚洲国产欧美日韩在线播放| 视频区图区小说| 伊人久久大香线蕉亚洲五| 99久久国产精品久久久| 亚洲成人免费av在线播放| 嫁个100分男人电影在线观看| 在线观看舔阴道视频| 亚洲少妇的诱惑av| 一区二区日韩欧美中文字幕| 亚洲熟女精品中文字幕| 精品少妇一区二区三区视频日本电影| 99国产精品一区二区蜜桃av | 一进一出抽搐动态| 成人永久免费在线观看视频 | 午夜日韩欧美国产| 国产欧美日韩精品亚洲av| 国产精品欧美亚洲77777| 97在线人人人人妻| 久久香蕉激情| 精品国产亚洲在线| 夜夜爽天天搞| 一区二区三区国产精品乱码| 国产免费av片在线观看野外av| 一本—道久久a久久精品蜜桃钙片| 欧美+亚洲+日韩+国产| 成人手机av| 亚洲va日本ⅴa欧美va伊人久久| 国产在线视频一区二区| 成人三级做爰电影| 免费在线观看影片大全网站| 母亲3免费完整高清在线观看| 欧美日韩国产mv在线观看视频| 欧美激情 高清一区二区三区| 亚洲精品乱久久久久久| 亚洲少妇的诱惑av| 视频区图区小说| 妹子高潮喷水视频| 国产成人精品久久二区二区91| 一区二区三区国产精品乱码| 美女高潮喷水抽搐中文字幕| 欧美中文综合在线视频| 新久久久久国产一级毛片| 国产熟女午夜一区二区三区| 麻豆成人av在线观看| 最近最新中文字幕大全免费视频| 咕卡用的链子| 性高湖久久久久久久久免费观看| 看免费av毛片| 欧美黄色片欧美黄色片| 正在播放国产对白刺激| 午夜福利欧美成人| 成人国产av品久久久| 悠悠久久av| 男女午夜视频在线观看| 国产欧美日韩一区二区精品| 在线观看免费视频日本深夜| 一本一本久久a久久精品综合妖精| 老司机福利观看| 日韩免费av在线播放| 啪啪无遮挡十八禁网站| 欧美在线一区亚洲| 色视频在线一区二区三区| 精品一品国产午夜福利视频| 夜夜夜夜夜久久久久| 男人舔女人的私密视频| 欧美日韩视频精品一区| 一级黄色大片毛片| 亚洲黑人精品在线| 一本大道久久a久久精品| 国产精品.久久久| 怎么达到女性高潮| 黄片小视频在线播放| 50天的宝宝边吃奶边哭怎么回事| 国产男女超爽视频在线观看| 一边摸一边抽搐一进一出视频| 超色免费av| 999久久久国产精品视频| 首页视频小说图片口味搜索| 久久久欧美国产精品| 精品一区二区三区av网在线观看 | 久久久久国产一级毛片高清牌| 少妇被粗大的猛进出69影院| 亚洲精品久久午夜乱码| 成在线人永久免费视频| 99国产精品一区二区三区| 久久久久国内视频| 自线自在国产av| 精品午夜福利视频在线观看一区 | 亚洲精品国产一区二区精华液| 国产伦理片在线播放av一区| 色综合婷婷激情| 国产福利在线免费观看视频| 亚洲精品在线美女| 亚洲免费av在线视频| 人妻 亚洲 视频| 脱女人内裤的视频| 亚洲精品中文字幕一二三四区 | 精品久久久久久电影网| 国产不卡一卡二| 精品第一国产精品| 国产av精品麻豆| 国产精品久久久久久精品电影小说| 成人手机av| 女人高潮潮喷娇喘18禁视频| 丰满人妻熟妇乱又伦精品不卡| 久久久水蜜桃国产精品网| 久久精品国产综合久久久| 一级片免费观看大全| 成人av一区二区三区在线看| 精品久久蜜臀av无| 日本精品一区二区三区蜜桃| 女人爽到高潮嗷嗷叫在线视频| 老鸭窝网址在线观看| 999久久久精品免费观看国产| 色婷婷av一区二区三区视频| 他把我摸到了高潮在线观看 | 亚洲黑人精品在线| 久久久久久人人人人人| av网站在线播放免费| 国产伦理片在线播放av一区| 欧美乱码精品一区二区三区| 啪啪无遮挡十八禁网站| 18禁观看日本| 法律面前人人平等表现在哪些方面| 99在线人妻在线中文字幕 | 国产精品麻豆人妻色哟哟久久| 男女高潮啪啪啪动态图| 91成年电影在线观看| 老司机在亚洲福利影院| av福利片在线| av欧美777| 国精品久久久久久国模美| 亚洲国产精品一区二区三区在线| 超碰97精品在线观看| 夜夜夜夜夜久久久久| 国产一卡二卡三卡精品| 精品久久久精品久久久| 大香蕉久久成人网| 一个人免费看片子| 黄色a级毛片大全视频| 少妇裸体淫交视频免费看高清 | 久久久久久亚洲精品国产蜜桃av| 国产一区有黄有色的免费视频| 欧美精品av麻豆av| 精品国产一区二区三区久久久樱花| 午夜日韩欧美国产| 欧美日韩亚洲综合一区二区三区_| 热99国产精品久久久久久7| 久久午夜亚洲精品久久| 免费少妇av软件| 我的亚洲天堂| 久久99一区二区三区| 成人av一区二区三区在线看| 美女扒开内裤让男人捅视频| 女性生殖器流出的白浆| 欧美日韩精品网址| 久久久精品国产亚洲av高清涩受| 久久久欧美国产精品| 丰满少妇做爰视频| 欧美亚洲 丝袜 人妻 在线| 涩涩av久久男人的天堂| 久久人人爽av亚洲精品天堂| 成在线人永久免费视频| 久久久精品区二区三区| 少妇的丰满在线观看| 人人妻人人爽人人添夜夜欢视频| 又黄又粗又硬又大视频| 制服诱惑二区| 久久狼人影院| 成人精品一区二区免费| 国产黄色免费在线视频| 十八禁高潮呻吟视频| 久久人妻av系列| 搡老岳熟女国产| 脱女人内裤的视频| 夜夜爽天天搞| 人人妻,人人澡人人爽秒播| 制服人妻中文乱码| 免费观看av网站的网址| 每晚都被弄得嗷嗷叫到高潮| 国产激情久久老熟女| 国产精品九九99| 夜夜骑夜夜射夜夜干| 中亚洲国语对白在线视频| 亚洲五月色婷婷综合| 最近最新免费中文字幕在线| 最新在线观看一区二区三区| 91成人精品电影| 欧美一级毛片孕妇| 国产精品免费一区二区三区在线 | 久久九九热精品免费| 亚洲精品国产区一区二| 日本一区二区免费在线视频| 极品少妇高潮喷水抽搐| 成人三级做爰电影| 亚洲精品一二三| 啦啦啦在线免费观看视频4| 亚洲人成77777在线视频| www日本在线高清视频| 1024视频免费在线观看| 每晚都被弄得嗷嗷叫到高潮| 两人在一起打扑克的视频| 日本欧美视频一区| 伦理电影免费视频| 亚洲熟妇熟女久久| 欧美日韩国产mv在线观看视频| 男女下面插进去视频免费观看| 侵犯人妻中文字幕一二三四区| 欧美乱妇无乱码| 国产在线一区二区三区精| 久久久国产一区二区| 国产伦理片在线播放av一区| 国产1区2区3区精品| 国产伦人伦偷精品视频| 黄色成人免费大全| 麻豆国产av国片精品| 精品亚洲成a人片在线观看| 国产精品久久电影中文字幕 | 日韩三级视频一区二区三区| 久热爱精品视频在线9| 久久精品国产99精品国产亚洲性色 | 99国产精品一区二区蜜桃av | 少妇裸体淫交视频免费看高清 | xxxhd国产人妻xxx| 久久人妻福利社区极品人妻图片| 黄色毛片三级朝国网站| 国产单亲对白刺激| 成年动漫av网址| 最近最新中文字幕大全电影3 | 天天躁日日躁夜夜躁夜夜| 夜夜爽天天搞| 免费在线观看影片大全网站| 成人国产av品久久久| 操美女的视频在线观看| 精品视频人人做人人爽| 黄色a级毛片大全视频| 99精国产麻豆久久婷婷|