Fig. 1. Insert Process of Bucketized Cuckoo Hashing
Fig. 2. Comparing the Search Range of (a) BCH and (b) Wall Cuckoo
Fig. 3. Example of the Insertion Process when There Exist an Empty Slot in the Bucket
Fig. 4. Example of the Insertion Process when Kick-out Process is Needed
Fig. 5. Comparison of the Number of Slot Accesses in Negative Lookup Process
Fig. 6. Comparison of the Number of Slot Accesses in Positive Lookup Process
Fig. 7. Comparison of the Number of Slot Accesses in Insert Process
Fig. 8. Comparison of Negative Lookup Time
Fig. 9. Comparison of Positive Lookup Time
Fig. 10. Comparison of Insert Time
Fig. 11. Comparison of the Number of Slot Accesses in Different Insert/lookup Ratio
Fig. 12. Comparison of Time in Different Insert/Lookup Ratio
Table 1. Experimental Environment
Table 2. Experiment Workload
Table 3. Experiment Workload
References
- DB-Engines, DB-Engines Ranking [Internet], http://db-engines.com/en/ranking/.
- Amazon Web Services, Definition of Key-value Database [Internet], https://aws.amazon.com/ko/nosql/key-value/.
- Redis, OBJECT Subcommand [Internet], https://redis.io/commands/object.
- Memcached [Internet], https://memcached.org/.
- Memcached GitHub, Memcached/memcached.h [Internet], https://goo.gl/BK7nkQ, Line 462.
- R. Pagh and F. F. Rodler, "Cuckoo Hashing," Eur. Symp. Algorithms, Springer Berlin Heidelberg, pp.121-133, Aug. 2001.
- R. Kutzelnigg, "An Improved Version of Cuckoo Hashing: Average Case Analysis of Construction Cost and Search Operations," Math. Comput. Sci., Vol.3, No.1, pp.47-60, 2010. https://doi.org/10.1007/s11786-009-0005-x
- D. H. Min, R. H. Jang, D. H. Nyang, and K. H. Lee, "Sorting Cuckoo - Enhancing Lookup Performance of Cuckoo Hashing Using Insertion Sort -," The Journal of Korean Institute of Communications and Information Sciences, Vol.42, No.3, pp.566-576, Mar. 2017. https://doi.org/10.7840/kics.2017.42.3.566
- U. Erlingsson, M. Manasse, and F. McSherry, "A Cool and Practical Alternative to Traditional Hash Tables," in Proc. WDAS'06, Jan. 2006.
- Y. Sun, Y. Hua, S. Jiang, Q. Li, S. Cao, and P. Zuo, "SmartCuckoo: A Fast and Cost-Efficient Hashing Index Scheme for Cloud Storage Systems," USENIX Annual Technical Conference, pp.553-565, Santa Clara, CA, USA, July 2017.
- Y. Sun, Y. Hua, D. Feng, L. Yang, P. Zuo, S. Cao, and Y. Guo, "A Collision-Mitigation Cuckoo Hashing Scheme for Large-Scale Storage Systems," IEEE Trans. Parallel Distrib. Syst., Vol.28, No.3, pp.619-632, 2017. https://doi.org/10.1109/TPDS.2016.2594763
- E. Lehman and R. Panigrahy, "3.5-way Cuckoo Hashing for the Price of 2-and-a-bit," in Eur. Symp. Algorithms, pp. 671-681, Springer Berlin Heidelberg, Sept. 2009.
- E. Porat and B. Shalem, "A Cuckoo Hashing Variant with Improved Memory Utilization and Insertion Time," in IEEE 2012 Data Compression Conf., pp.347-356, Apr. 2012.
- A. D. Breslow, D. P. Zhang, J. L. Greathouse, N. Jayasena, and D. M. Tullsen, "Horton Tables: Fast Hash Tables for In-memory Data-intensive Computing," USENIX ATC 16, pp.281-294, Jun. 2016.
- J. Bob, A Hash Function for Hash Table Lookup [Internet], http://www.burtleburtle.net/bob/hash/doobs.html.
- M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-dimensionally Equidistributed Uniform Pseudo-random Number Generator," ACM TOMACS, Vol.8, No.1, pp.3-30, 1998. https://doi.org/10.1145/272991.272995
- E. H. Kim and M. S. Kim, "Enhanced chained and Cuckoo hashing methods for multi-core CPUs," Cluster Computing, Vol.17, No.3, pp.665-680, 2014. https://doi.org/10.1007/s10586-013-0343-y