Computer Science ›› 2020, Vol. 47 ›› Issue (8): 80-86.doi: 10.11896/jsjkx.191200109

;

Previous Articles     Next Articles

Cuckoo Hash Table Based on Smart Placement Strategy

JIN Qi, WANG Jun-chang, FU Xiong   

  1. School of Computer, Nanjing University of Posts and Telecommunications, Nanjing 210003, China
  • Online:2020-08-15 Published:2020-08-10
  • About author:JIN Qi, born in 1995, postgraduate.His main research interests include high performance computing and data sto-rage.
    WANG Jun-chang, born in 1982, Ph.D, lecturer.His main research interests include parallel and distributed computing systems.
  • Supported by:
    This work was supported by the National Natural Science Foundation of China (61602264) and Key Research & Development Plan of Jiangsu Province (BE2017743).

Abstract: Because time overhead of query is O (1), Cuckoo hash table has been widely used in big data, cloud computing and other fields.However, insertion of the existing Cuckoo hash tables generally uses random replacement strategy to replace existing entries when encountering conflicts.On the one hand, writers are prone to high-latency insertion and infinite loops, especially when the load rate of hash table is relatively high, and even have the risk of reconstructing entire hash table;on the other hand, due to existing random replacement strategies, entries are scattered as much as possible in the buckets of hash table.The lack of good spatial locality among entries reduces the efficiency of positive query.To solve the above problems, this paper proposes a Cuckoo hash table based on smart placement strategy.Specifically, in order to improve efficiency of insertion, a load-balance Cuc-koo hash table (LBCHT) is proposed, which limits the load of each bucket in real time, using breadth-first search to find the best Cuckoo path to ensures load balancing among buckets.Experimental results show that LBCHT can effectively reduce long tail effect of insertion under high load rate.And in order to improve efficiency of lookup, a Cuckoo hash table that makes full use of the locality principle is proposed (LPCHT).By fully exploring the spatial Locality among entries, CPU cache miss rate caused by lookup is reduced and efficiency of positive query is improved.Experiments show that in a high load rate stress test environment, compared with libcuckoo, LBCHT throughput of insertion can be increased by 50%, and LPCHT improves positive query efficiency by 7%.

Key words: Breadth first search, Load balance, Locality principle, Long tail effect, Positive query

CLC Number: 

  • TN393
[1] ZEPHORIA.The Top 20 Valuable Facebook Statistics[EB/OL].(2018-05-01) [2019-12-01].https://zephoria.com/top-15-valuable-facebook-statistics.
[2] WU S, LI F, MEHROTRA S, et al.Query optimization for massively parallel data processing[C]∥Proceedings of the 2nd ACM Symposium on Cloud Computing.ACM, 2011:12.
[3] PETERSON W.Addressing for random-access storage[J].IBM journal of Research and Development, 1957, 1(2):130-146.
[4] WANG X, YU H, YIN Y L.Efficient collision search attacks onSHA-0[C]∥Annual International Cryptology Conference.Springer, Berlin, Heidelberg, 2005:1-16.
[5] VITTER J S.Analysis of the search performance of coalescedhashing[J].Journal of the ACM (JACM), 1983, 30(2):231-258.
[6] ZUKOWSKI M, HMAN S, BONCZ P.Architecture-conscious hashing[C]∥Proceedings of the 2nd International Workshop on Data Management on New Hardware.ACM, 2006:6.
[7] Pagh R, Rodler F F.Cuckoo hashing[J].Journal of Algorithms, 2004, 51(2):122-144.
[8] FAN B, ANDERSEN D G, KAMINSKY M.Memc3:Compactand concurrent memcache with dumber caching and smarter hashing[C]∥10th Symposium on Networked Systems Design and Implementation.2013:371-384.
[9] SUN Y, HUA Y, FENG D, et al.A Collision-mitigation cuckoo hashing scheme for large-scale storage systems[J].IEEE Transactions on Parallel and Distributed Systems, 2016, 28(3):619-632.
[10]KUSZMAUL W.Fast concurrent cuckoo kick-out evictionschemes for high-density tables[J].arXiv:1605.05236, 2016.
[11]SAHNI K.CuckooQ Hashing[J].Rochester Institute of Technology, 2018, 8(5):1-5.
[12]SUN Y, HUA Y, CHEN Z, et al.Mitigating asymmetric read and write costs in cuckoo hashing for storage systems[C]∥2019 Annual Technical Conference.2019:329-344.
[13]SUN Y, HUA Y, JIANG S, et al.SmartCuckoo:A fast and cost-efficient hashing index scheme for cloud storage systems[C]∥2017 Annual Technical Conference.2017:553-565.
[14]PAGH R, RODLER F F.Cuckoo hashing[J].Journal of Algorithms, 2004, 51(2):122-144.
[15]Github.efficient/libcuckoo[EB/OL].(2019-12-1) [2019-10-2].
https://github.com/efficient/libcuckoo.
[16]GitHub.sparsehash/sparsehash[EB/OL].(2019-07-18) [ 2019-10-18].https://github.com/sparsehash/sparsehash.
[17]BRESLOW A D, ZHANG D P, GREATHOUSE J L, et al.Horton tables:Fast hash tables for in-memory data-intensive computing[C]∥2016 Annual Technical Conference.2016:281-294.
[18]LIU Y, ZHANG K, SPEAR M.Dynamic-sized nonblocking hash tables[C]∥Proceedings of the 2014 ACM symposium on Principles of distributed computing.ACM, 2014:242-251.
[19]TRIPLETT J, MCKENNEY P E, WALPOLE J.Resizable, Sca-lable, Concurrent Hash Tables via Relativistic Programming[C]∥USENIX Annual Technical Conference.2011:1-14.
[20]MCKENNEY P E, APPAVOO J, KLEEN A, et al.Read-copyupdate[C]∥AUUG Conference Proceedings.2001:175.
[21]LI X, ANDERSEN D G, KAMINSKY M, et al.Algorithmic improvements for fast concurrent cuckoo hashing[C]∥Procee-dings of the Ninth European Conference on Computer Systems.ACM, 2014:27.
[22]LIM H, FAN B, ANDERSEN D G, et al.SILT:A memory-efficient, high-performance key-value store[C]∥Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles.ACM, 2011:1-13.
[23]GitHub.silt/silt[EB/OL].(2017-9-7) [2020-3-1].https://github.com/silt/silt.
[1] WANG Guo-peng, YANG Jian-xin, YIN Fei, JIANG Sheng-jian. Computing Resources Allocation with Load Balance in Modern Processor [J]. Computer Science, 2020, 47(8): 41-48.
[2] YUAN Xin-hui, LIN Rong-fen, WEI Di, YIN Wan-wang, XU Jin-xiu. Optimization of BFS on Domestic Heterogeneous Many-core Processor SW26010 [J]. Computer Science, 2020, 47(8): 98-104.
[3] CHI Kai-kai ,WEI Xin-chen, LIN Yi-min. High-throughput and Load-balanced Node Access Scheme for RF-energy Harvesting Wireless Sensor Networks [J]. Computer Science, 2018, 45(8): 119-124.
[4] ZHOU Hua-ping, LIU Guang-zong and ZHANG Bei-bei. Load Balancing Strategy of MapReduce Clustering Based on Index Shift [J]. Computer Science, 2018, 45(5): 303-309.
[5] XIA Qing-xun and ZHUANG Yi. Remote Attestation Mechanism Based on Locality Principle [J]. Computer Science, 2018, 45(4): 148-151.
[6] TAO Zhi-yong and WANG He-zhang. Non-uniform Hierarchical Routing Protocol Based on New Clustering for Wireless Sensor Network [J]. Computer Science, 2018, 45(3): 115-123.
[7] YANG Fei, MA Yu-chun, HOU Jin and XU Ning. Research on Acceleration of Matrix Multiplication Based on Parallel Scheduling on MPSoC [J]. Computer Science, 2017, 44(8): 36-41.
[8] YANG Jin, PANG Jian-min, QI Ning and LIU Rui. Cost-efficient Resource Management for Cloud Multi-tier Applications [J]. Computer Science, 2017, 44(3): 73-78.
[9] WEI Jian-wen, XU Zhi-geng, WANG Bing-qiang, Simon SEE and James LIN. Accelerating Gene Clustering on Heterogeneous Clusters [J]. Computer Science, 2017, 44(3): 20-22.
[10] WANG Li-ming, JIANG Qin and ZHANG Zhuo. Incremental Algorithm for Constructing Fuzzy Concept Lattices Based on Attributes Decrement [J]. Computer Science, 2016, 43(8): 216-222.
[11] XU Ai-ping, WU Di, XU Wu-ping and CHEN Jun. Research on Online Multi-task Load Balance Algorithm in Cloud Server Cluster [J]. Computer Science, 2016, 43(6): 50-54.
[12] NONG Huang-wu, HUANG Chuan-he and HUANG Xiao-peng. SDN-based Multipath Routing Algorithm for Fat-tree Data Center Networks [J]. Computer Science, 2016, 43(6): 32-34.
[13] CUI Jian-qun, JIANG Bo and WU Li-bing. Research on Load Balancing Mechanism of Adaptive Mobile Application Layer Multicast Terminal Based on Feedback [J]. Computer Science, 2015, 42(4): 40-43.
[14] LI Hang-chen, QIN Xiao-lin and SHEN Yao. Load Balancing Strategy Based on Pressure Feedback on MapReduce [J]. Computer Science, 2015, 42(4): 141-146.
[15] LI Hang-chen, QIN Xiao-lin and SHEN Yao. Load Balancing Strategy on MapReduce with Locality-aware [J]. Computer Science, 2015, 42(10): 50-56.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!