Skip to main content

Amalgamated Lock-Elision

  • Conference paper
  • First Online:
Distributed Computing (DISC 2015)

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

Included in the following conference series:

Abstract

Hardware lock-elision (HLE) introduces concurrency into legacy lock-based code by optimistically executing critical sections in a fast-path as hardware transactions. Its main limitation is that in case of repeated aborts, it reverts to a fallback-path that acquires a serial lock. This fallback-path lacks hardware-software concurrency, because all fast-path hardware transactions abort and wait for the completion of the fallback. Software lock elision has no such limitation, but the overheads incurred are simply too high.

We propose amalgamated lock-elision (ALE), a novel lock-elision algorithm that provides hardware-software concurrency and efficiency: the fallback-path executes concurrently with fast-path hardware transactions, while the common-path fast-path reads incur no overheads and proceed without any instrumentation. The key idea in ALE is to use a sequence of fine-grained locks in the fallback-path to detect conflicts with the fast-path, and at the same time reduce the costs of these locks by executing the fallback-path as a series segments, where each segment is a dynamic length short hardware transaction.

We implemented ALE into GCC and tested the new system on Intel Haswell 16-way chip that provides hardware transactions. We benchmarked linked-lists, hash-tables and red-black trees, as well as converting KyotoCacheDB to use ALE in GCC, and all show that ALE significantly outperforms HLE.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dice, D., Matveev, A., Shavit, N.: Implicit privatization using private transactions. In: Transact 2010, Paris, France (2010)

    Google Scholar 

  2. Harris, T., Roy, A., Hand, S.: A runtime system for software lock elision. In: Proceedings of the 4th ACM European conference on Computer systems, EuroSys 2009, pp. 261–274. ACM, New York (2009)

    Google Scholar 

  3. Adl-Tabatabai, A.-R., Shpeisman, T., Gottschlich, J.: Draft specification of transactional language constructs for c++ (2012)

    Google Scholar 

  4. Afek, Y., Matveev, A., Shavit, N.: Pessimistic software lock-elision. In: Aguilera, M.K. (ed.) DISC 2012. LNCS, vol. 7611, pp. 297–311. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  5. Alistarh, D., Eugster, P., Herlihy, M., Matveev, A., Shavit, N.: Stacktrack: an automated transactional approach to concurrent memory reclamation. In: Proceedings of the Ninth European Conference on Computer Systems, EuroSys 2014, pp. 25:1–25:14. ACM, New York (2014)

    Google Scholar 

  6. Attiya, H., Hillel, E.: The cost of privatization. In: Lynch, N.A., Shvartsman, A.A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 35–49. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  7. Bloom, B.H.: Space/time trade-offs in hash coding with allowable errors. Commun. ACM 13(7), 422–426 (1970)

    Article  MATH  Google Scholar 

  8. Cain, H.W., Michael, M.M., Frey, B., May, C., Williams, D., Le, H.: Robust architectural support for transactional memory in the power architecture. SIGARCH Comput. Archit. News 41(3), 225–236 (2013)

    Article  Google Scholar 

  9. Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  10. Desnoyers, M., Stern, A., McKenney, P., Walpole, J.: User-level implementations of read-copy update. In: IEEE Transactions on Parallel and Distributed Systems (2009)

    Google Scholar 

  11. Dice, D., Shalev, O., Shavit, N.N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  12. Dice, D., Harris, T.L., Kogan, A., Lev, Y., Moir, M.: Hardware extensions to make lazy subscription safe. CoRR, abs/1407.6968 (2014)

    Google Scholar 

  13. Dice, D., Kogan, A., Lev, Y., Merrifield, T., Moir, M.: Adaptive integration of hardware and software lock elision techniques. In: Proceedings of the 26th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2014, pp. 188–197. ACM, New York (2014)

    Google Scholar 

  14. Dice, D., Shavit, N.: Tlrw: return of the read-write lock. In Proceedings of the Twenty-second Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2010, pp. 284–293. ACM (2010)

    Google Scholar 

  15. Dice, D., Marathe, V.J., Shavit, N.: Lock cohorting: A general technique for designing numa locks. ACM Trans. Parallel Comput. 1(2), 1–42 (2015)

    Article  Google Scholar 

  16. Diegues, N., Romano, P.: Self-tuning intel transactional synchronization extensions. In: 11th International Conference on Autonomic Computing (ICAC 2014), pp. 209–219. USENIX Association, Philadelphia, June 2014

    Google Scholar 

  17. Diegues, N., Romano, P., Rodrigues, L.: Virtues and limitations of commodity hardware transactional memory. In: Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, PACT 2014, pp. 3–14, ACM, New York (2014)

    Google Scholar 

  18. FAL Labs. Kyoto cabinet: A straightforward implementation of dbm (2011)

    Google Scholar 

  19. Google (2014). https://sites.google.com/site/tmforcplusplus

  20. Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pp. 388–402. ACM Press (2003)

    Google Scholar 

  21. Harris, T., Fraser, K.: Concurrent programming without locks

    Google Scholar 

  22. Hart, T.E., McKenney, P.E., Brown, A.D., Walpole, J.: Performance of memory reclamation for lockless synchronization. J. Parallel Distrib. Comput. 67(12), 1270–1285 (2007)

    Article  MATH  Google Scholar 

  23. Herlihy, M., Shavit, N.: The art of multiprocessor programming. Morgan Kaufmann (2008)

    Google Scholar 

  24. Irina, C., Tatiana, S., Gilles, P., Maurice, H.: Improved single global lock fallback for best-effort hardware transactional memory. In: Transact 2014 Workshop (2014)

    Google Scholar 

  25. Marathe, V., Spear, M., Scott, M.: Scalable techniques for transparent privatization in software transactional memory. In: International Conference on Parallel Processing, pp. 67–74 (2008)

    Google Scholar 

  26. Matveev, A., Shavit, N.: Reduced hardware transactions: a new approach to hybrid transactional memory. In: SPAA, pp. 11–22 (2013)

    Google Scholar 

  27. Matveev, A., Shavit, N.: Reduced hardware norec: a safe and scalable hybrid transactional memory. In: 20th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2015, Istanbul, Turkey. ACM (2015)

    Google Scholar 

  28. Menon, V., Balensiefer, S., Shpeisman, T., Adl-Tabatabai, A.-R., Hudson, R.L., Saha, B., Welc, A.: Single global lock semantics in a weakly atomic STM. In: Transact 2008 Workshop (2008)

    Google Scholar 

  29. Fetzer, C., Felber, P., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, PPoPP 2008, pp. 237–246. ACM, New York (2008)

    Google Scholar 

  30. Rajwar, R., Goodman, J.: Speculative lock elision: enabling highly concurrent multithreaded execution. In: MICRO, pp. 294–305. ACM/IEEE (2001)

    Google Scholar 

  31. Web. Intel tsx (2012). http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell

  32. Yehuda, A., Amir, L., Adam, M.: Software-improved hardware lock elision. In: PODC 2014, Paris, France. ACM Press (2014)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Matveev .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Afek, Y., Matveev, A., Moll, O.R., Shavit, N. (2015). Amalgamated Lock-Elision. In: Moses, Y. (eds) Distributed Computing. DISC 2015. Lecture Notes in Computer Science(), vol 9363. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48653-5_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-48653-5_21

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-48652-8

  • Online ISBN: 978-3-662-48653-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics