Abstract
Reader preference, writer preference, and task-fair reader-writer locks are shown to cause undue blocking in multiprocessor real-time systems. Phase-fair reader writer locks, a new class of reader-writer locks, are proposed as an alternative. Three local-spin phase-fair lock algorithms, one with constant remote-memory-reference complexity, are presented and demonstrated to be efficiently implementable on common hardware platforms. Both task- and phase-fair locks are evaluated and contrasted to mutex locks in terms of hard and soft real-time schedulability—each under both global and partitioned scheduling—under consideration of runtime overheads on a multicore Sun “Niagara” UltraSPARC T1 processor. Formal bounds on worst-case blocking are derived for all considered lock types.
Similar content being viewed by others
References
Anderson J, Holman P (2000) Efficient pure-buffer algorithms for real-time systems. In: Proceedings of the seventh international conference on real-time systems and applications, pp 57–64
Anderson J, Kim Y, Herman T (2003) Shared-memory mutual exclusion: major research trends since 1986. Distrib Comput 16(2–3):75–110
Anderson J, Bud V, Devi U (2005) An EDF-based scheduling algorithm for multiprocessor soft real-time systems. In: Proceedings of the 17th Euromicro conference on real-time systems, IEEE Press, New York, pp 199–208
Andrews G (1991) Paradigms for process interaction in distributed programs. ACM Comput Surv 23(1):49–90
Baker T (1991) Stack-based scheduling for realtime processes. Real-Time Syst 3(1):67–99
Baker T (2003) Multiprocessor EDF and deadline monotonic schedulability analysis. In: Proceedings of the 24th IEEE real-time systems symposium, pp 120–129
Baker T, Baruah S (2007) Schedulability analysis of multiprocessor sporadic task systems. In: Son SH, Lee I, Leung JY (eds) Handbook of real-time and embedded systems. Chapman Hall/CRC, Boca Raton
Baruah S (2007) Techniques for multiprocessor global schedulability analysis. In: Proceedings of the 28th IEEE international real-time systems symposium, pp 119–128
Bertogna M, Cirinei M, Lipari G (2005) Improved schedulability analysis of edf on multiprocessor platforms. In: Proceedings of the 17th Euromicro conference on real-time systems, pp 209–218
Bertogna M, Cirinei M, Lipari G (2008) Schedulability analysis of global scheduling algorithms on multiprocessor platforms. IEEE Trans Parallel Distrib Syst 20(4):553–566
Block A, Leontyev H, Brandenburg B, Anderson J (2007) A flexible real-time locking protocol for multiprocessors. In: Proceedings of the 13th IEEE international conference on embedded and real-time computing systems and applications, pp 47–57
Brandenburg B, Anderson J (2007) Feather-trace: a light-weight event tracing toolkit. In: Proceedings of the third international workshop on operating systems platforms for embedded real-time applications, pp 20–27
Brandenburg B, Anderson J (2008) A comparison of the M-PCP, D-PCP, and FMLP on LITMUSRT. In: Proceedings of the 12th international conference on principles of distributed systems, pp 105–124
Brandenburg B, Block A, Calandrino J, Devi U, Leontyev H, Anderson J (2007) LITMUSRT: a status report. In: Proceedings of the 9th real-time Linux workshop, pp 107–123
Brandenburg B, Calandrino J, Anderson J (2008a) On the scalability of real-time scheduling algorithms on multicore platforms: a case study. In: Proceedings of the 29th IEEE real-time systems symposium, pp 157–169
Brandenburg B, Calandrino J, Block A, Leontyev H, Anderson J (2008b) Synchronization on real-time multiprocessors: to block or not to block, to suspend or spin? In: Proceedings of the 14th IEEE real-time and embedded technology and applications symposium, pp 342–353
Brandenburg B, Leontyev H, Anderson J (2009) Accounting for interrupts in multiprocessor real-time systems. In: Proceedings of the 15th IEEE international conference on embedded and real-time computing systems and applications, pp 273–283
Calandrino J, Leontyev H, Block A, Devi U, Anderson J (2006) LITMUSRT: a testbed for empirically comparing real-time multiprocessor schedulers. In: Proceedings of the 27th IEEE real-time systems symposium, pp 111–123
Calandrino J, Anderson J, Baumberger D (2007) A hybrid real-time scheduling approach for large-scale multicore platforms. In: Proceedings of the 19th Euromicro conference on real-time systems, pp 247–256
Courtois P, Heymans F, Parnas D (1971) Concurrent control with “readers” and “writers”. Commun ACM 14(10):667–668
Devi U, Anderson J (2008) Tardiness bounds under global EDF scheduling on a multiprocessor. Real-Time Syst 38(2):133–189
Goossens J, Funk S, Baruah S (2003) Priority-driven scheduling of periodic task systems on multiprocessors. Real-Time Syst 25(2–3):187–205
Gore P, Pyarali I, Gill C, Schmidt D (2004) The design and performance of a real-time notification service. In: Proceedings of the 10th IEEE real-time and embedded technology and applications symposium, pp 112–120
Hsieh W, Weihl W (1992) Scalable reader-writer locks for parallel systems. In: Proceedings of the 6th international parallel processing symposium, pp 656–659
Krieger O, Stumm M, Unrau R, Hanna J (1993) A fair fast scalable reader-writer lock. In: Proceedings of the 1993 international conference on parallel processing, pp 201–204
Leontyev H, Anderson J (2007) Generalized tardiness bounds for global multiprocessor scheduling. In: Proceedings of the 28th IEEE real-time systems symposium, pp 413–422
Li Q, Yao C (2003) Real-time concepts for embedded systems. CMP Books, Gilroy
Liu C, Layland J (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 30:46–61
Liu J (2000) Real-time systems. Prentice Hall, New York
McKenney PE (1996) Selecting locking primitives for parallel programming. Commun ACM 39(10):75–82
Mellor-Crummey J, Scott M (1991a) Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans Comput Syst 9(1):21–65
Mellor-Crummey J, Scott M (1991b) Scalable reader-writer synchronization for shared-memory multiprocessors. In: Proceedings of the 3rd ACM, SIGPLAN symposium on principles and practice of parallel programming, pp 106–113
Musial M, RemußV, Deeg C, Hommel G (2006) Embedded system architecture of the second generation autonomous unmanned aerial vehicle MARVIN MARK II. In: Proceedings of the 7th international workshop on embedded systems-modeling, technology and applications, pp 101–110
Rajkumar R (1991) Synchronization. In: Real-time systems—a priority inheritance approach. Kluwer Academic, Dordrecht
Reiman M, Wright P (1991) Performance analysis of concurrent-read exclusive-write. In: Proceedings of the 1991 ACM, SIGMETRICS conference on measurement and modeling of computer systems, pp 168–177
Author information
Authors and Affiliations
Corresponding author
Additional information
Work supported by IBM, Intel, and Sun Corps.; NSF grants CNS 0834270, CNS 0834132, and CNS 0615197; and ARO grant W911NF-06-1-0425.
Rights and permissions
About this article
Cite this article
Brandenburg, B.B., Anderson, J.H. Spin-based reader-writer synchronization for multiprocessor real-time systems. Real-Time Syst 46, 25–87 (2010). https://doi.org/10.1007/s11241-010-9097-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-010-9097-2