Skip to main content
Log in

A Safari Through the MPSoC Run-Time Management Jungle

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

The multiprocessor SoC (MPSoC) revolution is fueled by the need to execute multiple advanced multimedia applications on a single embedded computing platform. At design-time, the applications that will run in parallel and their respective user requirements are unknown. Hence, a run-time manager (RTM) is needed to match all application needs with the available platform resources and services. Creating such a run-time manager requires two decisions. First, one needs to decide what functionality to implement. Second, one has to decide how to implement this functionality in order to meet boundary conditions like e.g. real-time performance. This paper is the first to detail a generic view on MPSoC run-time management functionality and its design space trade-offs. We substantiate the run-time components and the implementation trade-offs with academic state-of-the-art solutions and a brief overview of some industrial multiprocessor run-time management examples. We show a clear trend towards more hardware acceleration, a limited distribution of management functionality over the platform and increasing support for adaptive multimedia applications. In addition, we briefly detail upcoming run-time management research issues.

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.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12

Similar content being viewed by others

Notes

  1. Also denoted as job utility function [4] or application utility function.

  2. This often means an additional processor or programmable IP block that provides run-time management services.

  3. The comparison is based on publicly/freely available information.

  4. In the microkernel world, only the most basic functionality (BIOS) is incorporated into the RTOS kernel. The run-time management or operating system functionality responsible for more high level tasks, such as resource management, execute outside the RTOS kernel and are commonly denoted as servers. Hence the name RM server for the resource management functionality.

References

  1. Benini, L., & De Micheli, G. (2002). Networks on chips: A new SoC paradigm. IEEE Computer, 35(1), 70–78.

    Google Scholar 

  2. Guven, S., & Feiner, S. (2003). Authoring 3D hypermedia for wearable augmented and virtual reality. In ISWC ’03: Proceedings of the 7th IEEE international symposium on wearable computers (p. 118). Washington, DC: IEEE Computer Society.

    Chapter  Google Scholar 

  3. Geilen, M., Basten, T., Theelen, B., & Otten, R. (2005). An algebra of pareto points. Technical Report ESR-2005-2, Eindhoven University of Technology. January 2005.

  4. Bril, R. J., Hentschel, C., Steffens, E. F. M., Gabrani, M., van Loo, G., & Gelissen, J. H. A. (2001). Multimedia QoS in consumer terminals. In IEEE workshop on signal processing systems (pp. 332–343). Antwerp, Belgium. September 2001.

  5. Khan, S., Li, K. F., & Manning, E. (1997). The utility model for adaptive multimedia systems. In Proceedings of the international workshop on multimedia modeling (pp. 111–126).

  6. Lee, C., Lehoczky, J., Siewiorek, D., Rajkumar, R., & Hansen, J. (1999). A scalable solution to the multi-resource QoS problem. In RTSS ’99: Proceedings of the 20th IEEE real-time systems symposium (p. 315). Washington, DC: IEEE Computer Society.

    Google Scholar 

  7. Wust, C. C., Bril, R. J., Hentschel, C., Steffens, L., & Verhaegh, W. F. J. (2004). QoS control challenges for multimedia consumer terminals. In Proceedings of the international workshop on probabilistic analysis techniques for real time and embedded systems (PARTES). September 2004.

  8. Van Raemdonck, W., Lafruit, G., Steffens, E. F. M., Otero Perez, C. M., & Bril, R. J. (2002). Scalable 3D graphics processing in consumer terminals. In Multimedia and expo, 2002. ICME ’02. Proceedings. 2002 IEEE international conference on (Vol. 1, pp. 369–372, 26–29). August 2002.

  9. Pastrnak, M., Poplavko, P., de With, P. H. N., & van Meerbergen, J. (2005). Hierarchical QoS concept for multiprocessor system-on-chip. In Proccedings of the workshop on resource management for media processing in networked embedded systems (pp. 139–142). Eindhoven, The Netherlands.

  10. Pastrnak, M., de With, P. H. N., & van Meerbergen, J. (2006). Realization of QoS management using negotiation algorithms for multiprocessor NoC. In IEEE international symposium on circuits and systems (ISCAS) (pp. 1912–1915). Kos, Greece. May 2006.

  11. International Technology Roadmap for Semiconductors (ITRS) (2005). 2005 edition: Design Chapter. http://public.itrs.net/.

  12. Kuhl, J. G., & Casavant, T. L. (1988). A taxonomy of scheduling in general-purpose distributed computing systems. IEEE Transactions on Software Engineering, 14(11), 1578–1588.

    Article  Google Scholar 

  13. Tanenbaum, A. S. (1995). Distributed operating systems. Englewood Cliffs: Prentice Hall.

    Google Scholar 

  14. Hu, J., & Marculescu, R. (2003). Energy-Aware mapping for tile-based NoC architectures under performance constraints. In Proceedings of the Asia & South Pacific design automation conference (ASP-DAC). January 2003.

  15. Hansson, A., Goossens, K., & Radulescu, A. (2005). A unified approach to constrained mapping and routing on network-on-chip architectures. In CODES+ISSS ’05: Proceedings of the 3rd IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis (pp. 75–80). New York: ACM.

    Chapter  Google Scholar 

  16. Stuijk, S., Basten, T., Geilen, M., & Corporaal, H. (2007). Multiprocessor resource allocation for throughput-constrained synchronous dataflow graphs. In Proc. of 44th design automation conference. June 2007 (pp. 777–782). New York: ACM.

    Google Scholar 

  17. Yang, P., Wong, C., Marchal, P., Catthoor, F., Desmet, D., Verkest, D., et al. (2001). Energy-aware runtime scheduling for embedded-multiprocessor SOCs. IEEE Design and Test of Computers, 18(5), 46–58.

    Article  Google Scholar 

  18. Yang, P., & Catthoor, F. (2003). Pareto-optimization-based run-time task scheduling for embedded systems. In CODES+ISSS ’03: Proceedings of the 1st IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis (pp. 120–125). New York: ACM.

    Chapter  Google Scholar 

  19. Ma, Z., Scarpazza, D., & Catthoor, F. (2007). Run-time task overlapping on multiprocessor platforms. In Proceedings of the 3rd workshop on embedded systems for real-time multimedia (ESTIMedia), (pp. 47–52). October 2007.

  20. Brockmeyer, E., Miranda, M., Corporaal, H., & Catthoor, F. (2003). Layer assignment techniques for low energy in multi-layered memory organisations. In Proceedings of the design, automation and test in Europe conference (DATE) (pp. 1070–1075).

  21. Zucker, D. F., Lee, R. B., & Flynn, M. J. (1998). An automated method for software controlled cache prefetching. In HICSS ’98: Proceedings of the thirty-first annual Hawaii international conference on system sciences (Vol. 7, p. 106). Washington, DC: IEEE Computer Society.

    Chapter  Google Scholar 

  22. Paulin, P. G., Pilkington, C., Langevin, M., Bensoudane, E., & Nicolescu, G. (2004). Parallel programming models for a multi-processor SoC platform applied to high-speed traffic management. In CODES+ISSS ’04: Proceedings of the 2nd IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis (pp. 48–53). New York: ACM.

    Chapter  Google Scholar 

  23. Paulin, P. (2005). SoC platforms of the future: challenges and solutions. In MPSoC’05, July 2005.

  24. Rutten, M. J., van Eijndhoven, J. T. J., & Pol, E.-J. D. (2002). Design of multi-tasking coprocessor control for Eclipse. In Proceedings of the tenth international symposium on hardware/software codesign (pp. 139–144). New York: ACM.

    Google Scholar 

  25. Singhal, M., & Shivaratri, N. G. (1994). Advanced concepts in operating systems: Distributed, database and multiprocessor operating systems. London: McGraw Hill.

    Google Scholar 

  26. Garcia, J., Ferreira, P., & Guedes, P. (2000). Parallel operating systems. In J. Bazewicz, D. Trystram, & D. Plateau (Eds.), Handbook on parallel and distributed processing. New York: Springer.

    Google Scholar 

  27. Jacob, B., Kohout, P., Ganesh, B. (2003). Hardware support for real-time operating systems. In Proceedings of the 1st IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis (pp. 45–51). New York: ACM.

    Google Scholar 

  28. Theelen, B. D., & Verschueren, A. C. (2002). Architecture design of a scalable single-chip multi-processor. In DSD ’02: Proceedings of the euromicro symposium on digital systems design (p. 132). Washington, DC: IEEE Computer Society.

    Chapter  Google Scholar 

  29. Nakano, T., Utama, A., Itabashi, M., Shiomi, A., & Imai, M. (1995). Hardware implementation of a real-time operating system. In Proceeding of the 12th TRON project international symposium (p. 34).

  30. Samuelsson, T., Åkerholm, M., Nygren, P., Stärner, J., & Lindh, L. (2003). A comparison of multiprocessor real-time operating systems implemented in hardware and software. In International workshop on advanced real-time operating system services (ARTOSS). Porto, Portugal. July 2003.

  31. Haukilahti, R. (2002). Energy characterization of a RTOS hardware accelerator for SoCs. In Proceeding of the Swedish system-on-chip conference.

  32. Isaacson, S., & Wilde, D. (2004). The task-resource matrix: Control for a distributed reconfigurable multi-processor hardware RTOS. In Proceedings of the international conference on engineering of reconfigurable systems and algorithms (ERSA) (pp. 130–136). Las Vegas, Nevada, USA. 21–24 June 2004.

  33. Klevin, T. (2003). Get RealFast RTOS with Xilinx FPGAs. Xcell Journal, 45. http://www.xilinx.com/publications/xcellonline/xcell_45/xc_pdf/xc_rtos45.pdf.

  34. Rutten, M. J., Pol, E.-J., van Eijndhoven, J., Walters, K., & Essink, G. (2005). Dynamic reconfiguration of streaming graphs on a heterogeneous multiprocessor architecture. In S. Sudharsanan, V. M. J. Bove, & S. Panchanathan (Eds.), Proceedings of the SPIE (Embedded processors for multimedia and communications II). (Vol. 5683, pp. 53–63).

  35. Nacul, A., Regazzoni, F., & Lajolo, M. (2007). Hardware scheduling support in SMP architectures. In Proceedings of the design automation and test in Europe conference (DATE). Nice, France.

  36. El Shobaki, M. (2002). On-chip monitoring of single- and multiprocessor hardware real-time operating systems. In Proceedings of the 8th international conference on real-time computing systems and applications (RTCSA). March 2002.

  37. Regehr, J., Jones, M., & Stankovic, J. (2000). Operating system support for multimedia: The programming model matters. Technical Report MSR-TR-2000-89, Microsoft Research. September 2000.

  38. Bovet, D., & Cesati, M. (2001). Understanding the Linux Kernel. Sebastopol: O’Reilly.

    Google Scholar 

  39. Gauthier, L., Yoo, S., & Jerraya, A. (2001). Automatic generation and targeting of application specific operating systems and embedded systems software. In Proceedings of the conference on design automation and test in Europe (DATE) (pp. 679–685).

  40. Gauthier, L., Sungjoo, Y., & Jerraya., A. A. (2001). Automatic generation and targeting of application-specific operating systems and embedded systems software. In IEEE transactions on computer-aided design of integrated circuits and systems (vol. 20, pp. 1293–1301).

  41. Pu, C., & Walpole, J. (1994). A case for adaptive os kernels. In Proceedings of the ACM object oriented programming systems, languages and applications.

  42. Noble, B. D., Satyanarayanan, M., Narayanan, D., Tilton, J. E., Flinn, J., & Walker, K. R. (1997). Agile application-aware adaptation for mobility. In Sixteen ACM symposium on operating systems principles (pp. 276–287). Saint Malo, France.

  43. Engler, D. R., Kaashoek, M. F., & O’Toole Jr., J. W. (1995). The operating system kernel as a secure programmable machine. Operating Systems Review, 29(1), 78–82. January 1995.

    Article  Google Scholar 

  44. Kaashoek, M. F., Engler, D. R., Ganger, G. R., Briceño, H. M., Hunt, R., Mazières, D., et al. (1997). Application performance and flexibility on exokernel systems. In Proceedings of the 16th ACM symposium on operating systems principles (SOSP ’97) (pp. 52–65). Saint-Malô, France. October 1997.

  45. Nahrstedt, K., & Jin, J. (2002). Classification and comparison of qos specification languages for distributed multimedia applications. Tech. Rep. Technical Report UIUCDCS-R-2002-2302/UILU-ENG-2002-1745, Department of Computer Science, University of Illinois at Urbana-Champaign. November 2002.

  46. Couvreur, C., Brockmeyer, E., Nollet, V., Marescaux, Th., Catthoor, Fr., & Corporaal, H. (2005). Design-time application exploration for MP-SoC customized run-time management. In Proceedings of the international symposium on system-on-chip (pp. 66–73). Tampere, Finland. November 2005.

  47. Couvreur, C., Nollet, V., Marescaux, T., Brockmeyer, E., Catthoor, F., & Corporaal, H. (2006). Pareto-based application specification for MPSoC customized run-time management. In Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS) (pp. 78–84). July 2006.

  48. Couvreur, C., Nollet, V., Marescaux, T., Brockmeyer, E., Catthoor, F., & Corporaal, H. (2007). Design-time application mapping and platform exploration for MP-SoC customized run-time management. IEE Computers & Digital Techniques, 1(2), 120–128.

    Article  Google Scholar 

  49. Mamagkakis, S., Atienza, D., Poucet, C., Catthoor, F., & Soudris, D. (2006). Energy-efficient dynamic memory allocators at the middleware level of embedded systems. In Proceedings of the Sixth ACM & IEEE international conference on embedded software (EMSOFT 2006) (pp. 215 – 222). Seoul, Korea.

  50. Cumming, P. (2003). The TI OMAP platform approach to SoC chapter 5, (pp. 97–118). Boston: Kluwer.

    Google Scholar 

  51. Saha, B., Adl-Tabatabai, A.-R., Hudson, R. L., Menon, V., Shpeisman, T., Rajagopalan, M., et al. (2007). Runtime environment for tera-scale platforms. Intel Technology Journal, 11(3), 207–215. August 2007.

    Article  Google Scholar 

  52. Goodacre, J., & Sloss, A. N. (2005). Parallelism and the ARM instruction set architecture. Computer, 38(7), 42–50.

    Article  Google Scholar 

  53. Carbone, J. (2005). A SMP RTOS for the ARM MPCore multiprocessor. Design Strategies and Methodologies, 4(3), 64–67.

    MathSciNet  Google Scholar 

  54. Williams, C. (2002). Linux scheduler latency. Technical report, Red Hat Inc.

  55. Butenuth, R. (1994). The COSY-Kernel as an example for efficient kernel call mechanisms on transputers. In Proceedings of the 6th transputer/occam international conference.

  56. Butenuth, R., Burke, W., De Rose, C., Gilles, S., & Weber, R. (1997). Experiences in building cosy—an operating system for highly parallel computers. In Proceedings of the conference parallel computing: Fundamentals, applications and new directions (ParCo) (pp. 469–476).

  57. Douglis, F., Ousterhout, J. K., Kaashoek, M. F., & Tanenbaum, A. S. (1991). A comparison of two distributed systems: Amoeba and Sprite. Computing Systems, 4(4), 353–384.

    Google Scholar 

  58. Tanenbaum, A. S. (1995). A comparison of three microkernels. The Journal of Supercomputing, 9(1–2), 7–22.

    Article  Google Scholar 

  59. Douglis, F. (1989). Experience with process migration in Sprite. In Workshop on experiences with building distributed and multiprocessor systems (pp. 59–72), Berkeley, CA: USENIX Association.

    Google Scholar 

  60. Black, D. L. (1990). Scheduling support for concurrency and parallelism in the Mach operating system. IEEE Computer, 23(5), 35–43.

    Google Scholar 

  61. Muir, S., & Smith, J. (1998). AsyMOS—an asymmetric multiprocessor operating system. In Open architectures and network programming (pp. 25–34). April 1998.

  62. Appavoo, J., Auslander, M., Butrico, M., da Silva, D. M., Krieger, O., Mergen, M. F., et al. (2005). Experience with K42, an open-source, Linux-compatible, scalable operating-system kernel. IBM Systems Journal, 44(2), 427–440.

    Article  Google Scholar 

  63. Cockx, J., Denolf, K., Vanhoof, B., & Stahl, R. (2007). SPRINT: A tool to generate concurrent transaction-level models from sequential code. EURASIP Journal on Applied Signal Processing, 2007(1), 213–213.

    Google Scholar 

  64. Blainey, B. (2007). Manycore impacts on commercial applications. December 2007.

  65. Penry, D. A. (2007). You can’t parallelize just once: Managing manycore diversity. In Workshop on Manycore computing, Seattle, WA, USA. June 2007.

  66. Papanikolaou, A., Wang, H., Miranda, M., & Catthoor, F. (2007). Reliability issues in deep deep sub-micron technologies: time-dependent variability and its impact on embedded system design. In Proceedings of the 13th IEEE international on-line testing symposium (p. 121).

  67. Azimi, M., Cherukuri, N., Jayasimha, D., Kumar, A., Kundu, P., Park, S., et al. (2007). Integration challenges and trade-offs for tera-scale architectures. Intel Technology Journal, 11(3), 173–184. August 2007.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vincent Nollet.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nollet, V., Verkest, D. & Corporaal, H. A Safari Through the MPSoC Run-Time Management Jungle. J Sign Process Syst 60, 251–268 (2010). https://doi.org/10.1007/s11265-008-0305-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-008-0305-4

Keywords

Navigation