Global Real-Time Semaphore Protocols: A Survey, Unified Analysis, and Comparison

All major real-time suspension-based locking protocols (or semaphore protocols) for global fixed-priority scheduling are reviewed and a new, unified response-time analysis framework applicable to all protocols is proposed. The newly proposed analysis, based on linear programming, is shown to be clearly preferable compared to all prior conventional approaches. Based on the new analysis, all protocols are directly compared with each other in a large-scale schedulability study. Interestingly, the Priority Inheritance Protocol (PIP) and the Flexible Multiprocessor Locking Protocol (FMLP), which are the two oldest and simplest of the considered protocols, are found to perform best.

[1]  Björn B. Brandenburg Improved analysis and evaluation of real-time semaphore protocols for P-FP scheduling , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[2]  Giuseppe Lipari,et al.  Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[3]  Björn Andersson,et al.  Resource Sharing in Global Fixed-Priority Preemptive Multiprocessor Scheduling , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[4]  Michele Cirinei,et al.  Response-Time Analysis for Globally Scheduled Symmetric Multiprocessor Platforms , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[5]  Vladimir Cretu,et al.  Limited Blocking Resource Sharing for Global Multiprocessor Scheduling , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[6]  Alexander Wieder,et al.  On the Complexity of Worst-Case Blocking Analysis of Nested Critical Sections , 2014, 2014 IEEE Real-Time Systems Symposium.

[7]  Wang Yi,et al.  New Response Time Bounds for Fixed Priority Multiprocessor Scheduling , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[8]  James H. Anderson,et al.  The OMLP family of optimal multiprocessor real-time locking protocols , 2013, Des. Autom. Embed. Syst..

[9]  James H. Anderson,et al.  Suspension-Aware Analysis for Hard Real-Time Multiprocessor Scheduling , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[10]  James H. Anderson,et al.  Scheduling and locking in multiprocessor real-time operating systems , 2011 .

[11]  R. Rajkumar Real-time synchronization protocols for shared memory multiprocessors , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[12]  Thomas Nolte,et al.  Resource Sharing under Multiprocessor Semi-partitioned Scheduling , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[13]  James H. Anderson,et al.  Optimality Results for Multiprocessor Real-Time Locking , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[14]  James H. Anderson,et al.  Supporting Nested Locking in Multiprocessor Real-Time Systems , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[15]  Richard West,et al.  Mutable Protection Domains: Towards a Component-Based System for Dependable and Predictable Computing , 2007, RTSS 2007.

[16]  Xue Liu,et al.  Integrating Adaptive Components: An Emerging Challenge in Performance-Adaptive Systems and a Server Farm Case-Study , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[17]  Tommaso Cucinotta,et al.  The Multiprocessor Bandwidth Inheritance Protocol , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[18]  Alan Burns,et al.  Priority Assignment for Global Fixed Priority Pre-Emptive Scheduling in Multiprocessor Real-Time Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[19]  Hennadiy Leontyev,et al.  Efficient synchronization under global EDF scheduling on multiprocessors , 2006, 18th Euromicro Conference on Real-Time Systems (ECRTS'06).

[20]  Björn B. Brandenburg The FMLP+: An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[21]  Lui Sha,et al.  Real-time synchronization protocols for multiprocessors , 1988, Proceedings. Real-Time Systems Symposium.

[22]  Thomas Nolte,et al.  Independently-Developed Real-Time Systems on Multi-cores with Shared Resources , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[23]  Sanjoy K. Baruah Techniques for Multiprocessor Global Schedulability Analysis , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[24]  Alan Burns,et al.  Improved priority assignment for global fixed priority pre-emptive scheduling in multiprocessor real-time systems , 2010, Real-Time Systems.

[25]  Alexander Wieder,et al.  On Spin Locks in AUTOSAR: Blocking Analysis of FIFO, Unordered, and Priority-Ordered Spin Locks , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[26]  James H. Anderson,et al.  Fine-grained multiprocessor real-time locking with improved blocking , 2013, RTNS '13.

[27]  Ragunathan Rajkumar,et al.  Coordinated Task Scheduling, Allocation and Synchronization on Multiprocessors , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[28]  S. Vestal Preemptive Scheduling of Multi-criticality Systems with Varying Degrees of Execution Time Assurance , 2007, RTSS 2007.

[29]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[30]  Hennadiy Leontyev,et al.  A Flexible Real-Time Locking Protocol for Multiprocessors , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).