Nested, but Separate: Isolating Unrelated Critical Sections in Real-Time Nested Locking

Authors James Robb, Björn B. Brandenburg



PDF
Thumbnail PDF

File

LIPIcs.ECRTS.2020.6.pdf
  • Filesize: 2.19 MB
  • 23 pages

Document Identifiers

Author Details

James Robb
  • Reykjavik University, Iceland
Björn B. Brandenburg
  • Max Planck Institute for Software Systems, Kaiserslautern, Germany

Cite As Get BibTex

James Robb and Björn B. Brandenburg. Nested, but Separate: Isolating Unrelated Critical Sections in Real-Time Nested Locking. In 32nd Euromicro Conference on Real-Time Systems (ECRTS 2020). Leibniz International Proceedings in Informatics (LIPIcs), Volume 165, pp. 6:1-6:23, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2020) https://doi.org/10.4230/LIPIcs.ECRTS.2020.6

Abstract

Prior work has produced multiprocessor real-time locking protocols that ensure asymptotically optimal bounds on priority inversion, that support fine-grained nesting of critical sections, or that are independence-preserving under clustered scheduling. However, while several protocols manage to come with two out of these three desirable features, no protocol to date accomplishes all three. Motivated by this gap in capabilities, this paper introduces the Group Independence-Preserving Protocol (GIPP), the first protocol to support fine-grained nested locking, guarantee a notion of independence preservation for fine-grained nested locking, and ensure asymptotically optimal priority-inversion bounds. As a stepping stone, this paper further presents the Clustered k-Exclusion Independence-Preserving Protocol (CKIP), the first asymptotically optimal independence-preserving k-exclusion lock for clustered scheduling. The GIPP and the CKIP rely on allocation inheritance (a.k.a. migratory priority inheritance) as a key mechanism to accomplish independence preservation.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Real-time systems
Keywords
  • multiprocessor real-time locking
  • nested locking
  • independence preservation
  • suspension-oblivious analysis
  • priority inversion
  • asymptotically optimal blocking
  • RNLP
  • OMIP

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. James H. Anderson, Vasile Bud, and UmaMaheswari C. Devi. An EDF-based scheduling algorithm for multiprocessor soft real-time systems. In 17th Euromicro Conference on Real-Time Systems (ECRTS'05), 2005. URL: https://doi.org/10.1109/ECRTS.2005.6.
  2. Andrea Bastoni, Björn B. Brandenburg, and James H. Anderson. Is Semi-Partitioned Scheduling Practical? In 23rd Euromicro Conference on Real-Time Systems (ECRTS'11), 2011. URL: https://doi.org/10.1109/ECRTS.2011.20.
  3. Alessandro Biondi, Björn B. Brandenburg, and Alexander Wieder. A Blocking Bound for Nested FIFO Spin Locks. In 38th Real-Time Systems Symposium (RTSS'17), 2017. URL: https://doi.org/10.1109/RTSS.2016.036.
  4. Aaron Block, Hennadiy Leontyev, Björn B. Brandenburg, and James H Anderson. A Flexible Real-Time Locking Protocol for Multiprocessors. In 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'07). IEEE, 2007. URL: https://doi.org/10.1109/RTCSA.2007.8.
  5. Björn B. Brandenburg. Scheduling and Locking in Multiprocessor Real-Time Operating Systems. PhD thesis, University of North Carolina at Chapel Hill, 2011. Google Scholar
  6. Björn B. Brandenburg. A Fully Preemptive Multiprocessor Semaphore Protocol for Latency-Sensitive Real-Time Applications. In 25th Euromicro Conference on Real-Time Systems (ECRTS'13), 2013. URL: https://doi.org/10.1109/ECRTS.2013.38.
  7. Björn B. Brandenburg. Improved Analysis and Evaluation of Real-Time Semaphore Protocols for P-FP Scheduling. In 19th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'13), 2013. URL: https://doi.org/10.1109/RTAS.2013.6531087.
  8. Björn B. Brandenburg. Multiprocessor Real-Time Locking Protocols: A Systematic Review. arXiv:1909.09600 [cs], 2019. URL: http://arxiv.org/abs/1909.09600.
  9. Björn B. Brandenburg. SchedCAT: The schedulability test collection and toolkit, January 2020. URL: https://github.com/brandenburg/schedcat.
  10. Björn B. Brandenburg and James H. Anderson. Optimality Results for Multiprocessor Real-Time Locking. In 31st IEEE Real-Time Systems Symposium (RTSS'10). IEEE, 2010. URL: https://doi.org/10.1109/RTSS.2010.17.
  11. Björn B. Brandenburg and James H. Anderson. Real-Time Resource-Sharing under Clustered Scheduling: Mutex, Reader-Writer, and k-Exclusion Locks. In 9th ACM International Conference on Embedded Software (EMSOFT'11), 2011. URL: https://doi.org/10.1145/2038642.2038655.
  12. Björn B. Brandenburg and Andrea Bastoni. The Case for Migratory Priority Inheritance in Linux: Bounded Priority Inversions on Multiprocessors. In 14th Real Time Linux Workshop (RTLWS'12), 2012. Google Scholar
  13. Björn B. Brandenburg and Mahircan Gul. Global Scheduling Not Required: Simple, Near-Optimal Multiprocessor Real-Time Scheduling with Semi-Partitioned Reservations. In 37th IEEE Real-Time Systems Symposium (RTSS'16). IEEE, 2016. URL: https://doi.org/10.1109/RTSS.2016.019.
  14. Alan Burns and Andy J. Wellings. A Schedulability Compatible Multiprocessor Resource Sharing Protocol - MrsP. In 25th Euromicro Conference on Real-Time Systems (ECRTS'13), 2013. URL: https://doi.org/10.1109/ECRTS.2013.37.
  15. John M. Calandrino, Hennadiy Leontyev, Aaron Block, UmaMaheswari C. Devi, and James H. Anderson. LITMUSsuperscriptRT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers. In 27th IEEE Real-Time Systems Symposium (RTSS'06), 2006. URL: https://doi.org/10.1109/RTSS.2006.27.
  16. Arvind Easwaran and Björn Andersson. Resource Sharing in Global Fixed-Priority Preemptive Multiprocessor Scheduling. In 30th IEEE Real-Time Systems Symposium (RTSS'09), 2009. URL: https://doi.org/10.1109/RTSS.2009.37.
  17. Paul Emberson, Roger Stafford, and Robert I. Davis. Techniques for the Synthesis of Multiprocessor Tasksets. In Proceedings of the 1st International Workshop on Analysis Tools and Methodologies for Embedded and Real-Time Systems (WATERS'10), 2010. Google Scholar
  18. Dario Faggioli, Giuseppe Lipari, and Tommaso Cucinotta. The Multiprocessor Bandwidth Inheritance Protocol. In 22nd Euromicro Conference on Real-Time Systems (ECRTS'10), 2010. URL: https://doi.org/10.1109/ECRTS.2010.19.
  19. Dario Faggioli, Giuseppe Lipari, and Tommaso Cucinotta. Analysis and Implementation of the Multiprocessor Bandwidth Inheritance Protocol. Real-Time Systems, 48(6):789-825, 2012. URL: https://doi.org/10.1007/s11241-012-9162-0.
  20. Philip Holman. On the Implementation of Pfair-Scheduled Multiprocessor Systems. PhD thesis, University of North Carolina at Chapel Hill, 2004. Google Scholar
  21. Philip Holman and James H. Anderson. Object sharing in Pfair-Scheduled Multiprocessor Systems. In 14th Euromicro Conference on Real-Time Systems (ECRTS'02), 2002. URL: https://doi.org/10.1109/EMRTS.2002.1019191.
  22. Philip Holman and James H. Anderson. Locking Under Pfair Scheduling. ACM Transactions on Computer Systems, 24(2):140-174, 2006. URL: https://doi.org/10.1145/1132026.1132028.
  23. Catherine E. Jarrett, Bryan C. Ward, and James H. Anderson. A Contention-Sensitive Fine-Grained Locking Protocol for Multiprocessor Real-Time Systems. In 23rd International Conference on Real Time and Networks Systems (RTNS'15), 2015. URL: https://doi.org/10.1145/2834848.2834874.
  24. Simon Kramer, Dirk Ziegenbein, and Arne Hamann. Real World Automotive Benchmarks for Free. In 6th International Workshop on Analysis Tools and Methodologies for Embedded and Real-Time Systems (WATERS'15), 2015. Google Scholar
  25. Catherine E. Nemitz, Tanya Amert, and James H. Anderson. Using Lock Servers to Scale Real-Time Locking Protocols: Chasing Ever-Increasing Core Counts. In Sebastian Altmeyer, editor, 30th Euromicro Conference on Real-Time Systems (ECRTS'18), 2018. URL: https://doi.org/10.4230/LIPIcs.ECRTS.2018.25.
  26. Catherine E. Nemitz, Tanya Amert, and James H. Anderson. Real-time Multiprocessor Locks with Nesting: Optimizing the Common Case. Real-Time Systems, 55(2):296-348, 2019. URL: https://doi.org/10.1007/s11241-019-09328-w.
  27. R. Rajkumar. Real-Time Synchronization Protocols for Shared Memory Multiprocessors. In 10th International Conference on Distributed Computing Systems (ICDCS'90), 1990. URL: https://doi.org/10.1109/ICDCS.1990.89257.
  28. Ragunathan Rajkumar. Synchronization in Real-Time Systems: A Priority Inheritance Approach. Kluwer Academic Publishers, USA, 1991. Google Scholar
  29. James Robb and Björn B. Brandenburg. Nested, but Separate: Isolating Unrelated Critical Sections in Real-Time Nested Locking (extended version). Technical Report MPI-SWS-2020-002, Max Planck Insitute for Software Systems, 2020. URL: https://www.mpi-sws.org/tr/2020-002.pdf.
  30. Liu Sha, Ragunathan Rajkumar, and John P. Lehoczky. Priority Inheritance Protocols: An Approach to Real-Time Synchronization. IEEE Transactions on Computers, 39(9):1175-1185, 1990. URL: https://doi.org/10.1109/12.57058.
  31. Hiroaki Takada and Ken Sakamura. Real-time Scalability of Nested Spin Locks. In 2nd IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'95), 1995. URL: https://doi.org/10.1109/rtcsa.1995.528766.
  32. Bryan C. Ward and James H. Anderson. Supporting Nested Locking in Multiprocessor Real-Time Systems. In 24th Euromicro Conference on Real-Time Systems (ECRTS'12), 2012. URL: https://doi.org/10.1109/ECRTS.2012.17.
  33. Bryan C. Ward and James H. Anderson. Fine-Grained Multiprocessor Real-Time Locking with Improved Blocking. In 21st International Conference on Real Time and Networks Systems (RTNS'13), 2013. URL: https://doi.org/10.1145/2516821.2516843.
  34. Bryan C. Ward and James H. Anderson. Multi-Resource Real-Time Reader/Writer Locks for Multiprocessors. In 28th IEEE International Parallel and Distributed Processing Symposium (IPDPS'14), 2014. URL: https://doi.org/10.1109/IPDPS.2014.29.
  35. Bryan C. Ward, Glenn A. Elliott, and James H. Anderson. Replica-Request Priority Donation: A Real-Time Progress Mechanism for Global Locking Protocols. In 18th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, 2012. URL: https://doi.org/10.1109/RTCSA.2012.26.
  36. Alexander Wieder and Björn B. Brandenburg. On Spin Locks in AUTOSAR: Blocking Analysis of FIFO, Unordered, and Priority-Ordered Spin Locks. In 34th IEEE Real-Time Systems Symposium (RTSS'13), 2013. URL: https://doi.org/10.1109/RTSS.2013.13.
  37. Maolin Yang, Alexander Wieder, and Björn B. Brandenburg. Global Real-Time Semaphore Protocols: A Survey, Unified Analysis, and Comparison. In 36th IEEE Real-Time Systems Symposium (RTSS'15), 2015. URL: https://doi.org/10.1109/RTSS.2015.8.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail