Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

CostCounter: A Better Method for Collision Mitigation in Cuckoo Hashing

Published: 19 June 2023 Publication History

Abstract

Hardware is often required to support fast search and high-throughput applications. Consequently, the performance of search algorithms is limited by storage bandwidth. Hence, the search algorithm must be optimized accordingly. We propose a CostCounter (CC) algorithm based on cuckoo hashing and an Improved CostCounter (ICC) algorithm. A better path can be selected when collisions occur using a cost counter to record the kick-out situation. Our simulation results indicate that the CC and ICC algorithms can achieve more significant performance improvements than Random Walk (RW), Breadth First Search (BFS), and MinCounter (MC). With two buckets and two slots per bucket, under the 95% memory load rate of the maximum load rate, CC and ICC are optimized on read-write times over 20% and 80% compared to MC and BFS, respectively. Furthermore, the CC and ICC algorithms achieve a slight improvement in storage efficiency compared with MC. In addition, we implement RW, MC, and the proposed algorithms using fine-grained locking to support a high throughput rate. From the test on field programmable gate arrays, we verify the simulation results and our algorithms optimize the maximum throughput over 23% compared to RW and 9% compared to MC under 95% of the memory capacity. The test results indicate that our CC and ICC algorithms can achieve better performance in terms of hardware bandwidth and memory load efficiency without incurring a significant resource cost.

References

[1]
Akamai. 2020. 2020 State of the Internet/Security: 2020—A Year in Review. Retrieved June 23, 2022 from https://www.akamai.com/our-thinking/the-state-of-the-internet/state-of-the-internet-security-reports-2020.
[2]
Masanori Bando, Yi-Li Lin, and H. Jonathan Chao. 2012. FlashTrie: Beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie. IEEE/ACM Trans. Netw. 20, 4 (2012), 1262–1275. DOI:
[3]
Alex D. Breslow, Dong Ping Zhang, Joseph L. Greathouse, Nuwan Jayasena, and Dean M. Tullsen. 2016. Horton tables: Fast hash tables for in-memory data-intensive computing. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC’16). USENIX, 281–294.
[4]
Hao Chen, Yu Chen, and Douglas H. Summerville. 2011. A survey on the application of FPGAs for network infrastructure security. IEEE Commun. Surv. Tutor. 13, 4 (2011), 541–561. DOI:
[6]
Roland Dobai, Jan Korenek, and Lukas Sekanina. 2017. Evolutionary design of hash function pairs for network filters. Appl. Soft Comput. 56 (2017), 173–181. DOI:
[7]
U. Erlingsson, M. Manasse, and F. Mcsherry. 2006. A cool and practical alternative to traditional hash tables. In Proceedings of the 7th Whorkshop on Distributed Data and Structures. 1–6.
[8]
Bin Fan, David G. Andersen, and Michael Kaminsky. 2013. MemC3: Compact and concurrent memcache with dumber caching and smarter hashing. In Proceedings of the USENIX Conference on Networked Systems Design & Implementation (NSDI’13), Vol. 3. USENIX Association, 371–384.
[9]
Bin Fan, Dave G. Andersen, Michael Kaminsky, and Michael D. Mitzenmacher. 2014. Cuckoo filter: Practically better than bloom. In Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies (CoNEXT’14). Association for Computing Machinery, New York, NY, 75–88. DOI:
[10]
Dimitris Fotakis, Rasmus Pagh, Peter Sanders, and Paul Spirakis. 2005. Space efficient hash tables with worst case constant access time. Theory Comput. Syst. 38, 2 (2005), 229–248. DOI:
[11]
Alan Frieze, Páll Melsted, and Michael Mitzenmacher. 2011. An analysis of random-walk cuckoo hashing. SIAM J. Comput. 40, 2 (2011), 291–308. DOI:
[12]
G. H. Gonnet and R. Baeza-Yates. 1991. Handbook of Algorithms and Data Structures in Pascal and C (2nd ed.). Addison Wesley Longman, Boston, MA.
[13]
Tristan Groleat, Sandrine Vaton, and Matthieu Arzel. 2014. High-speed flow-based classification on FPGA. Int. J. Netw. Manage. 24, 4 (2014), 253–271. DOI:
[14]
Zsolt István, Gustavo Alonso, Michaela Blott, and Kees Vissers. 2015. A hash table for line-rate data processing. ACM Trans. Reconfig. Technol. Syst. 8, 2, Article 13 (March 2015), 15 pages. DOI:
[15]
Qi Jin, Junchang Wang, and Xiong Fu. 2020. Cuckoo hash table based on smart placement strategy. Comput. Sci. 47, 8 (2020), 80–86.
[16]
L. Kekely, M. Zadnik, J. Matousek, and J. Korenek. 2014. Fast lookup for dynamic packet filtering in FPGA. 17th International Symposium on Design and Diagnostics of Electronic Circuits & Systems, Warsaw, 219–222. DOI:
[17]
Michal Kekely, Lukáš Kekely, and Jan Kořenek. 2020. General memory efficient packet matching FPGA architecture for future high-speed networks. Microprocess. Microsyst. 73 (2020), 102950. DOI:
[18]
Adam Kirsch, Michael Mitzenmacher, and Udi Wieder. 2010. More robust hashing: Cuckoo hashing with a stash. SIAM J. Comput. 39, 4 (2010), 1543–1561. DOI:
[19]
Donald E. Knuth. 1998. The Art of Computer Programming (2nd ed.). Fundamental Algorithms, Vol. 3. Pearson Education. (book).
[20]
Gil Levy, Salvatore Pontarelli, and Pedro Reviriego. 2017. Flexible packet matching with single double cuckoo hash. IEEE Commun. Mag. 55, 6 (2017), 212–217. DOI:
[21]
Xiaozhou Li, David G. Andersen, Michael Kaminsky, and Michael J. Freedman. 2014. Algorithmic improvements for fast concurrent cuckoo hashing. In Proceedings of the 9th European Conference on Computer Systems (EuroSys’14). Association for Computing Machinery, New York, NY, Article 27, 14 pages. DOI:
[22]
Cheng-Hung Lin, Jin-Cheng Li, Chen-Hsiung Liu, and Shih-Chieh Chang. 2017. Perfect hashing based parallel algorithms for multiple string matching on graphic processing units. IEEE Trans. Parallel Distrib. Syst. 28, 9 (2017), 2639–2650. DOI:
[23]
Matan Mandelbrod. 2010. Layered hashing algorithm for real-time systems. Theory Comput. Syst. 50, 2 (2010), 279–295. DOI:
[24]
Rasmus Pagh and Flemming Friche Rodler. 2004. Cuckoo hashing. J. Algor. 51, 2 (2004), 122–144. DOI:
[25]
Salvatore Pontarelli and Pedro Reviriego. 2016. Cuckoo cache: A technique to improve flow monitoring throughput. IEEE Internet Comput. 20, 4 (2016), 46–53. DOI:
[26]
Salvatore Pontarelli, Pedro Reviriego, and Juan Antonio Maestro. 2016. Parallel d-pipeline: A cuckoo hashing implementation for increased throughput. IEEE Trans. Comput. 65, 1 (2016), 326–331. DOI:
[27]
Pedro Reviriego, Jorge Martinez, and Salvatore Pontarelli. 2019. CFBF: Reducing the insertion time of cuckoo filters with an integrated bloom filter. IEEE Commun. Lett. 23, 10 (2019), 1857–1861. DOI:
[28]
Pedro Reviriego, Salvatore Pontarelli, and Gil Levy. 2019. CuCoTrack: Cuckoo filter based connection tracking. Inf. Process. Lett. 147 (2019), 55–60. DOI:
[29]
Yuanyuan Sun, Yu Hua, Dan Feng, Ling Yang, Pengfei Zuo, Shunde Cao, and Yuncheng Guo. 2017. A collision-mitigation cuckoo hashing scheme for large-scale storage systems. IEEE Trans. Parallel Distrib. Syst. 28, 3 (2017), 619–632. DOI:
[30]
Yuanyuan Sun, Yu Hua, Song Jiang, Qiuyu Li, Shunde Cao, and Pengfei Zuo. 2017. SmartCuckoo: A fast and cost-efficient hashing index scheme for cloud storage systems. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC’17). USENIX, 553–565.
[31]
Da Tong, Shijie Zhou, and Viktor K. Prasanna. 2015. High-throughput online hash table on FPGA. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium Workshop. 105–112. DOI:
[32]
J. Triplett, P. E. Mckenney, and J. Walpole. 2011. Resizable, scalable, concurrent hash tables via relativistic programming. In Proceedings of the USENIX Annual Technical Conference. 11.
[33]
X. Wang and D. Pao. 2018. Memory-based architecture for multicharacter aho-corasick string matching. IEEE Trans. VLSI Syst. 26, 1 (2018), 143–154. DOI:
[34]
Theophilus Wellem, Yu-Kuen Lai, Chao-Yuan Huang, and Wen-Yaw Chung. 2019. A flexible sketch-based network traffic monitoring infrastructure. IEEE Access 7 (2019), 92476–92498. DOI:
[35]
Pengfei Zuo, Yu Hua, and Jie Wu. 2019. Level hashing: A high-performance and flexible-resizing persistent hashing index structure. ACM Trans. Stor. 15, 2, Article 13 (June 2019), 30 pages. DOI:

Cited By

View all
  • (2024)Unsupervised Adversarial Example Detection of Vision Transformers for Trustworthy Edge ComputingACM Transactions on Multimedia Computing, Communications, and Applications10.1145/3674981Online publication date: 2-Jul-2024
  • (2024)Suitable and Style-Consistent Multi-Texture Recommendation for Cartoon IllustrationsACM Transactions on Multimedia Computing, Communications, and Applications10.1145/365251820:7(1-26)Online publication date: 16-May-2024
  • (2024)Jointly Harnessing Prior Structures and Temporal Consistency for Sign Language Video GenerationACM Transactions on Multimedia Computing, Communications, and Applications10.1145/364836820:6(1-18)Online publication date: 26-Mar-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Storage
ACM Transactions on Storage  Volume 19, Issue 3
August 2023
233 pages
ISSN:1553-3077
EISSN:1553-3093
DOI:10.1145/3604654
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 June 2023
Online AM: 12 May 2023
Accepted: 25 April 2023
Revised: 10 March 2023
Received: 25 June 2022
Published in TOS Volume 19, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Cuckoo Hashing
  2. throughput optimization
  3. FPGA search and update

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)122
  • Downloads (Last 6 weeks)14
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Unsupervised Adversarial Example Detection of Vision Transformers for Trustworthy Edge ComputingACM Transactions on Multimedia Computing, Communications, and Applications10.1145/3674981Online publication date: 2-Jul-2024
  • (2024)Suitable and Style-Consistent Multi-Texture Recommendation for Cartoon IllustrationsACM Transactions on Multimedia Computing, Communications, and Applications10.1145/365251820:7(1-26)Online publication date: 16-May-2024
  • (2024)Jointly Harnessing Prior Structures and Temporal Consistency for Sign Language Video GenerationACM Transactions on Multimedia Computing, Communications, and Applications10.1145/364836820:6(1-18)Online publication date: 26-Mar-2024
  • (2024)Deep Modular Co-Attention Shifting Network for Multimodal Sentiment AnalysisACM Transactions on Multimedia Computing, Communications, and Applications10.1145/363470620:4(1-23)Online publication date: 11-Jan-2024
  • (2024)HARR: Learning Discriminative and High-Quality Hash Codes for Image RetrievalACM Transactions on Multimedia Computing, Communications, and Applications10.1145/362716220:5(1-23)Online publication date: 22-Jan-2024
  • (2024)Size Invariant Visual Cryptography Schemes With Evolving Threshold Access StructuresIEEE Transactions on Multimedia10.1109/TMM.2023.328257326(1488-1503)Online publication date: 1-Jan-2024
  • (2023)A Novel Graph-level Anomaly Detection ModelProceedings of the 2023 7th International Conference on Electronic Information Technology and Computer Engineering10.1145/3650400.3650474(451-455)Online publication date: 20-Oct-2023
  • (2023)Enhancement of Information Carrying and Decoding for Visual Cryptography with Error CorrectionACM Transactions on Multimedia Computing, Communications, and Applications10.1145/361292720:1(1-24)Online publication date: 18-Sep-2023
  • (2023)Semantic-Aware Adversarial Training for Reliable Deep Hashing RetrievalIEEE Transactions on Information Forensics and Security10.1109/TIFS.2023.329779118(4681-4694)Online publication date: 1-Jan-2023
  • (2023)Reversible Data Hiding Over Encrypted Images via Preprocessing-Free Matrix Secret SharingIEEE Transactions on Circuits and Systems for Video Technology10.1109/TCSVT.2023.329880334:3(1799-1814)Online publication date: 25-Jul-2023

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Full Text

View this article in Full Text.

Full Text

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media