Skip to main content
Log in

Resource sharing among real-time components under multiprocessor clustered scheduling

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

Abstract

In this paper we propose a general synchronization protocol for resource sharing among independently-developed real-time applications (components) on multi-core platforms. This protocol is a generalization of a previously proposed synchronization protocol (MSOS). In our proposed protocol, each component is statically allocated on a dedicated subset of processors (called cluster). A component has its own internal scheduler by which its tasks are scheduled. In this paper we focus on multiprocessor global fixed-priority preemptive scheduling algorithms to be used to schedule the tasks inside each component. Sharing the local resources is handled by the Priority Inheritance Protocol (PIP). For sharing the global resources (inter-component resource sharing) we have studied usage of FIFO and Round-Robin queues for access the resources across the components and usage of FIFO and prioritized queues inside the components. We have derived schedulability analysis for the different queue handling alternatives and compared their performance by using experimental evaluations. Finally, we have shown that the integration phase can be formulated in the form of a nonlinear integer programming problem where solution techniques in this domain can be used to minimize the total number of processors required to guarantee the schedulability of all components. As a proof of concept we have only provided the formulation for FIFO queues.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. For example in Fig. 1 task τ 1 is granted access to global resource R 2 at time instant 6 but it cannot use the resource since τ 3 and τ 4 are using their resources, however as there are two processors for the component, the delay that τ 1 incurs from them between time 6 and 7 equals to the time τ 3 and τ 4 execute in critical sections divided by 2.

  2. Calculating the blocking terms in internal i (m k ) by putting D i instead of R i makes the analysis pessimistic; the blocking terms unnecessarily are calculated during the whole D i . As a result internal i (m k ) can be very large making the requirement extracted from τ i very restricted (Eq. (31)). Finding a more realistic \(\mathit{RT}_{i}^{(\max )}\) which can be much less than D i may improve the requirements significantly. This is an open problem to which a solution may tighten the analysis for extracting the requirements significantly.

  3. Here by a large platform we mean that the platform, besides the number of components and processors, has higher constraints with regard to resource sharing, i.e., a platform whose components contain fewer tasks sharing resources and with fewer and shorter critical sections is considered as a small platform even if it has many components with many tasks.

References

  • Baker TP, Baruah SK (2007) Schedulability analysis of multiprocessor sporadic task systems. In: Handbook of realtime and embedded systems

    Google Scholar 

  • Behnam M, Shin I, Nolte T, Nolin M (2007) SIRAP: a synchronization protocol for hierarchical resource sharingin real-time open systems. In: Proceedings of 7th ACM & IEEE international conference on embedded software (EMSOFT’07), pp 279–288

    Chapter  Google Scholar 

  • Bertogna M, Cirinei M (2007) Response-time analysis for globally scheduled symmetric multiprocessor platforms. In: Proceedings of 22nd IEEE real-time systems symposium (RTSS’07), pp 149–160

    Google Scholar 

  • Bialowas C Achieving business goals with Wind River’s multicore software solution. Wind River white paper

  • Block A, Leontyev H, Brandenburg B, Anderson J (2007) A flexible real-time locking protocol for multiprocessors. In: Proceedings of 13th IEEE conference on embedded and real-time computing systems and applications (RTCSA’07), pp 47–56

    Google Scholar 

  • Brandenburg B, Anderson J (2010) Optimality results for multiprocessor real-time locking. In: Proceedings of 31st IEEE real-time systems symposium (RTSS’10), pp 49–60

    Chapter  Google Scholar 

  • Brandenburg B, Anderson J (2011) Real-time resource-sharing under clustered scheduling: Mutex, reader-writer, and k-exclusion locks. In: Proceedings of 11th ACM and IEEE international conference on embedded software (EMSOFT’11), pp 69–78

    Google Scholar 

  • Calandrino JM, Anderson JH, Baumberger DP (2007) A hybrid real-time scheduling approach for large-scale multicore platforms. In: Proceedings of 19th Euromicro conference on real-time systems (ECRTS’07), pp 247–258

    Chapter  Google Scholar 

  • Carpenter J, Funk S, Holman P, Srinivasan A, Anderson J, Baruah S (2004) A categorization of real-time multiprocessor scheduling problems and algorithms. In: Handbook on scheduling algorithms, methods, and models. Chapman & Hall/CRC Press, London/Boca Raton

    Google Scholar 

  • Devi U (2006) Soft real-time scheduling on multiprocessors. PhD Thesis. Available at www.cs.unc.edu/~anderson/diss/devidiss.pdf

  • Easwaran A, Andersson B (2009) Resource sharing in global fixed-priority preemptive multiprocessor scheduling. In: Proceedings of 30th IEEE real-time systems symposium (RTSS’09), pp 377–386

    Chapter  Google Scholar 

  • Faggioli D, Lipari G, Cucinotta T (2010) The multiprocessor bandwidth inheritance protocol. In: Proceedings of 22th Euromicro conference on real-time systems (ECRTS’10), pp 90–99

    Google Scholar 

  • Fisher N, Bertogna M, Baruah S (2007) Resource-locking durations in EDF-scheduled systems. In: Proceedings of 13th IEEE real-time and embedded technology and applications symposium (RTAS’07), pp 91–100

    Chapter  Google Scholar 

  • Gai P, Lipari G, Natale MD (2001) Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip. In: Proceedings of 22nd IEEE real-time systems symposium (RTSS’01), pp 73–83

    Google Scholar 

  • Li D, Sun X (2006) Nonlinear integer programming. Springer, Berlin

    MATH  Google Scholar 

  • Lipari G, Bini E (2010) A framework for hierarchical scheduling on multiprocessors: from application requirements to run-time allocation. In: Proceedings of 31th IEEE real-time systems symposium (RTSS’10), pp 249–258

    Google Scholar 

  • Nemati F, Behnam M, Nolte T (2011) Independently-developed real-time systems on multi-cores with shared resources. In: Proceedings of 23th Euromicro conference on real-time systems (ECRTS’11), pp 251–261

    Google Scholar 

  • Rajkumar R (1991) Synchronization in real-time systems: a priority inheritance approach. Kluwer Academic, Norwell

    Book  MATH  Google Scholar 

  • Shin I, Lee I (2003) Periodic resource model for compositional real-time guarantees. In: Proceedings of 24th IEEE real-time systems symposium (RTSS’03), pp 2–13

    Google Scholar 

  • Shin I, Easwaran A, Lee I (2008) Hierarchical scheduling framework for virtual clustering of multiprocessors. In: Proceedings of 20th Euromicro conference on real-time systems (ECRTS’08), pp 181–190

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Farhang Nemati.

Additional information

This work was partially supported by the Swedish Foundation for Strategic Research (SSF), the Swedish Research Council (VR), and Mälardalen Real-Time Research Centre (MRTC)/Mälardalen University.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nemati, F., Nolte, T. Resource sharing among real-time components under multiprocessor clustered scheduling. Real-Time Syst 49, 580–613 (2013). https://doi.org/10.1007/s11241-013-9180-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-013-9180-6

Keywords

Navigation