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

Real-Time Systems Symposium(2014)

引用 15|浏览28
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.
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,multiprocessor real-time systems,real-time locking,real-time operating systems,userspace synchronization
AI 理解论文