Blocking Optimality in Distributed Real-Time Locking Protocols

Lower and upper bounds on the maximum priority inversion blocking (pi-blocking) that is generally unavoidable in distributed multiprocessor real-time locking protocols (where resources may be accessed only from specific synchronization processors) are established. Prior work on suspension-based shared-memory multiprocessor locking protocols (which require resources to be accessible from all processors) has established asymptotically tight bounds of Ω(m) and Ω(n) maximum pi-blocking under suspension-oblivious and suspension-aware analysis, respectively, where m denotes the total number of processors and n denotes the number of tasks. In this paper, it is shown that, in the case of distributed semaphore protocols, there exist two different task allocation scenarios that give rise to distinct lower bounds. In the case of co-hosted task allocation, where application tasks may also be assigned to synchronization processors (i.e., processors hosting critical sections), Ω(Φ · n) maximum pi-blocking is unavoidable for some tasks under any locking protocol under both suspension-aware and suspension-oblivious schedulability analysis, where Φ denotes the ratio of the maximum response time to the shortest period. In contrast, in the case of disjoint task allocation (i.e., if application tasks may not be assigned to synchronization processors), only Ω(m) and Ω(n) maximum pi-blocking is fundamentally unavoidable under suspension-oblivious and suspension-aware analysis, respectively, as in the shared-memory case. These bounds are shown to be asymptotically tight with the construction of two new distributed real-time locking protocols that ensure O(m) and O(n) maximum pi-blocking under suspension-oblivious and suspension-aware analysis, respectively.

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

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

[3]  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).

[4]  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.

[5]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[6]  Evangelos P. Markatos Multiprocessor Synchronization Primitives with Priorities , 1991 .

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

[8]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

[9]  Hermann Kopetz,et al.  The time-triggered Ethernet (TTE) design , 2005, Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'05).

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

[11]  James H. Anderson,et al.  Replica-Request Priority Donation: A Real-Time Progress Mechanism for Global Locking Protocols , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

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

[13]  Giuseppe Lipari,et al.  A comparison of MPCP and MSRP when sharing resources in the Janus multiple-processor on a chip platform , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[14]  Björn B. Brandenburg A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[15]  Kang G. Shin,et al.  Semaphore Queue Priority Assignment for Real-Time Multiprocessor Synchronization , 1995, IEEE Trans. Software Eng..

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

[17]  Alan Burns,et al.  A Schedulability Compatible Multiprocessor Resource Sharing Protocol -- MrsP , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

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

[19]  Travis S. Craig Queuing spin lock algorithms to support timing predictability , 1993, 1993 Proceedings Real-Time Systems Symposium.

[20]  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).

[21]  Rolf Ernst,et al.  Response Time Analysis on Multicore ECUs With Shared Resources , 2009, IEEE Transactions on Industrial Informatics.

[22]  Julia L. Lawall,et al.  Remote Core Locking: Migrating Critical-Section Execution to Improve the Performance of Multithreaded Applications , 2012, USENIX Annual Technical Conference.

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

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

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

[26]  Hennadiy Leontyev,et al.  Real-Time Synchronization on Multiprocessors: To Block or Not to Block, to Suspend or Spin? , 2008, 2008 IEEE Real-Time and Embedded Technology and Applications Symposium.

[27]  Tei-Wei Kuo,et al.  Task synchronization and allocation for many-core real-time systems , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[28]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[29]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[30]  Björn B. Brandenburg An asymptotically optimal real-time locking protocol for clustered scheduling under suspension-aware analysis , 2013, SIGBED.

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

[32]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

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

[34]  Sanjoy K. Baruah,et al.  Priority-Driven Scheduling of Periodic Task Systems on Multiprocessors , 2003, Real-Time Systems.

[35]  Adrian Schüpbach,et al.  The multikernel: a new OS architecture for scalable multicore systems , 2009, SOSP '09.

[36]  Theodore P. Baker,et al.  Multiprocessor EDF and deadline monotonic schedulability analysis , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[37]  Giuseppe Lipari,et al.  Schedulability Analysis of Global Scheduling Algorithms on Multiprocessor Platforms , 2009, IEEE Transactions on Parallel and Distributed Systems.

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

[39]  Pascal Richard,et al.  Negative results for scheduling independent hard real-time tasks with self-suspensions , 2004, 25th IEEE International Real-Time Systems Symposium.

[40]  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).

[41]  Giuseppe Lipari,et al.  Improved schedulability analysis of EDF on multiprocessor platforms , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[42]  Marko Bertogna,et al.  Response-Time Analysis for Globally Scheduled Symmetric Multiprocessor Platforms , 2007, RTSS 2007.

[43]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems: A Priority Inheritance Approach , 1991 .

[44]  Tommaso Cucinotta,et al.  Analysis and implementation of the multiprocessor bandwidth inheritance protocol , 2012, Real-Time Systems.

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

[46]  Theodore Johnson,et al.  A Prioritized Multiprocessor Spin Lock , 1997, IEEE Trans. Parallel Distributed Syst..

[47]  James H. Anderson,et al.  Spin-based reader-writer synchronization for multiprocessor real-time systems , 2010, Real-Time Systems.

[48]  James H. Anderson,et al.  An optimal k-exclusion real-time locking protocol motivated by multi-GPU systems , 2012, Real-Time Systems.

[49]  Sanjoy K. Baruah,et al.  A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms , 2004, Handbook of Scheduling.

[50]  Sanjoy K. Baruah,et al.  Improved multiprocessor global schedulability analysis , 2010, Real-Time Systems.

[51]  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).