Skip to main content
Log in

Memory-centric scheduling for multicore hard real-time systems

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

Abstract

Memory resources are a serious bottleneck in many real-time multicore systems. Previous work has shown that, in the worst case, execution time of memory intensive tasks can grow linearly with the number of cores in the system. To improve hard real-time utilization, a real-time multicore system should be scheduled according to a memory-centric scheduling approach if its workload is dominated by memory intensive tasks. In this work, a memory-centric scheduling technique is proposed where (a) core isolation is provided through a coarse-grained (high-level) Time Division Multiple Access (TDMA) memory schedule; and (b) the scheduling policy of each core “promotes” the priority of its memory intensive computations above CPU-only computation when memory access is permitted by the high-level schedule. Our evaluation reveals that under high memory demand, our scheduling approach can improve hard real-time task utilization significantly compared to traditional multicore scheduling.

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.

Institutional subscriptions

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

Similar content being viewed by others

Notes

  1. However, note that the figure does not represent the worst-case contribution of lower priority jobs to \(\mathcal{M}_{4}\), since there could be increased blocking by either J 5 or another lower priority job with a longer memory phase.

References

  • Aeronautical Radio Inc. ARINC 653 specification. http://www.arinc.com/

  • Akesson B, Goossens K, Ringhofer M (2007) Predator: a predictable sdram memory controller. In: Proceedings of the 5th IEEE/ACM international conference on hardware/software codesign and system synthesis, CODES+ISSS’07, pp 251–256

    Chapter  Google Scholar 

  • Alvarez M, Salami E, Ramirez A, Valero M (2005) A performance characterization of high definition digital video decoding using h. 264/avc. In: Proc. of the IEEE international workload characterization symposium, Oct 2005

    Google Scholar 

  • Anderson JH, Calandrino JM, Devi UMC (2006) Real-time scheduling on multicore platforms. In: Proceedings of the 12th IEEE real-time and embedded technology and applications symposium, pp 179–190

    Google Scholar 

  • Andersson B, Easwaran A, Lee J (2010) Finding an upper bound on the increase in execution time due to contention on the memory bus in cots-based multicore systems. ACM Sigbed Rev 7(1)

  • Audsley NC, Burns A, Richardson M, Tindell K, Wellings A (1993) Applying new scheduling theory to static priority preemptive scheduling. Softw Eng J 8(8):284–292

    Article  Google Scholar 

  • Bui BD, Caccamo M, Sha L, Martinez J (2008) Design and evaluation of a cache partitioned environment for real-time embedded systems. In: Proceedings of the 14th IEEE international conference on embedded and real-time computing systems and applications (RTCSA), KaoHsiung, Taiwan

    Google Scholar 

  • Buttazzo G (1997) Hard real-time computing systems: predictable scheduling algorithms and applications. Kluwer Academic, Boston

    MATH  Google Scholar 

  • Calandrino JM, Anderson JH (2009) On the design and implementation of a cache-aware multicore real-time scheduler. In: 2009 21st Euromicro conference on real-time systems. IEEE, New York, pp 194–204

    Chapter  Google Scholar 

  • Chattopadhyay S, Roychoudhury A, Mitra T (2010) Modeling shared cache and bus in multi-cores for timing analysis. In: Proceedings of the 13th international workshop on software & compilers for embedded systems. ACM, New York, pp 1–10

    Chapter  Google Scholar 

  • Davis RI, Burns A (2010, to appear) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv

  • Edwards SA, Lee EA (2007) The case for the precision timed (PRET) machine. In: DAC’07: proceedings of the 44th annual design automation conference

    Google Scholar 

  • Freescale P4080 website (2012). http://www.freescale.com

  • Guan N, Stigge M, Yi W, Yu G (2009) Cache-aware scheduling and analysis for multicores. In: Proceedings of the seventh ACM international conference on embedded software

    Google Scholar 

  • Holman P, Anderson JH (2005) Adapting Pfair scheduling for symmetric multiprocessors. J Embed Comput 1(4):543–564

    Google Scholar 

  • Jain R, Hughes CJ, Adve SV (2002) Soft real-time scheduling on simultaneous multithreading processors. In: Proceedings of the real-time systems symposium

    Google Scholar 

  • Jayachandran P, Abdelzaher T (2008) Transforming distributed acyclic systems into equivalent uniprocessors under preemptive and non-preemptive scheduling. In: Proceedings of the 20th Euromicro conference on real-time systems, Prague, Czech Republic, July 2008

    Google Scholar 

  • Jayachandran P, Abdelzaher T (2010) Reduction-based schedulability analysis of distributed systems with cycles in the task graph. Real-Time Syst 46(1):121–151

    Article  MATH  Google Scholar 

  • Kato S, Yamasaki N (2006) Extended U-link scheduling to increase the execution efficiency for SMT real-time systems. In: Proceedings of the 12th IEEE international conference on embedded and real-time computing systems and applications, pp 373–377

    Google Scholar 

  • Kato S, Ishikawa Y, (Raj) Rajkumar R (2011) Cpu scheduling and memory management for interactive real-time applications. Real-Time Syst 47

  • Kenna CJ, Herman JL, Brandenburg BB, Mills AF, Anderson JH (2011) Soft real-time on multiprocessors: are analysis-based schedulers really worth it? In: Real-time systems symposium (RTSS), 2011 IEEE 32nd, Dec 2011

    Google Scholar 

  • Lattner C, Adve V (2004) LLVM: a compilation framework for lifelong program analysis and transformation. In: Proc. of the international symposium of code generation and optimization, San Jose, CA, USA, Mar 2004

    Google Scholar 

  • Li Y, Suhendra V, Liang Y, Mitra T, Roychoudhury A (2009) Timing analysis of concurrent programs running on shared cache multi-cores. In: 30th IEEE real-time systems symposium. IEEE, New York, pp 57–67

    Chapter  Google Scholar 

  • Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J Assoc Comput Mach 20(1)

  • Paolieri M, Quinones E, Cazorla FJ, Valero M (2009) An analyzable memory controller for hard real-time CMPs. IEEE Embedded Syst Lett 1(4)

  • Paolieri M, Quinones E, Cazorla FJ, Bernat G, Valero M (2009) Hardware support for wcet analysis of hard real-time multicore systems. In: Proceedings of the international symposium on computer architecture (ISCA)

    Google Scholar 

  • Pellizzoni R, Betti E, Bak S, Yao G, Criswell J, Caccamo M, Kegley R (2011) A predictable execution model for cots-based embedded system. In: Proceedings of the 17th IEEE real-time and embedded technology and applications symposium, Chicago, IL, USA, April 2011

    Google Scholar 

  • Pellizzoni R, Schranzhofer A, Chen J-J, Caccamo M, Thiele L (2010) Worst case delay analysis for memory interference in multicore systems. In: Proceedings of design, automation and test in Europe (DATE), Dresden, Germany, Mar 2010

    Google Scholar 

  • Pellizzoni R, Bui BD, Caccamo M, Sha L (2008) Coscheduling of CPU and I/O transactions in COTS-based embedded systems. In: Proceedings of the 2008 real-time systems symposium, Washington, DC, USA. IEEE Computer Society, Los Alamitos, pp 221–231

    Chapter  Google Scholar 

  • Pike J (2009) Hh-60g pave hawk. www.globalsecurity.org/military/systems/aircraft/hh-60g.htm

  • Poovey JA, Conte TM, Levy M, Gal-On S (2009) A benchmark characterization of the eembc benchmark suite. IEEE MICRO 29(5):18–29

    Article  Google Scholar 

  • Reineke J, Grund D, Berg C, Wilhelm R (2007) Timing predictability of cache replacement policies. Real-Time Syst 37(2)

  • Rosen J, Eles P, Andrei A, Peng Z (2007) Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip. In: Proceedings of the 28th IEEE real-time system symposium, December 2007

    Google Scholar 

  • Schliecker S, Negrean M, Ernst R (2010) Bounding the shared resource load for the performance analysis of multiprocessor systems. In: Proceedings of the conference on design, automation and test in Europe, pp 759–764

    Google Scholar 

  • Schranzhofer A, Chen JJ, Thiele L (2010) Timing analysis for TDMA arbitration in resource sharing systems. In: 16th IEEE real-time and embedded technology and applications symposium, pp 215–224

    Chapter  Google Scholar 

  • Whitham J, Audsley N (2009) Implementing time-predictable load and store operations. In: Proc. of the intl. conf. on embedded systems (EMSOFT), Grenoble, France, Oct 2009

    Google Scholar 

  • Yang T, Liu T, Berger ED, Kaplan SF, Moss JEB (2008) Redline: first class support for interactivity in commodity operating systems. In: Proceedings of the 8th USENIX conference on operating systems design and implementation, OSDI’08, pp 73–86

    Google Scholar 

Download references

Acknowledgements

The authors would like to thank Lui Sha for his insightful suggestions. The material presented in this paper is based upon work supported by Lockheed Martin, NSERC and NSF under Award No. CNS-1035736. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the Lockheed Martin, NSERC or NSF.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gang Yao.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yao, G., Pellizzoni, R., Bak, S. et al. Memory-centric scheduling for multicore hard real-time systems. Real-Time Syst 48, 681–715 (2012). https://doi.org/10.1007/s11241-012-9158-9

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-012-9158-9

Keywords

Navigation