skip to main content
10.1145/2797022.2797042acmconferencesArticle/Chapter ViewAbstractPublication PagesapsysConference Proceedingsconference-collections
research-article

For a Microkernel, a Big Lock Is Fine

Published:27 July 2015Publication History

ABSTRACT

It is well-established that high-end scalability requires fine-grained locking, and for a system like Linux, a big lock degrades performance even at moderate core counts. Nevertheless, we argue that a big lock may be fine-grained enough for a microkernel designed to run on closely-coupled cores (sharing a cache), as with the short system calls typical for a well-designed microkernel, lock contention remains low under realistic loads.

References

  1. AMBA Level 2 Cache Controller (L2C-310) Technical Reference Manual. ARM Ltd., r3p1 edition, 2010. ARM DDI 0246E.Google ScholarGoogle Scholar
  2. Andrew Baumann, Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Schüpbach, and Akhilesh Singhania. The multikernel: A new OS architecture for scalable multicore systems. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles, Big Sky, MT, US, October 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Silas Boyd-Wickizer, M. Frans Kaashoek, Robert Morris, and Nickolai Zeldovich. Non-scalable locks are dangerous. In Proceedings of the 2012 Ottawa Linux Symposium, Ottawa, CA, July 2012.Google ScholarGoogle Scholar
  4. Bryan Cantrill and Jeff Bonwick. Real-world concurrency. ACM Queue, 6(5), September 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich, Robert T. Morris, and Eddie Kohler. The scalable commutativity rule: Designing scalable software for multicore processors. In ACM Symposium on Operating Systems Principles, pages 1--17, Farmington, PA, US, October 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. Benchmarking cloud serving systems with YCSB. Indianapolis, IN, US, June 2010.Google ScholarGoogle Scholar
  7. J. Corbet. Big reader locks. http://lwn.net/Articles/378911/.Google ScholarGoogle Scholar
  8. Travis S. Craig. Building FIFO and priority-queuing spin locks from atomic swap. Technical Report UW-CSE-93-02-02, Department of Computer Science and Engineering, University of Washington, 1993.Google ScholarGoogle Scholar
  9. Tudor David, Rachid Guerraoui, and Vasileios Trigonakis. Everything you always wanted to know about synchronization but were afraid to ask. In ACM Symposium on Operating Systems Principles, pages 33--48, Farmington, PA, US, November 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Kevin Elphinstone and Gernot Heiser. From L3 to seL4 -- what have we learnt in 20 years of L4 microkernels? In ACM Symposium on Operating Systems Principles, pages 133--150, Farmington, PA, USA, November 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Freescale. i.MX 6Dual/6Quad Applications Processor Reference Manual, rev. 1 edition, April 2013.Google ScholarGoogle Scholar
  12. Patrice Godefroid and Nachiappan Nagappan. Concurrency at Microsoft -- an exploratory survey. In CAV Workshop on Exploiting Concurrency Efficiently and Correctly, Princeton, NJ, US, July 2008.Google ScholarGoogle Scholar
  13. Andi Kleen. RFC: Kernel lock elision for TSX. https://lkml.org/lkml/2013/3/22/630.Google ScholarGoogle Scholar
  14. Gerwin Klein, Kevin Elphinstone, Gernot Heiser, June Andronick, David Cock, Philip Derrin, Dhammika Elkaduwe, Kai Engelhardt, Rafal Kolanski, Michael Norrish, Thomas Sewell, Harvey Tuch, and Simon Winwood. seL4: Formal verification of an OS kernel. In ACM Symposium on Operating Systems Principles, pages 207--220, Big Sky, MT, USA, October 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gerwin Klein, June Andronick, Kevin Elphinstone, Toby Murray, Thomas Sewell, Rafal Kolanski, and Gernot Heiser. Comprehensive formal verification of an OS microkernel. ACM Transactions on Computer Systems, 32(1):2:1--2:70, February 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Greg Lehey. Improving the FreeBSD SMP implementation. In Proceedings of the 2001 USENIX Annual Technical Conference, FREENIX Track, Boston, MA, US, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jochen Liedtke, Kevin Elphinstone, Sebastian Schönberg, Herrman Härtig, Gernot Heiser, Nayeem Islam, and Trent Jaeger. Achieved IPC performance (still the foundation for extensibility). In Proceedings of the 6th Workshop on Hot Topics in Operating Systems, pages 28--31, Cape Cod, MA, USA, May 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. lwIp. lwIP. http://www.nongnu.org/lwip/.Google ScholarGoogle Scholar
  19. Redis. Redis. http://redis.io.Google ScholarGoogle Scholar
  20. Christopher J. Rossbach, Owen S. Hofmann, Donald E. Porter, Hany E. Ramadan, Bhandari Aditya, and Emmett Witchel. TxLinux: Using and managing hardware transactional memory in an operating system. In ACM Symposium on Operating Systems Principles, Stevenson, WA, US, October 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Michael von Tessin. The clustered multikernel: An approach to formal verification of multiprocessor OS kernels. In 2nd Workshop on Systems for Future Multi-core Architectures, pages 1--6, Bern, Switzerland, April 2012.Google ScholarGoogle Scholar
  22. Michael von Tessin. The Clustered Multikernel: An Approach to Formal Verification of Multiprocessor Operating-System Kernels. PhD thesis, School of Computer Science and Engineering, UNSW, Sydney, Australia, Sydney, Australia, December 2013.Google ScholarGoogle Scholar
  1. For a Microkernel, a Big Lock Is Fine

    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
    • Published in

      cover image ACM Conferences
      APSys '15: Proceedings of the 6th Asia-Pacific Workshop on Systems
      July 2015
      152 pages
      ISBN:9781450335546
      DOI:10.1145/2797022

      Copyright © 2015 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: 27 July 2015

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      APSys '15 Paper Acceptance Rate20of68submissions,29%Overall Acceptance Rate149of386submissions,39%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader