An Evaluation of Coarse-Grained Locking for Multicore Microkernels

Preprint English OPEN
Elphinstone, Kevin ; Zarrabi, Amirreza ; Danis, Adrian ; Shen, Yanyan ; Heiser, Gernot (2016)
  • Subject: D.4.8 | D.4.7 | D.4.1 | Computer Science - Operating Systems

The trade-off between coarse- and fine-grained locking is a well understood issue in operating systems. Coarse-grained locking provides lower overhead under low contention, fine-grained locking provides higher scalability under contention, though at the expense of implementation complexity and re- duced best-case performance. We revisit this trade-off in the context of microkernels and tightly-coupled cores with shared caches and low inter-core migration latencies. We evaluate performance on two architectures: x86 and ARM MPCore, in the former case also utilising transactional memory (Intel TSX). Our thesis is that on such hardware, a well-designed microkernel, with short system calls, can take advantage of coarse-grained locking on modern hardware, avoid the run-time and complexity cost of multiple locks, enable formal verification, and still achieve scalability comparable to fine-grained locking.
  • References (27)
    27 references, page 1 of 3

    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 SOSP, Big Sky, MT, US, Oct 2009.

    Bernard Blackham, Yao Shi, and Gernot Heiser. Improving interrupt response time in a verifiable protected microkernel. In EuroSys, pages 323-336, Bern, Switzerland, Apr 2012.

    Silas Boyd-Wickizer, M. Frans Kaashoek, Robert Morris, and Nickolai Zeldovich. Non-scalable locks are dangerous. In 2012 Ottawa Linux Symp., Ottawa, CA, Jul 2012.

    Bryan Cantrill and Jeff Bonwick. Real-world concurrency. ACM Queue, 6(5), Sep 2008.

    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 SOSP, pages 1-17, Farmington, PA, US, Oct 2013.

    Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. Benchmarking cloud serving systems with YCSB. In SoCC, Indianapolis, IN, US, Jun 2010.

    J. Corbet. Big reader locks.

    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.

    Tudor David, Rachid Guerraoui, and Vasileios Trigonakis. Everything you always wanted to know about synchronization but were afraid to ask. In SOSP, pages 33-48, Farmington, PA, US, Nov 2013.

    Bryan Ford, Mike Hibler, Jay Lepreau, Roland McGrath, and Patrick Tullmann. Interface and execution models in the Fluke kernel. In 3rd OSDI, pages 101-115, New Orleans, LA, US, Feb 1999. USENIX.

  • Metrics
    No metrics available
Share - Bookmark