Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

Have Your Cake and Eat it (Too): A Concurrent Hash Table with Hardware Transactions

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Hardware Transaction Memory (HTM) opens a new way to scaling multi-core software. Its main target is to achieve high performance on multi-core systems, and at the same time simplify concurrency control and guarantee correctness. This paper presents the redesign of an existing concurrent hash table using several HTM-based synchronization mechanisms. As compared with a fine-grained lock implementation, HTM-based locking scales well on our testing platform, and its performance is higher when running large-scale workloads. In addition, HTM-based global locking consumes much less memory. In summary, several observations are made in this paper with detailed experimental analysis, which would have important implications for future research of concurrent data structures and HTM.

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

Access this article

Subscribe and save

Springer+ Basic
$34.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

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Afek, Y., Levy, A., Morrison, A.: Software-improved hardware lock elision. pp. 212–221 (2014)

  2. Arcangeli, A., Cao, M., McKenney, P.E., Sarma, D.: Using read-copy-update techniques for system v ipc in the linux 2.5 kernel. In: USENIX Annual Technical Conference, FREENIX Track, pp. 297–309 (2003)

  3. David, T., Guerraoui, R., Trigonakis, V.: Asynchronized concurrency: The secret to scaling concurrent search data structures. SIGARCH Comput. Archit. News 43(1), 631–644 (2015). https://doi.org/10.1145/2786763.2694359

    Article  Google Scholar 

  4. Goel, H., Gershovitz, M.: Concurrent hopscotch hash map. http://cs.tau.ac.il

  5. Herlihy, M., Shavit, N., Tzafrir, M.: Hopscotch hashing. In: International Symposium on Distributed Computing, pp. 350–364 (2008)

  6. Intel, R.: Intel r 64 and ia-32 architectures. Software developers manual. (2015)

  7. Liu, Y., Zhang, K., Spear, M.: Dynamic-sized nonblocking hash tables. In: Proceedings of the 2014 ACM Symposium on Principles of Distributed Computing, pp. 242–251 (2014)

  8. Metreveli, Z., Zeldovich, N., Kaashoek, M.F.: Cphash: A cache-partitioned hash table. In: ACM Sigplan Symposium on Principles and Practice of Parallel Programming, pp. 319–320 (2012)

  9. Wang, X., Zhang, W., Wang, Z., Wei, Z., Chen, H., Zhao, W.: Eunomia: Scaling concurrent search trees under contention using htm. In: ACM Sigplan Symposium on Principles and Practice of Parallel Programming, pp. 385–399 (2017)

  10. Wang, Z., Mu, S., Cui, Y., Yi, H., Chen, H., Li, J.: Scaling multicore databases via constrained parallel execution. In: International Conference on Management of Data, pp. 1643–1658 (2016)

  11. Wang, Z., Qian, H., Chen, H., Li, J.: Opportunities and pitfalls of multi-core scaling using hardware transaction memory. In: Asia-Pacific Workshop on Systems, p. 3 (2013)

  12. Wang, Z., Qian, H., Li, J., Chen, H.: Using restricted transactional memory to build a scalable in-memory database. In: European Conference on Computer Systems, pp. 1–15 (2014)

Download references

Acknowledgements

This research was supported in part by the National Science Foundation of China under Grants 61772183, 61572179 and 61272190.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hao Chen.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chen, Z., He, X., Sun, J. et al. Have Your Cake and Eat it (Too): A Concurrent Hash Table with Hardware Transactions. Int J Parallel Prog 46, 699–709 (2018). https://doi.org/10.1007/s10766-017-0529-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-017-0529-7

Keywords

Navigation