• DocumentCode
    1799250
  • Title

    Fast on Average, Predictable in the Worst Case: Exploring Real-Time Futexes in LITMUSRT

  • Author

    Spliet, Roy ; Vanga, Manohar ; Brandenburg, Bjorn B. ; Dziadek, Sven

  • fYear
    2014
  • fDate
    2-5 Dec. 2014
  • Firstpage
    96
  • Lastpage
    105
  • Abstract
    This paper explores the problem of how to improve the average-case performance of real-time locking protocols, preferably without significantly deteriorating worst-case performance. Motivated by the futex implementation in Linux, where uncontended lock operations under the Priority Inheritance Protocol (PIP) do not incur mode-switching overheads, we extend this concept to more sophisticated protocols, namely the PCP, the MPCP and the FMLP+. We identify the challenges involved in implementing futexes for these protocols and present the design and evaluation of their implementations in LITMUSRT, a real-time extension of the Linux kernel. Our evaluation shows substantial improvements in the uncontended case (e.g., A futex implementation of the PCP lowers lock acquisition and release overheads by up to 75% and 92%, respectively), at the expense of some increases in worst-case overhead on par with Linux´s existing futex implementation.
  • Keywords
    Linux; concurrency control; operating system kernels; protocols; FMLP+; LITMUS; Linux kernel; MPCP; PCP; PIP; priority inheritance protocol; real-time futexes; real-time locking protocols; uncontended lock operations; Boosting; Context; Kernel; Linux; Program processors; Protocols; Real-time systems; multiprocessor real-time systems; real-time locking; real-time operating systems; userspace synchronization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Real-Time Systems Symposium (RTSS), 2014 IEEE
  • Conference_Location
    Rome
  • ISSN
    1052-8725
  • Type

    conf

  • DOI
    10.1109/RTSS.2014.33
  • Filename
    7010478