• <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.

    春色校园在线视频观看| 免费大片18禁| 国产精品免费一区二区三区在线| 搡女人真爽免费视频火全软件| 国产 一区精品| 黄片无遮挡物在线观看| 伦精品一区二区三区| 97超碰精品成人国产| 日韩亚洲欧美综合| 久久久a久久爽久久v久久| 成人永久免费在线观看视频| 日韩欧美精品v在线| 久久精品综合一区二区三区| 日韩 亚洲 欧美在线| 国产乱人偷精品视频| 国产精品一区二区三区四区免费观看| 日韩欧美精品v在线| 久久久精品欧美日韩精品| av女优亚洲男人天堂| 亚洲天堂国产精品一区在线| 日本-黄色视频高清免费观看| 色综合亚洲欧美另类图片| 亚洲七黄色美女视频| 亚洲欧美中文字幕日韩二区| 美女被艹到高潮喷水动态| 身体一侧抽搐| 国产一区二区激情短视频| 国产亚洲av嫩草精品影院| 亚洲国产精品久久男人天堂| 日本成人三级电影网站| 日韩欧美三级三区| 老司机影院成人| 国产成人a区在线观看| 美女脱内裤让男人舔精品视频 | 国产精华一区二区三区| 成人综合一区亚洲| 男女啪啪激烈高潮av片| 舔av片在线| 狂野欧美白嫩少妇大欣赏| 欧美潮喷喷水| av在线观看视频网站免费| 久久久久久久午夜电影| 欧美色欧美亚洲另类二区| 亚洲成av人片在线播放无| 国产精品综合久久久久久久免费| 哪里可以看免费的av片| 三级毛片av免费| 亚洲av中文字字幕乱码综合| 国产极品天堂在线| 搡老妇女老女人老熟妇| 99热这里只有精品一区| 在线天堂最新版资源| 免费电影在线观看免费观看| 毛片女人毛片| 男女那种视频在线观看| 天堂中文最新版在线下载 | 国产日本99.免费观看| 日韩欧美在线乱码| 亚洲精品日韩av片在线观看| 亚洲婷婷狠狠爱综合网| 国产在线精品亚洲第一网站| 黄色一级大片看看| 一区二区三区高清视频在线| 日日啪夜夜撸| 久久99精品国语久久久| 亚洲乱码一区二区免费版| 91aial.com中文字幕在线观看| 草草在线视频免费看| 我的女老师完整版在线观看| 免费电影在线观看免费观看| 国产高清视频在线观看网站| 久久久精品94久久精品| 午夜亚洲福利在线播放| 好男人视频免费观看在线| 最近的中文字幕免费完整| 校园春色视频在线观看| 免费看日本二区| 欧洲精品卡2卡3卡4卡5卡区| 亚洲人成网站高清观看| 中文资源天堂在线| 三级经典国产精品| 夜夜看夜夜爽夜夜摸| 欧美一区二区精品小视频在线| 午夜福利在线在线| 国产一区二区在线观看日韩| 亚洲久久久久久中文字幕| 精品国内亚洲2022精品成人| 日本与韩国留学比较| 观看美女的网站| 亚洲av不卡在线观看| 欧美激情久久久久久爽电影| 高清日韩中文字幕在线| 亚洲国产精品成人久久小说 | 床上黄色一级片| 99国产精品一区二区蜜桃av| 国模一区二区三区四区视频| 亚洲精品久久国产高清桃花| 午夜老司机福利剧场| 日韩亚洲欧美综合| 夜夜夜夜夜久久久久| 日本黄色片子视频| 一级av片app| 中文字幕人妻熟人妻熟丝袜美| 国产激情偷乱视频一区二区| 欧美激情国产日韩精品一区| 变态另类成人亚洲欧美熟女| 国产极品天堂在线| 黑人高潮一二区| 91在线精品国自产拍蜜月| 女的被弄到高潮叫床怎么办| 亚洲国产高清在线一区二区三| av又黄又爽大尺度在线免费看 | 99热这里只有是精品在线观看| 日韩成人伦理影院| 久久精品夜夜夜夜夜久久蜜豆| 好男人视频免费观看在线| 久久人妻av系列| 亚洲一区二区三区色噜噜| 有码 亚洲区| 精品无人区乱码1区二区| 色5月婷婷丁香| 免费观看a级毛片全部| 日日摸夜夜添夜夜爱| 久久精品国产鲁丝片午夜精品| 国产高清不卡午夜福利| 久久久精品94久久精品| 九九爱精品视频在线观看| 日本成人三级电影网站| 少妇的逼好多水| 欧美xxxx性猛交bbbb| 亚洲国产日韩欧美精品在线观看| 亚洲精品成人久久久久久| 99久久无色码亚洲精品果冻| 国产激情偷乱视频一区二区| 少妇丰满av| 日本一二三区视频观看| av在线亚洲专区| 少妇丰满av| 男插女下体视频免费在线播放| 免费观看精品视频网站| 2022亚洲国产成人精品| 中国美女看黄片| 精品久久久噜噜| 亚洲激情五月婷婷啪啪| 99久久无色码亚洲精品果冻| 天堂网av新在线| 亚洲精品日韩在线中文字幕 | 美女脱内裤让男人舔精品视频 | 天堂影院成人在线观看| 国产女主播在线喷水免费视频网站 | 波野结衣二区三区在线| 亚洲自偷自拍三级| 国产一级毛片在线| 国产一级毛片七仙女欲春2| 少妇丰满av| av视频在线观看入口| 乱码一卡2卡4卡精品| 91久久精品电影网| 久久综合国产亚洲精品| 最近最新中文字幕大全电影3| 麻豆久久精品国产亚洲av| 嫩草影院精品99| 99热这里只有精品一区| 亚洲精品乱码久久久久久按摩| 亚洲av一区综合| 国内久久婷婷六月综合欲色啪| 麻豆久久精品国产亚洲av| 国产精品精品国产色婷婷| 成熟少妇高潮喷水视频| 欧美一区二区精品小视频在线| 综合色丁香网| 亚洲在线观看片| 久久久午夜欧美精品| 99国产精品一区二区蜜桃av| 波多野结衣巨乳人妻| 97人妻精品一区二区三区麻豆| videossex国产| 欧美最黄视频在线播放免费| 国产一区二区三区av在线 | 精品一区二区三区人妻视频| 成人午夜高清在线视频| 啦啦啦观看免费观看视频高清| 亚洲真实伦在线观看| 男女视频在线观看网站免费| 国产午夜精品一二区理论片| 免费av毛片视频| 最近的中文字幕免费完整| 国产精品一区二区三区四区免费观看| 一级毛片电影观看 | 精品久久久久久成人av| 91久久精品电影网| 久久韩国三级中文字幕| 人人妻人人看人人澡| avwww免费| 国产老妇伦熟女老妇高清| 欧美日韩国产亚洲二区| 国产男人的电影天堂91| 欧美丝袜亚洲另类| 寂寞人妻少妇视频99o| 免费大片18禁| 成人欧美大片| 最新中文字幕久久久久| 日韩一区二区三区影片| 不卡一级毛片| av卡一久久| 免费人成在线观看视频色| 成人三级黄色视频| 在线免费观看不下载黄p国产| 黄色配什么色好看| АⅤ资源中文在线天堂| 中文字幕制服av| 日本黄大片高清| 国产黄片视频在线免费观看| 看片在线看免费视频| 黄片wwwwww| 亚洲精品乱码久久久久久按摩| 亚洲欧美日韩卡通动漫| 亚洲精华国产精华液的使用体验 | 国产精品电影一区二区三区| 亚洲av男天堂| 青春草国产在线视频 | 精品免费久久久久久久清纯| a级一级毛片免费在线观看| avwww免费| 国产精品美女特级片免费视频播放器| 九九在线视频观看精品| 69人妻影院| 99热精品在线国产| 国产精品免费一区二区三区在线| 精品久久久久久成人av| 国产一区二区三区av在线 | 欧美日本亚洲视频在线播放| 国产真实乱freesex| 看免费成人av毛片| 一级二级三级毛片免费看| 精品久久久久久久久久久久久| 午夜福利在线在线| 男插女下体视频免费在线播放| 欧美+日韩+精品| 亚洲一级一片aⅴ在线观看| 美女高潮的动态| 成年女人看的毛片在线观看| 免费大片18禁| 看黄色毛片网站| 久久久成人免费电影| 国产中年淑女户外野战色| 国产精品1区2区在线观看.| 国产视频首页在线观看| 久久久久久久亚洲中文字幕| av国产免费在线观看| 精品人妻熟女av久视频| 国产精品一区二区在线观看99 | 日韩一本色道免费dvd| 亚洲精品影视一区二区三区av| 国产成人午夜福利电影在线观看| 床上黄色一级片| 亚洲第一电影网av| 最新中文字幕久久久久| 嘟嘟电影网在线观看| 99久久久亚洲精品蜜臀av| 99久久无色码亚洲精品果冻| 日韩国内少妇激情av| 国产一区二区激情短视频| 级片在线观看| 午夜a级毛片| 韩国av在线不卡| 亚洲欧美精品自产自拍| 一边摸一边抽搐一进一小说| 国产白丝娇喘喷水9色精品| 中国国产av一级| 久久久久久久亚洲中文字幕| 男人舔女人下体高潮全视频| 国产单亲对白刺激| 久久99蜜桃精品久久| 久久久久网色| 永久网站在线| 午夜免费激情av| 熟妇人妻久久中文字幕3abv| 舔av片在线| 青春草视频在线免费观看| 国产精品av视频在线免费观看| 久久99热6这里只有精品| 精品熟女少妇av免费看| 一区二区三区免费毛片| 国产毛片a区久久久久| 久久久久久大精品| 成人午夜精彩视频在线观看| 中文精品一卡2卡3卡4更新| 精品99又大又爽又粗少妇毛片| 神马国产精品三级电影在线观看| 乱系列少妇在线播放| 美女脱内裤让男人舔精品视频 | 午夜视频国产福利| 亚洲av成人av| 久久久久久久久久久丰满| 精品人妻视频免费看| 亚洲自拍偷在线| videossex国产| 伊人久久精品亚洲午夜| 18禁在线播放成人免费| 少妇的逼水好多| 丰满人妻一区二区三区视频av| 欧美极品一区二区三区四区| 国产精品无大码| 乱系列少妇在线播放| 日本黄色视频三级网站网址| 成人无遮挡网站| 天天一区二区日本电影三级| 一夜夜www| 国产成人午夜福利电影在线观看| 久久久久久国产a免费观看| 国产在线精品亚洲第一网站| 丰满人妻一区二区三区视频av| 国产精品久久电影中文字幕| 欧美bdsm另类| 亚洲欧美精品综合久久99| 亚洲精品久久久久久婷婷小说 | 国产精品一二三区在线看| 成人毛片60女人毛片免费| 一边摸一边抽搐一进一小说| 精品不卡国产一区二区三区| 最后的刺客免费高清国语| 大香蕉久久网| 夜夜爽天天搞| 国产精品.久久久| 日韩成人av中文字幕在线观看| 午夜视频国产福利| 亚洲无线在线观看| 18+在线观看网站| 精品久久国产蜜桃| 国产激情偷乱视频一区二区| 欧美一区二区国产精品久久精品| 波多野结衣巨乳人妻| 国产成人精品婷婷| 一级毛片aaaaaa免费看小| 亚州av有码| 天堂影院成人在线观看| 色吧在线观看| 在线播放国产精品三级| 日日撸夜夜添| av在线老鸭窝| 免费不卡的大黄色大毛片视频在线观看 | or卡值多少钱| 内地一区二区视频在线| 22中文网久久字幕| 三级男女做爰猛烈吃奶摸视频| 久久精品久久久久久噜噜老黄 | 免费观看人在逋| 午夜精品国产一区二区电影 | 熟妇人妻久久中文字幕3abv| 国产蜜桃级精品一区二区三区| 日韩亚洲欧美综合| 91狼人影院| 亚洲av男天堂| 国产一区二区激情短视频| 久久久国产成人免费| 人人妻人人看人人澡| 搡女人真爽免费视频火全软件| 麻豆成人午夜福利视频| 日韩人妻高清精品专区| 精品无人区乱码1区二区| 亚洲激情五月婷婷啪啪| 国产视频内射| 国产一区二区三区av在线 | 国产精品久久久久久精品电影| 欧洲精品卡2卡3卡4卡5卡区| 亚洲天堂国产精品一区在线| 99热只有精品国产| 午夜精品一区二区三区免费看| 国产一区亚洲一区在线观看| 欧美最黄视频在线播放免费| 久久久精品94久久精品| av在线亚洲专区| 免费看美女性在线毛片视频| 看免费成人av毛片| 亚洲高清免费不卡视频| 全区人妻精品视频| 麻豆国产av国片精品| 成人毛片60女人毛片免费| 精品欧美国产一区二区三| 免费观看在线日韩| 99久国产av精品国产电影| av.在线天堂| 99久久精品国产国产毛片| 日本-黄色视频高清免费观看| 99久国产av精品国产电影| 国内精品美女久久久久久| 老司机影院成人| 12—13女人毛片做爰片一| 成人性生交大片免费视频hd| 亚洲精品久久久久久婷婷小说 | 欧美极品一区二区三区四区| 精品一区二区免费观看| 亚洲在线自拍视频| 欧美一区二区国产精品久久精品| 亚洲无线观看免费| 亚洲av第一区精品v没综合| 人妻制服诱惑在线中文字幕| 国产精品久久视频播放| 亚洲中文字幕日韩| 午夜爱爱视频在线播放| 只有这里有精品99| 国产精品蜜桃在线观看 | 久久久久性生活片| 村上凉子中文字幕在线| 99热这里只有精品一区| 国产精品,欧美在线| 日本一本二区三区精品| 国产国拍精品亚洲av在线观看| 国产精品野战在线观看| 欧美性猛交╳xxx乱大交人| 色5月婷婷丁香| 69人妻影院| 三级经典国产精品| 给我免费播放毛片高清在线观看| 12—13女人毛片做爰片一| 欧美xxxx性猛交bbbb| 日产精品乱码卡一卡2卡三| 欧美3d第一页| 久久精品夜夜夜夜夜久久蜜豆| 国产av一区在线观看免费| 久久中文看片网| 国产探花在线观看一区二区| 最近视频中文字幕2019在线8| 国产精品99久久久久久久久| 国产成人a∨麻豆精品| 欧美最新免费一区二区三区| 精品欧美国产一区二区三| 22中文网久久字幕| 婷婷色av中文字幕| 精品一区二区免费观看| 啦啦啦观看免费观看视频高清| 久久久久久久午夜电影| 精品少妇黑人巨大在线播放 | 亚洲美女搞黄在线观看| av免费在线看不卡| 免费一级毛片在线播放高清视频| 欧美性猛交╳xxx乱大交人| 国产精品乱码一区二三区的特点| 丝袜美腿在线中文| avwww免费| 女的被弄到高潮叫床怎么办| 亚洲av.av天堂| 99热这里只有是精品50| 淫秽高清视频在线观看| 久久久久国产网址| 亚洲欧美清纯卡通| 中文字幕av成人在线电影| 亚洲一区高清亚洲精品| 日韩制服骚丝袜av| 欧美一级a爱片免费观看看| 丰满乱子伦码专区| 国产精品乱码一区二三区的特点| 日韩欧美精品免费久久| 精品人妻偷拍中文字幕| 女人被狂操c到高潮| 亚洲欧美成人综合另类久久久 | 欧美日韩一区二区视频在线观看视频在线 | 女的被弄到高潮叫床怎么办| 99久久中文字幕三级久久日本| 国内精品久久久久精免费| 色综合站精品国产| 欧美激情久久久久久爽电影| 久久九九热精品免费| 日韩精品青青久久久久久| 极品教师在线视频| 美女黄网站色视频| 在线国产一区二区在线| 免费人成视频x8x8入口观看| 精品一区二区三区人妻视频| 美女高潮的动态| 国产伦精品一区二区三区视频9| 亚洲在线自拍视频| 一级二级三级毛片免费看| 99久久九九国产精品国产免费| 日韩高清综合在线| 久久精品91蜜桃| 99热6这里只有精品| 91av网一区二区| 尤物成人国产欧美一区二区三区| 有码 亚洲区| 搞女人的毛片| 日韩高清综合在线| 久久欧美精品欧美久久欧美| 午夜福利成人在线免费观看| 日韩三级伦理在线观看| 欧美日本视频| 国模一区二区三区四区视频| 男女啪啪激烈高潮av片| 中文字幕免费在线视频6| 黑人高潮一二区| 亚洲欧美成人精品一区二区| 18禁在线无遮挡免费观看视频| 悠悠久久av| 成人二区视频| 爱豆传媒免费全集在线观看| 国产精品不卡视频一区二区| 精品久久久久久久末码| 国产精品综合久久久久久久免费| 如何舔出高潮| 国产成年人精品一区二区| 欧美日本视频| 午夜福利在线观看吧| 国内少妇人妻偷人精品xxx网站| 亚洲精品456在线播放app| 91麻豆精品激情在线观看国产| 少妇的逼水好多| 99久久无色码亚洲精品果冻| 久久久久久九九精品二区国产| 晚上一个人看的免费电影| 97超视频在线观看视频| 欧美日本视频| 欧美成人一区二区免费高清观看| 91午夜精品亚洲一区二区三区| 欧美极品一区二区三区四区| 一边亲一边摸免费视频| 亚洲在久久综合| 春色校园在线视频观看| 村上凉子中文字幕在线| 丝袜喷水一区| 噜噜噜噜噜久久久久久91| 婷婷精品国产亚洲av| 国产精品一区www在线观看| 欧美日韩精品成人综合77777| 99热这里只有是精品50| 日本免费a在线| 久久精品91蜜桃| 国产69精品久久久久777片| 精品一区二区免费观看| 看黄色毛片网站| 亚洲婷婷狠狠爱综合网| 波多野结衣高清无吗| 国产久久久一区二区三区| 97在线视频观看| 看十八女毛片水多多多| 欧美xxxx性猛交bbbb| 久久亚洲精品不卡| 日本在线视频免费播放| 国产伦精品一区二区三区视频9| 亚洲国产精品国产精品| 看非洲黑人一级黄片| 校园春色视频在线观看| 亚洲成人中文字幕在线播放| 国产精品伦人一区二区| 亚洲精品成人久久久久久| 一卡2卡三卡四卡精品乱码亚洲| 精品国产三级普通话版| 级片在线观看| av又黄又爽大尺度在线免费看 | 日本撒尿小便嘘嘘汇集6| 日本与韩国留学比较| 一级av片app| 男女下面进入的视频免费午夜| 亚洲美女搞黄在线观看| 免费av毛片视频| 国产在线精品亚洲第一网站| 欧美精品国产亚洲| 免费一级毛片在线播放高清视频| 国产视频首页在线观看| 国产精品99久久久久久久久| 日韩av在线大香蕉| 三级男女做爰猛烈吃奶摸视频| 日韩欧美精品免费久久| 亚洲中文字幕一区二区三区有码在线看| 国产精品久久久久久精品电影小说 | 最近中文字幕高清免费大全6| 国产精品一区二区三区四区免费观看| 欧美精品国产亚洲| 国产色婷婷99| 亚洲国产欧美在线一区| 中文字幕久久专区| a级毛片免费高清观看在线播放| 尾随美女入室| 成人午夜高清在线视频| av天堂中文字幕网| 亚洲欧美日韩高清专用| 中文字幕av成人在线电影| 成年免费大片在线观看| 久久精品国产自在天天线| 国产精品永久免费网站| 国产精品免费一区二区三区在线| 99热精品在线国产| 噜噜噜噜噜久久久久久91| 欧美+日韩+精品| 好男人视频免费观看在线| av在线蜜桃| 成年av动漫网址| 淫秽高清视频在线观看| 亚洲国产高清在线一区二区三| 极品教师在线视频| 久久精品综合一区二区三区| 精品不卡国产一区二区三区| 国产单亲对白刺激| 男女边吃奶边做爰视频| .国产精品久久| 久久99热6这里只有精品| 亚洲熟妇中文字幕五十中出| 久久久久久久久久久免费av| a级毛色黄片| 亚洲自偷自拍三级| 久久久久久久久久久免费av| 国产视频内射| 亚洲av成人av| 欧美最新免费一区二区三区| 性欧美人与动物交配| 床上黄色一级片| 女同久久另类99精品国产91| 一级av片app| 久久久精品94久久精品| 亚洲国产高清在线一区二区三| 中文字幕制服av| 嫩草影院精品99| 国产免费一级a男人的天堂| 国产久久久一区二区三区| 免费看美女性在线毛片视频|