skip to main content
research-article

Scalable adaptive NUMA-aware lock: combining local locking and remote locking for efficient concurrency

Published:27 February 2016Publication History
Skip Abstract Section

Abstract

Scalable locking is a key building block for scalable multi-threaded software. Its performance is especially critical in multi-socket, multi-core machines with non-uniform memory access (NUMA). Previous schemes such as local locking and remote locking only perform well under a certain level of contention, and often require non-trivial tuning for a particular configuration. Besides, for large NUMA systems, because of unmanaged lock server's nomination, current distance-first NUMA policies cannot perform satisfactorily.

In this work, we propose SANL, a locking scheme that can deliver high performance under various contention levels by adaptively switching between the local and the remote lock scheme. Furthermore, we introduce a new NUMA policy for the remote lock that jointly considers node distances and server utilization when choosing lock servers. A comparison with seven representative locking schemes shows that SANL outperforms the others in most contention situations. In one group test, SANL is 3.7 times faster than RCL lock and 17 times faster than POSIX mutex.

References

  1. S. Boyd-Wickizer, M. F. Kaashoek, R. Morris, and N. Zeldovich. Non-scalable locks are dangerous. In Proc. Linux Symposium, 2012.Google ScholarGoogle Scholar
  2. A. T. Clements, M. F. Kaashoek, and N. Zeldovich. Scalable address spaces using RCU balanced trees. In Proc. ASPLOS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Dice, V. J. Marathe, and N. Shavit. Lock cohorting: A general technique for designing NUMA locks. In Proc. PPoPP, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. Fatourou, Panagiota and Nikolaos. Revisiting the combining synchronization technique. In Proc. PPoPP, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Hendler, I. Incze, N. Shavit, and M. Tzafrir. Flat combining and the synchronization-parallelism tradeoff. In Proc. SPAA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J.-P. Lozi, F. David, G. Thomas, J. Lawall, G. Muller, et al. Remote Core Locking: migrating critical-section execution to improve the performance of multithreaded applications. In Proc. USENIX ATC, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. V. Luchangco, D. Nussbaum, and N. Shavit. A hierarchical CLH queue lock. In Proc. ICPP, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. E. McKenney, J. Appavoo, A. Kleen, O. Krieger, R. Russell, D. Sarma, and M. Soni. Read-copy update. In Proc. AUUG, 2001.Google ScholarGoogle Scholar
  9. J. M. Mellor-Crummey and M. L. Scott. Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst., 9(1):21--65, Feb. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Y. Oyama, K. Taura, and A. Yonezawa. Executing parallel programs with synchronization bottlenecks efficiently. In Proc. PDSIA, 1999.Google ScholarGoogle Scholar
  11. Z. Radovic and E. Hagersten. Hierarchical backoff locks for nonuniform communication architectures. In Proc. HPCA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Vasudevan, K. S. Namjoshi, and S. A. Edwards. Simple and fast biased locks. In Proc. PACT, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 51, Issue 8
    PPoPP '16
    August 2016
    405 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/3016078
    Issue’s Table of Contents
    • cover image ACM Conferences
      PPoPP '16: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
      February 2016
      420 pages
      ISBN:9781450340922
      DOI:10.1145/2851141

    Copyright © 2016 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 27 February 2016

    Check for updates

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!