skip to main content
research-article
Free Access

Scaling synchronization in multicore programs

Published:28 October 2016Publication History
Skip Abstract Section

Abstract

Advanced synchronization methods can boost the performance of multicore software.

References

  1. Al Bahra, S. Nonblocking algorithms and scalable multicore programming. Commun. ACM 56, 7 (July 2013), 50--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Boyd-Wickizer, S., Frans Kaashoek, M., Morris, R. and Zeldovich, N. Non-scalable locks are dangerous. In Proceedings of the Ottawa Linux Symposium, 2012, 121--132.Google ScholarGoogle Scholar
  3. Boyd-Wickizer, S., Frans Kaashoek, M., Morris, R. and Zeldovich, N. OpLog: A library for scaling update-heavy data structures. Technical Report MIT-CSAIL-TR2014--019, 2014.Google ScholarGoogle Scholar
  4. Fatourou, P. and Kallimanis, N.D. Revisiting the combining synchronization technique. In Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2012, 257--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Haas, A., Lippautz, M., Henzinger, T.A., Payer, H., Sokolova, A., Kirsch, C.M. and Sezgin, A. Distributed queues in shared memory: multicore performance and scalability through quantitative relaxation. In Proceedings of the ACM International Conference on Computing Frontiers, 2013, 17:1--17:9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hendler, D., Incze, I., Shavit, N., Tzafrir, M. Flat combining and the synchronization-parallelism trade-off. In Proceedings of the 22nd ACM Symposium on Parallelism in Algorithms and Architectures, 2010, 355--364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Klaftenegger, D., Sagonas, K. and Winblad, K. Delegation locking libraries for improved performance of multithreaded programs. In Proceedings of the 20th International European Conference on Parallel and Distributed Computing, 2014, 572--583.Google ScholarGoogle ScholarCross RefCross Ref
  8. Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., Chew, L.P. Optimistic parallelism requires abstractions. In Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation, 211--222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Lozi, J.-P., David, F., Thomas, G., Lawall, J. and Muller, G. Remote core locking: migrating critical section execution to improve the performance of multithreaded applications. In Proceedings of the 2012 USENIX Annual Technical Conference, 65--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Mellor-Crummey, J.M. and Scott, M.L. Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Computer Systems 9, 1 (1991), 21--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Michael, M.M. and Scott, M.L. Simple, fast, and practical non-blocking and blocking concurrent queue algorithms. In Proceedings of the 15th Annual ACM Symposium on Principles of Distributed Computing, 1996, 267--275. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Morrison, A. and Afek, Y. Fast concurrent queues for x86 processors. In Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2013, 103--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Oyama, Y., Taura, K. and Yonezawa, A. Executing parallel programs with synchronization bottlenecks efficiently. In Proceedings of International Workshop on Parallel and Distributed Computing for Symbolic and Irregular Applications, 1999, 182--204.Google ScholarGoogle Scholar
  14. Shavit, N. Data structures in the multicore age. Comm. ACM 54, 3 (Mar. 2011), 76--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Treiber, R.K. Systems programming: coping with parallelism. Technical Report RJ5118 (2006). IBM Almaden Research Center.Google ScholarGoogle Scholar

Index Terms

  1. Scaling synchronization in multicore programs

    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 Communications of the ACM
      Communications of the ACM  Volume 59, Issue 11
      November 2016
      118 pages
      ISSN:0001-0782
      EISSN:1557-7317
      DOI:10.1145/3013530
      • Editor:
      • Moshe Y. Vardi
      Issue’s Table of Contents

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 28 October 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Popular
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format