BDCuckoo: an Efficient Cuckoo Hash for Block Device

  • Conference paper
  • First Online:
Network and Parallel Computing (NPC 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 13152))

Included in the following conference series:

  • 808 Accesses

Abstract

Hash is widely used in various storage systems due to its excellent insertion and search performance. However, existing hash designs are not friendly for block devices because they will generate a lot of random small I/Os, which will significantly reduce the I/O efficiency on block devices. This paper proposes BDCuckoo (Block Device Cuckoo) hash, a I/O-optimized Cuckoo hash for block device. BDCuckoo reduces the amount of I/Os during the slot detection by limiting the location where the element may be stored on the hash table. Unlike the traditional cuckoo hash that triggers an disk I/O for each detection, BDCuckoo hash loads the possible slots of the target element into DRAM in a single large disk I/O. The paper also shows a use case that uses BDCuckoo to optimize a large directory index in the EXT4 file system. The evaluation shows that BDCuckoo hash outperforms the traditional Cuckoo hash for all YCSB workloads been tested and has a 2.64 times performance improvement at most for workload D with the load factor of 0.7. In the use case, the directory index of BDCuckoo-optimized file system achieves 1.79 times performance improvement for stat command and 1.64 times performance improvement for rm command.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
EUR 29.95
Price includes VAT (France)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
EUR 58.84
Price includes VAT (France)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
EUR 73.84
Price includes VAT (France)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Mathur, A., Cao, M., Bhattacharya, S., Dilger, A., Tomas, A., Vivier, L.: The new ext4 filesystem: current status and future plans. In: Proceedings of the Linux symposium, vol. 2, pp. 21–33. Citeseer (2007)

    Google Scholar 

  2. Phillips, D.: A directory index for EXT2. In: Annual Linux Showcase & Conference (2001)

    Google Scholar 

  3. Chung, L., Gray, J., Horst, R., Worthington, B.: Windows 2000 disk IO performance (2000)

    Google Scholar 

  4. Meister, D., Brinkmann, A.: dedupv1: improving deduplication throughput using solid state drives (SSD). In: 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST), pp. 1–6. IEEE (2010)

    Google Scholar 

  5. Narayanan, D., Thereska, E., Donnelly, A., Elnikety, S., Rowstron, A.: Migrating server storage to SSDs: analysis of tradeoffs. In: 2009 Proceedings of the 4th ACM European Conference on Computer Systems, pp. 145–158 (2009)

    Google Scholar 

  6. Myers, D.D.S.: On the use of NAND flash memory in high-performance relational databases. Ph.D. dissertation, Massachusetts Institute of Technology (2008)

    Google Scholar 

  7. Devroye, L., Morin, P.: Cuckoo hashing: further analysis. Inf. Process. Lett. 86(4), 215–219 (2003)

    Article  MathSciNet  Google Scholar 

  8. Li, X., Andersen, D.G., Kaminsky, M., Freedman, M.J.: Algorithmic improvements for fast concurrent cuckoo hashing. In: 2014 Proceedings of the 9th European Conference on Computer Systems, pp. 1–14 (2014)

    Google Scholar 

  9. Pike, G.: CityHash: fast hash functions for strings. Stanford University class slides, October 2012 (2012)

    Google Scholar 

  10. Yamaguchi, F., Nishi, H.: Hardware-based hash functions for network applications. In: 2013 19th IEEE International Conference on Networks (ICON), pp. 1–6. IEEE (2013)

    Google Scholar 

  11. Aneesh Kumar, K.V., Cao, M., Santos, J.R., Dilger, A.: Ext4 block and inode allocator improvements. In: Linux Symposium, vol. 1 (2008)

    Google Scholar 

  12. Barata, M., Bernardino, J., Furtado, P.: YCSB and TPC-H: big data and decision support benchmarks. In: 2014 IEEE International Congress on Big Data, pp. 800–801. IEEE (2014)

    Google Scholar 

  13. Vangoor, B.K.R., Tarasov, V., Zadok, E.: To fuse or not to fuse: performance of user-space file systems. In: 2017 Proceedings of USENIX Conference on File and Storage Technologies (FAST), pp. 59–72 (2017)

    Google Scholar 

  14. David, T., Guerraoui, R., Trigonakis, V.: Asynchronized concurrency: the secret to scaling concurrent search data structures. ACM SIGARCH Comput. Architect. News 43(1), 631–644 (2015)

    Article  Google Scholar 

  15. Marcus, R., et al.: Benchmarking learned indexes. ar**v preprint ar**v:2006.12804 (2020)

  16. Fagin, R., Nievergelt, J., Pippenger, N., Strong, H.R.: Extendible hashing-a fast access method for dynamic files. ACM Trans. Database Syst. 4(3), 315–344 (1979)

    Article  Google Scholar 

  17. Nam, M., Cha, H., Choi, Y.-R., Noh, S.H., Nam, B.: Write-optimized dynamic hashing for persistent memory. In: 2019 Proceedings of USENIX Conference on File and Storage Technologies (FAST), pp. 31–44 (2019)

    Google Scholar 

  18. Lee, S.K., Mohan, J., Kashyap, S., Kim, T., Chidambaram, V.: RECIPE: converting concurrent dram indexes to persistent-memory indexes. In: 2019 Proceedings of the 27th ACM Symposium on Operating Systems Principles, pp. 462–477 (2019)

    Google Scholar 

  19. Lu, B., Hao, X., Wang, T., Lo, E.: Dash: scalable hashing on persistent memory. Proc. VLDB Endow. 13(8), 1147–1161 (2020)

    Article  Google Scholar 

  20. Ren, K., Gibson, G.: TABLEFS: enhancing metadata efficiency in the local file system. In: 2013 Proceedings of USENIX Technical Conference (ATC), pp. 145–156 (2013)

    Google Scholar 

  21. Dent, A.: Getting Started with LevelDB. Packt Publishing Ltd. (2013)

    Google Scholar 

  22. O’Neil, P., Cheng, E., Gawlick, D., O’Neil, E.: The log-structured merge-tree (LSM-tree). Acta Informatica 33(4), 351–385 (1996)

    Article  Google Scholar 

  23. Lensing, P.H., Cortes, T., Brinkmann, A.: Direct lookup and hash-based metadata placement for local file systems. In: Proceedings of the 6th International Systems and Storage Conference, pp. 1–11 (2013)

    Google Scholar 

  24. Liu, Y., Li, H., Lu, Y., Chen, Z., Zhao, M.: An efficient and flexible metadata management layer for local file systems. In: 2019 IEEE 37th International Conference on Computer Design (ICCD). IEEE, pp. 208–216 (2019)

    Google Scholar 

Download references

Acknowledgments

We thank the reviewers for their insightful feedback to improve this paper. This work was supported by National Key R&D Program of China (2018YFC1406205), National Natural Science Foundation of China (No. 61872392,61832020), Zhejiang Lab (NO. 2021KC0AB04), Key-Area Research and Development Program of Guangdong Province (2019B010107001), Guangdong Natural Science Foundation (2018B030312002), Pearl River S & T Nova Program of Guangdong (201906010008) and the Major Program of Guangdong Basic and Applied Research (2019B030302002).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhiguang Chen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zheng, X., Ma, J., Liu, Y., Chen, Z. (2022). BDCuckoo: an Efficient Cuckoo Hash for Block Device. In: Cérin, C., Qian, D., Gaudiot, JL., Tan, G., Zuckerman, S. (eds) Network and Parallel Computing. NPC 2021. Lecture Notes in Computer Science(), vol 13152. Springer, Cham. https://doi.org/10.1007/978-3-030-93571-9_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-93571-9_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-93570-2

  • Online ISBN: 978-3-030-93571-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics

Navigation