skip to main content
research-article

Tidex: a mutual exclusion lock

Published:27 February 2016Publication History
Skip Abstract Section

Abstract

Several basic mutual exclusion lock algorithms are known, with one of the simplest being the Ticket Lock. We present a new mutual exclusion lock with properties similar to the Ticket Lock but using atomic_exchange() instead of atomic_fetch_add() that can be more efficient on systems without a native instruction for atomic_fetch_add(), or in which the native instruction for atomic_exchange() is faster than the one for atomic_fetch_add(). Similarly to the Ticket Lock, our lock has small memory foot print, is extremely simple, respects FIFO order, and provides starvation freedom in architectures that implement atomic_exchange() as a single instruction, like x86.

References

  1. CPP-ISO-committee. C++ Memory Order. http://en.cppreference.com/w/c/atomic/memory\_order, 2013.Google ScholarGoogle Scholar
  2. CPP-ISO-committee. atomic_compare_exchange. http://en.cppreference.com/w/c/atomic/atomic\_compare\_exchange, 2014a.Google ScholarGoogle Scholar
  3. CPP-ISO-committee. atomic_exchange. http://en.cppreference.com/w/c/atomic/atomic\_exchange, 2014b.Google ScholarGoogle Scholar
  4. CPP-ISO-committee. atomic_fetch_add. http://en.cppreference.com/w/c/atomic/atomic\_fetch\_add, 2014c.Google ScholarGoogle Scholar
  5. D. Dice. Brief announcement: a partitioned ticket lock. In Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures, pages 309--310. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Magnusson, A. Landin, and E. Hagersten. Queue locks on cache coherent multiprocessors. In Parallel Processing Symposium, 1994. Proceedings., Eighth International, pages 165--171. IEEE, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. M. Mellor-Crummey and M. L. Scott. Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Transactions on Computer Systems (TOCS), 9(1):21--65, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Tidex: a mutual exclusion lock

    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!