Skip to main content
Log in

Spin-based reader-writer synchronization for multiprocessor real-time systems

  • Published:
Real-Time Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Baker T (1991) Stack-based scheduling for realtime processes. Real-Time Syst 3(1):67–99

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Devi U, Anderson J (2008) Tardiness bounds under global EDF scheduling on a multiprocessor. Real-Time Syst 38(2):133–189

    Article  MATH  Google Scholar 

  • Goossens J, Funk S, Baruah S (2003) Priority-driven scheduling of periodic task systems on multiprocessors. Real-Time Syst 25(2–3):187–205

    Article  MATH  Google Scholar 

  • 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

    Google Scholar 

  • Liu C, Layland J (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 30:46–61

    Article  MathSciNet  Google Scholar 

  • Liu J (2000) Real-time systems. Prentice Hall, New York

    Google Scholar 

  • McKenney PE (1996) Selecting locking primitives for parallel programming. Commun ACM 39(10):75–82

    Article  Google Scholar 

  • Mellor-Crummey J, Scott M (1991a) Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans Comput Syst 9(1):21–65

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Björn B. Brandenburg.

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

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-010-9097-2

Keywords

Navigation