Blocking Optimality in Distributed Real-Time Locking Protocols

Björn Bernhard Brandenburg

Abstract


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.


Keywords


Distributed multiprocessor real-time systems; Real-time locking; Priority inversion; Blocking optimality

Full Text:

PDF

References


Neil C. Audsley, Alan Burns, Mike F. Richardson, Ken Tindell, and Andy J. Wellings. Applying new scheduling theory to static priority preemptive scheduling. Software Engineering Journal, 8(5):284–292, 1993.

Theodore P. Baker. Stack-based scheduling of realtime processes. Real-Time Systems, 3(1):67–99, 1991. doi:10.1007/BF00365393.

Theodore P. Baker. Multiprocessor EDF and deadline monotonic schedulability analysis. In 24th IEEE Real-Time Systems Symposium, RTSS’03, pages 120–129. IEEE Computer Society, December 2003. doi:10.1109/REAL.2003.1253260.

Sanjoy K. Baruah. Techniques for multiprocessor global schedulability analysis. In 28th IEEE Real-Time Systems Symposium, RTSS’07, pages 119–128. IEEE Computer Society, December 2007. doi:10.1109/RTSS.2007.48.

Sanjoy K. Baruah, Vincenzo Bonifaci, Alberto Marchetti-Spaccamela, and Sebastian Stiller. Improved multiprocessor global schedulability analysis. Real-Time Systems, 46(1):3–24, 2010. doi: 10.1007/s11241-010-9096-3.

Andrew Baumann, Paul Barham, Pierre Évariste Dagand, Timothy L. Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Schüpbach, and Akhilesh Singhania. The multikernel: a new OS architecture for scalable multicore systems. In Jeanna Neefe Matthews and Thomas E. Anderson, editors, 22nd ACM Symposium on Operating Systems Principles 2009, SOSP’09, pages 29–44. ACM, October 2009. doi:10.1145/1629575.1629579.

Marko Bertogna and Michele Cirinei. Responsetime analysis for globally scheduled symmetric multiprocessor platforms. In 28th IEEE Real-Time Systems Symposium, RTSS’07, pages 149–160. IEEE Computer Society, December 2007. doi:10.1109/RTSS.2007.41.

Marko Bertogna, Michele Cirinei, and Giuseppe Lipari. Improved schedulability analysis of EDF on multiprocessor platforms. In 17th Euromicro Conference on Real-Time Systems, ECRTS’05, pages 209–218. IEEE Computer Society, July 2005. doi:10.1109/ECRTS.2005.18.

Marko Bertogna, Michele Cirinei, and Giuseppe Lipari. Schedulability analysis of global scheduling algorithms on multiprocessor platforms. IEEE Transactions on Parallel and Distributed Systems, 20(4):553–566, 2009. doi:10.1109/TPDS.2008.129.

Aaron Block, Hennadiy Leontyev, Björn B. Brandenburg, and James H. Anderson. A flexible realtime locking protocol for multiprocessors. In 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA’07, pages 47–56. IEEE Computer Society, August 2007. doi:10.1109/RTCSA.2007.8.

Björn B. Brandenburg. Scheduling and Locking in Multiprocessor Real-Time Operating Systems. PhD thesis, The University of North Carolina at Chapel Hill, 2011. URL: http://www.cs.unc.edu/~bbb/diss/.

Björn B. Brandenburg. A note on blocking optimality in distributed real-time locking protocols. unpublished manuscript, 2012. URL: https://www.mpi-sws.org/~bbb/papers/index.html.

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, pages 292–302. IEEE, July 2013. doi:10.1109/ECRTS.2013.38.

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, pages 141–152. IEEE Computer Society, April 2013. doi:10.1109/RTAS.2013.6531087.

Björn B. Brandenburg. The FMLP+: An asymptotically optimal real-time locking protocol for suspension-aware analysis. In 26th Euromicro Conference on Real-Time Systems, ECRTS’14, pages 61–71. IEEE, July 2014.

Björn B. Brandenburg and James H. Anderson. Optimality results for multiprocessor real-time locking. In 31st IEEE Real-Time Systems Symposium, RTSS’10, pages 49–60. IEEE Computer Society, November 2010. doi:10.1109/RTSS.2010.17.

Björn B. Brandenburg and James H. Anderson. Spin-based reader-writer synchronization for multiprocessor real-time systems. Real-Time Systems, 46(1):25–87, 2010. doi:10.1007/s11241-010-9097-2.

Björn B. Brandenburg and James H. Anderson. The OMLP family of optimal multiprocessor realtime locking protocols. Design Automation for Embedded Systems, online first:1–66, July 2012. doi:10.1007/s10617-012-9090-1.

Björn B. Brandenburg, John M. Calandrino, Aaron Block, Hennadiy Leontyev, and James H. Anderson. Real-time synchronization on multiprocessors: To block or not to block, to suspend or spin? In 14th IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS’08, pages 342–353. IEEE Computer Society, April 2008. doi:10.1109/RTAS.2008.27.

Alan Burns and Andy J. Wellings. A schedulability compatible multiprocessor resource sharing protocol – MrsP. In 25th Euromicro Conference on Real-Time Systems, ECRTS’13, pages 282–291. IEEE, July 2013. doi:10.1109/ECRTS.2013.37.

John Carpenter, Shelby Funk, Philip Holman, Anand Srinivasan, James H. Anderson, and Sanjoy K. Baruah. A categorization of real-time multiprocessor scheduling problems and algorithms. In Handbook of Scheduling: Algorithms, Models, and Performance Analysis. Chapman Hall/CRC, 2004.

Yang Chang, Robert I. Davis, and Andy J. Wellings. Reducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis. In 18th International Conference on Real-Time and Network Systems, pages 99–108, Toulouse, France, November 2010. URL: http://hal.archives-ouvertes.fr/hal-00546915.

UmaMaheswari C. Devi, Hennadiy Leontyev, and James H. Anderson. Efficient synchronization under global EDF scheduling on multiprocessors. In 18th Euromicro Conference on Real-Time Systems, ECRTS’06, pages 75–84. IEEE Computer Society, July 2006. doi:10.1109/ECRTS.2006.10.

Arvind Easwaran and Björn Andersson. Resource sharing in global fixed-priority preemptive multiprocessor scheduling. In Theodore P. Baker, editor, 30th IEEE Real-Time Systems Symposium, RTSS’09, pages 377–386. IEEE Computer Society, December 2009. doi:10.1109/RTSS.2009.37.

Glenn A. Elliott and James H. Anderson. An optimal k-exclusion real-time locking protcol motivated by multi-gpu systems. In Sébastien Faucou, Alan Burns, and Laurent George, editors, 19th International Conference on Real-Time and Network Systems, RTNS’11, pages 15–24, September 2011. URL: http://rtns2011.irccyn.ec-nantes.fr/files/rtns2011.pdf.

Dario Faggioli, Giuseppe Lipari, and Tommaso Cucinotta. The multiprocessor bandwidth inheritance protocol. In 22nd Euromicro Conference on Real-Time Systems, ECRTS’10, pages 90–99. IEEE Computer Society, July 2010. doi:10.1109/ECRTS.2010.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. doi:10.1007/s11241-012-9162-0.

Paolo Gai, Giuseppe Lipari, and Marco Di Natale. Minimizing memory utilization of real-time task sets in single and multi-processor systems-ona-chip. In 22nd IEEE Real-Time Systems Symposium, RTSS’01, pages 73–83. IEEE Computer Society, December 2001. doi:10.1109/REAL.2001.990598.

Paolo Gai, Marco Di Natale, Giuseppe Lipari, Alberto Ferrari, Claudio Gabellini, and Paolo Marceca. A comparison of MPCP and MSRP when sharing resources in the janus multiple-processor on a chip platform. In 9th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’03 2003), page 189. IEEE Computer Society, May 2003. doi:10.1109/RTTAS.2003.1203051.

Joël Goossens, Shelby Funk, and Sanjoy K. Baruah. Priority-driven scheduling of periodic task systems on multiprocessors. Real-Time Systems, 25(2-3):187–205, 2003. doi:10.1023/A:1025120124771.

Pi-Cheng Hsiu, Der-Nien Lee, and Tei-Wei Kuo. Task synchronization and allocation for manycore real-time systems. In Samarjit Chakraborty, Ahmed Jerraya, Sanjoy K. Baruah, and Sebastian Fischmeister, editors, 11th International Conference on Embedded Software, EMSOFT’11, pages 79–88. ACM, October 2011. doi:10.1145/2038642.2038656.

Craig T. Jin. Queuing spin lock algorithms to support timing predictability. In Real-Time Systems Symposium, pages 148–157, December 1993. doi:10.1109/REAL.1993.393505.

Theodore Johnson and Krishna Harathi. A prioritized multiprocessor spin lock. IEEE Transactions on Parallel and Distributed Systems, 8(9):926–933, 1997. doi:10.1109/71.615438.

Hermann Kopetz, Astrit Ademaj, Petr Grillinger, and Klaus Steinhammer. The time-triggered ethernet (TTE) design. In Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing ISORC’05, pages 22–33. IEEE Computer Society, May 2005. doi:10.1109/ISORC.2005.56.

Karthik Lakshmanan, Dionisio de Niz, and Ragunathan Rajkumar. Coordinated task scheduling, allocation and synchronization on multiprocessors. In Theodore P. Baker, editor, 30th IEEE Real-Time Systems Symposium, RTSS’09, pages 469–478. IEEE Computer Society, December 2009. doi:10.1109/RTSS.2009.51.

Butler W. Lampson and David D. Redell. Experience with processes and monitors in mesa. Communications of the ACM, 23(2):105–117, 1980. doi: 10.1145/358818.358824.

C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. Journal of the ACM, 20(1):46–61, 1973. doi:10.1145/321738.321743.

Victor B. Lortz and Kang G. Shin. Semaphore queue priority assignment for real-time multiprocessor synchronization. IEEE Transactions on Software Engineering, 21(10):834–844, 1995. doi:10.1109/32.469457.

Jean-Pierre Lozi, Florian David, Gaël Thomas, Julia L. Lawall, and Gilles Muller. Remote core locking: Migrating critical-section execution to improve the performance of multithreaded applications. In Gernot Heiser and Wilson C. Hsieh, editors, 2012 USENIX Annual Technical Conference, pages 65–76. USENIX Association, June 2012. URL: https://www.usenix.org/conference/atc12/technical-sessions/presentation/lozi.

Georgiana Macariu and Vladimir Cretu. Limited blocking resource sharing for global multiprocessor scheduling. In Karl-Erik Årzén, editor, 23rd Euromicro Conference on Real-Time Systems, ECRTS’11, pages 262–271. IEEE Computer Society, July 2011. doi:10.1109/ECRTS.2011.32.

Evangelos P. Markatos and Thomas J. LeBlanc. Multiprocessor synchronization primitives with priorities. In 8th IEEE Workshop on Real-Time Operating Systems and Software, pages 1–7, 1991.

Farhang Nemati, Moris Behnam, and Thomas Nolte. Independently-developed real-time systems on multi-cores with shared resources. In Karl-Erik Årzén, editor, 23rd Euromicro Conference on Real-Time Systems, ECRTS’11, pages 251–261. IEEE Computer Society, July 2011. doi:10.1109/ECRTS.2011.31.

Ragunathan Rajkumar. Real-time synchronization protocols for shared memory multiprocessors. In 10th International Conference on Distributed Computing Systems, ICDCS’90, pages 116–123. IEEE Computer Society, May 1990. doi:10.1109/ICDCS.1990.89257.

Ragunathan Rajkumar. Synchronization in Real-Time Systems: A Priority Inheritance Approach. Kluwer Academic Publishers, Norwell, MA, USA, 1991.

Ragunathan Rajkumar, Lui Sha, and John P. Lehoczky. Real-time synchronization protocols for multiprocessors. In 9th IEEE Real-Time Systems Symposium, RTSS’88, pages 259–269. IEEE Computer Society, December 1988. doi:10.1109/REAL.1988.51121.

Frédéric Ridouard, Pascal Richard, and Francis Cottet. Negative results for scheduling independent hard real-time tasks with self-suspensions. In 25th IEEE Real-Time Systems Symposiumm, RTSS’04, pages 47–56. IEEE Computer Society, December 2004. doi:10.1109/REAL.2004.35.

Simon Schliecker, Mircea Negrean, and Rolf Ernst. Response time analysis in multicore ecus with shared resources. IEEE Transactions on Industrial Informatics, 5(4):402–413, 2009. doi:10.1109/TII.2009.2032068.

Lui 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. doi:10.1109/12.57058.

Bryan C. Ward and James H. Anderson. Supporting nested locking in multiprocessor real-time systems. In Robert Davis, editor, 24th Euromicro Conference on Real-Time Systems, ECRTS’12, pages 223–232. IEEE Computer Society, July 2012. doi:10.1109/ECRTS.2012.17.

Bryan C. Ward, Glenn A. Elliott, and James H. Anderson. Replica-request priority donation: A real-time progress mechanism for global locking protocols. In 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA’12, pages 280–289. IEEE Computer Society, August 2012. doi:10.1109/RTCSA.2012.26.

Richard West, Ye Li, and Eric S. Missimer. Time management in the Quest-V RTOS. In 8th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications, 2012. URL: http://www.cs.bu.edu/fac/richwest/papers/questv-multicore.pdf.

Alexander Wieder and Björn B. Brandenburg. On spin locks in AUTOSAR: blocking analysis of fifo, unordered, and priority-ordered spin locks. In IEEE 34th Real-Time Systems Symposium, RTSS’13, pages 45–56. IEEE, December 2013. doi:10.1109/RTSS.2013.13.




DOI: https://doi.org/10.4230/LITES-v001-i002-a001

URN (PDF): http://nbn-resolving.de/urn:nbn:de:0030-lites-v001-i002-a001-pdf8

Copyright (c) 2014 Björn Bernhard Brandenburg

Creative Commons License CC BY
This work is licensed under a Creative Commons Attribution 3.0 Germany License (CC BY 3.0 DE).

License URL: http://creativecommons.org/licenses/by/3.0/de/deed.en
To make this site work properly, we sometimes place small data files called cookies on your device. Cookies are only here to manage user sessions. Cookies aren’t required for simply visiting the site and read content.
OK




Published by the European Design and Automation Association (EDAA) \ EMbedded Systems Special Interest Group (EMSIG) and Schloss Dagstuhl -- Leibniz-Zentrum für Informatik GmbH, Dagstuhl Publishing. | Imprint | Data Privacy Policy