Skip to main content

Methods and Tools for Mapping Process Networks onto Multi-Processor Systems-On-Chip

  • Chapter
  • First Online:
Handbook of Signal Processing Systems

Abstract

Applications based on the Kahn process network (KPN) model of computation are determinate, modular, and based on FIFO communication for inter-process communication. While these properties allow KPN applications to efficiently execute on multi-processor systems-on-chip (MPSoC), they also enable the automation of the design process. This chapter focuses on the second aspect and gives an overview of methods for automating the design process of KPN applications implemented on MPSoCs. Whereas previous chapters mainly introduced techniques that apply to restricted classes of process networks, this overview will be dealing with general Kahn process networks.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 219.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 279.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science 126(2), 183–235 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  2. Bacivarov, I., Bouchhima, A., Yoo, S., Jerraya, A.A.: ChronoSym: A new approach for fast and accurate SoC cosimulation. International Journal of Embedded Systems (IJES) 1(1/2), 103–111 (2005). DOI http://dx.doi.org/10.1504/IJES.2005.008812

  3. Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, C., Sangiovanni-Vincentelli, A.: Metropolis: An integrated electronic system design environment. Computer 36(4), 45–52 (2003). DOI http://dx.doi.org/10.1109/MC.2003.1193228

  4. Benini, L., Bertozzi, D., Alessandro, B., Menichelli, F., Olivieri, M.: MPARM: Exploring the multi-processor SoC design space with SystemC. The Journal of VLSI Signal Processing 41, 169–182(14) (2005). DOI doi:10.1007/s11265-005-6648-1

    Google Scholar 

  5. Benveniste, A., Caspi, P., Edwards, S.A., Halbwachs, N., Le Guernic, P., De Simone, R.: The synchronous languages 12 years later. Proceedings of the IEEE 91(1), 64–83 (2003)

    Article  Google Scholar 

  6. Bhattacharyya, S.S., Brebner, G., Janneck, J.W., Eker, J., von Platen, C., Mattavelli, M., Raulet, M.: OpenDF — a dataflow toolset for reconfigurable hardware and multicore systems. In: First Swedish Workshop on Multi-Core Computing (MCC). Uppsala, Sweden (2008)

    Google Scholar 

  7. Bleuler, S., Laumanns, M., Thiele, L., Zitzler, E.: PISA – a platform and programming language independent interface for search algorithms. In: Int’l Conf. on Evolutionary Multi-Criterion Optimization (EMO), pp. 494–508. Faro, Portugal (2003)

    Google Scholar 

  8. Chakraborty, S., Künzli, S., Thiele, L.: A general framework for analyzing system properties in platform-based embedded system design. In: Proc. Design, Automation and Test in Europe (DATE), pp. 190–195. Munich, Germany (2003)

    Google Scholar 

  9. Cruz, R.L.: A Calculus for Network Delay, Part I: Network Elements in Isolation. IEEE Trans. Inf. Theory 37(1), 114–131 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  10. Distributed Application Layer. URL http://www.tik.ee.ethz.ch/~euretile

  11. Densmore, D., Sangiovanni-Vincentelli, A., Passerone, R.: A platform-based taxonomy for ESL design. IEEE Design & Test of Computers 23(5), 359–374 (2006)

    Article  Google Scholar 

  12. Edwards, S., Lavagno, L., Lee, E.A., Sangiovanni-Vincentelli, A.: Design of embedded systems: Formal models, validation, and synthesis. Proceedings of the IEEE 85(3), 366–390 (1997)

    Article  Google Scholar 

  13. Edwards, S.A., Tardieu, O.: SHIM: A Deterministic Model for Heterogeneous Embedded Systems. IEEE Trans. on VLSI Systems 14(8), 854–867 (2006)

    Article  Google Scholar 

  14. Edwards, S.A., Vadudevan, N., Tardieu, O.: Programming shared memory multiprocessors with deterministic message-passing concurrency: Compiling SHIM to Pthreads. In: Proc. Design, Automation and Test in Europe (DATE), pp. 1498–1503. Munich, Germany (2008)

    Google Scholar 

  15. Falk, J., Haubelt, C., Zebelein, C., Teich, J.: Integrated modeling using finite state machines and dataflow graphs. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, second edn. Springer (2013)

    Google Scholar 

  16. Geilen, M., Basten, T.: Kahn process networks and a reactive extension. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, second edn. Springer (2013)

    Google Scholar 

  17. Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM 35(2), 97–107 (1992)

    Article  Google Scholar 

  18. González Harbour, M., Gutiérrez García, J.J., Palencia Gutiérrez, J.C., Drake Moyano, J.M.: MAST: Modeling and analysis suite for real time applications. In: Proc. Euromicro Conference on Real-Time Systems, pp. 125–134. Delft, The Netherlands (2001)

    Google Scholar 

  19. Gordon, M.I., Thies, W., Amarasinghe, S.: Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. In: Proc. Int’l Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pp. 151–162. San Jose, CA, USA (2006)

    Google Scholar 

  20. Gries, M.: Methods for evaluating and covering the design space during early design development. Integration, the VLSI Journal 38(2), 131–183 (2004)

    Google Scholar 

  21. Ha, S., Kim, S., Lee, C.,, Yi, Y., Kwon, S., Joo, Y.P.: PeaCE: A hardware-software codesign environment for multimedia embedded systems. ACM Trans. Design Automation of Electronic Systems 12(3), 1–25 (2007)

    Article  Google Scholar 

  22. Ha, S., Oh, H.: Decidable dataflow models for signal processing: Synchronous dataflow and its extensions. In: S.S. Bhattacharyya, E.F. Deprettere, R. Leupers, J. Takala (eds.) Handbook of Signal Processing Systems, second edn. Springer (2013)

    Google Scholar 

  23. Haid, W., Keller, M., Huang, K., Bacivarov, I., Thiele, L.: Generation and calibration of compositional performance analysis models for multi-processor systems. In: Proc. Int’l Conf. on Systems, Architectures, Modeling and Simulation (IC-SAMOS), pp. 92–99. Samos, Greece (2009)

    Google Scholar 

  24. Haid, W., Schor, L., Huang, K., Bacivarov, I., Thiele, L.: Efficient execution of Kahn process networks on multi-processor systems using protothreads and windowed FIFOs. In: Proc. IEEE Workshop on Embedded Systems for Real-Time Multimedia (ESTIMedia), pp. 35–44. Grenoble, France (2009)

    Google Scholar 

  25. Hamann, A., Racu, R., Ernst, R.: Multi-dimensional robustness optimization in heterogeneous distributed embedded systems. In: Proc. Real Time and Embedded Technology and Applications Symposium (RTAS), pp. 269–280. Bellevue, WA, United States (2007)

    Google Scholar 

  26. Hendriks, M., Verhoef, M.: Timed automata based analysis of embedded system architectures. In: Workshop on Parallel and Distributed Real-Time Systems. Rhodes, Greece (2006)

    Google Scholar 

  27. Henia, R., Hamann, A., Jersak, M., Racu, R., Richter, K., Ernst, R.: System level performance analysis — the SymTA/S approach. IEE Proceedings Computers and Digital Techniques 152(2), 148–166 (2005)

    Article  Google Scholar 

  28. Henzinger, T.A., Horowitz, B., Kirsch, C.M.: Giotto: A time-triggered language for embedded programming. Proceedings of the IEEE 91(1), 84–99 (2003)

    Article  Google Scholar 

  29. Huang, K., Bacivarov, I., Liu, J., Haid, W.: A modular fast simulation framework for stream-oriented MPSoC. In: IEEE Symposium on Industrial Embedded Systems (SIES), pp. 74–81. Lausanne, Switzerland (2009)

    Google Scholar 

  30. Huang, K., Haid, W., Bacivarov, I., Keller, M., Thiele, L.: Embedding formal performance analysis into the design cycle of MPSoCs for real-time streaming applications. ACM Transactions in Embedded Computing Systems (TECS) (2012)

    Google Scholar 

  31. IBM SDK for multicore acceleration: http://www-128.ibm.com/developerworks/power/cell/

  32. Janneck, J.W., Miller, I.D., Parlour, D.B., Roquier, G., Wipliez, M., Raulet, M.: Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study. In: IEEE Workshop on Signal Processing Systems (SiPS), pp. 287–292. Washington, D.C., USA (2008)

    Google Scholar 

  33. Kahn, G.: The semantics of a simple language for parallel programming. In: Proc. IFIP Congress, pp. 471–475. Stockholm, Sweden (1974)

    Google Scholar 

  34. Kangas, T., Kukkala, P., Orsila, H., Salminen, E., Hännikäinen, M., Hämäläinen, T.D.: UML-based multiprocessor SoC design framework. ACM Trans. on Embedded Computing Systems 5(2), 281–320 (2006)

    Article  Google Scholar 

  35. Keinert, J., Streubühr, M., Schlichter, T., Falk, J., Gladigau, J., Haubelt, C., Teich, J., Meredith, M.: SystemCoDesigner — an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans. on Design Automation of Electronic Systems 14(1), 1:1–1:23 (2009)

    Google Scholar 

  36. Kienhuis, B., Deprettere, E., Vissers, K., van der Wolf, P.: An approach for quantitative analysis of application-specific dataflow architectures. In: Proc. Int’l Conf. on Application-Specific Systems, Architectures and Processors (ASAP), pp. 338–349. Washington, DC, USA (1997)

    Google Scholar 

  37. Kienhuis, B., Rijpkema, E., Deprettere, E.: Compaan: Deriving process networks from Matlab for embedded signal processing architectures. In: Proc. of the Int’l Workshop on Hardware/Software Codesign (CODES), pp. 13–17. San Diego, CA, USA (2000)

    Google Scholar 

  38. de Kock, E.A., Essink, G., Smits, W.J.M., van der Wolf, P., Brunel, J.Y., Kruijtzer, W.M., Lieverse, P., Vissers, K.A.: YAPI: Application modeling for signal processing systems. In: Proc. Design Automation Conference (DAC), pp. 402–405. Los Angeles, CA, USA (2000)

    Google Scholar 

  39. Kopetz, H., Bauer, G.: The time-triggered architecture. Proceedings of the IEEE 91(1), 112–126 (2003)

    Article  Google Scholar 

  40. Kraemer, S., Gao, L., Weinstock, J., Leupers, R., Ascheid, G., Meyr, H.: HySim: A fast simulation framework for embedded software development. In: Proc. Int’l Conf. on Hardware/Software Codesign and System Synthesis (CODES+ISSS), pp. 75–80. Salzburg, Austria (2007)

    Google Scholar 

  41. Kumar, A., Fernando, S., Ha, Y., Mesman, B., Corporaal, H.: Multiprocessor systems synthesis for multiple use-cases of multiple applications on FPGA. ACM Trans. on Design Automation of Electronic Systems 31(3), 40:1–40:27 (2008)

    Google Scholar 

  42. Künzli, S., Hamann, A., Ernst, R., Thiele, L.: Combined approach to system level performance analysis of embedded systems. In: Proc. Int’l Conf. on Hardware/Software Codesign and System Synthesis (CODES/ISSS), pp. 63–68. Salzburg, Austria (2007)

    Google Scholar 

  43. Künzli, S., Poletti, F., Benini, L., Thiele, L.: Combining simulation and formal methods for system-level performance analysis. In: Proc. Design, Automation and Test in Europe (DATE), pp. 236–241 (2006)

    Google Scholar 

  44. Le Boudec, J.Y., Thiran, P.: Network Calculus — A Theory of Deterministic Queuing Systems for the Internet, Lecture Notes in Computer Science, vol. 2050. Springer Verlag (2001)

    Google Scholar 

  45. Marwedel, P., Teich, J., Kouveli, G., Bacivarov, I., Thiele, L., Ha, S., Lee, C., Xu, Q., Huang, L.: Mapping of applications to MPSoCs. In: CODES+ISSS. October 9–14, 2011, Taipei, Taiwan. (2011)

    Google Scholar 

  46. MathWorks Real-Time Workshop: http://www.mathworks.com/products/rtw/

  47. Mattson, T.G., Riepen, M., Lehnig, T., Brett, P., Haas, W., Kennedy, P., Howard, J., Vangal, S., Borkar, N., Ruhl, G., Dighe, S.: The 48-core SCC processor: The programmer’s view. In: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, SC ’10, pp. 1–11. IEEE Computer Society, Washington, DC, USA (2010). DOI 10.1109/SC.2010.53. URL http://dx.doi.org/10.1109/SC.2010.53

  48. NI LabVIEW Microprocessor SDK: http://www.ni.com/labview/microprocessor_sdk.htm

  49. Nikolov, H., Stefanov, T., Deprettere, E.: Systematic and automated multiprocessor system design, programming, and implementation. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems 27(3), 542–555 (2008)

    Article  Google Scholar 

  50. Paolucci, P.S., Jerraya, A.A., Leupers, R., Thiele, L., Vicini, P.: SHAPES: A tiled scalable software hardware architecture platform for embedded systems. In: Proc. Int’l Conf. on Hardware/Software Codesign and System Synthesis (CODES+ISSS), pp. 167–172. Seoul, South Korea (2006)

    Google Scholar 

  51. Parks, T.M.: Bounded Scheduling of Process Networks. Ph.D. thesis, University of California, Berkeley (1995)

    Google Scholar 

  52. Perathoner, S., Wandeler, E., Thiele, L., Hamann, A., Schliecker, S., Henia, R., Racu, R., Ernst, R., González Harbour, M.: Influence of different system abstractions on the performance analysis of distributed real-time systems. In: Proc. Int’l Conf. on Embedded Software (EMSOFT), pp. 193–202. Salzburg, Austria (2007). DOI http://doi.acm.org/10.1145/1289927.1289959

  53. Pham, D.C., Aipperspach, T., Boerstler, D., Bolliger, M., Chaudhry, R., Cox, D., Harvey, P., Harvey, P.M., Hofstee, H.P., Johns, C., Kahle, J., Kameyama, A., Keaty, J., Masubuchi, Y., Pham, M., Pille, J., Posluszny, S., Riley, M., Stasiak, D.L., Suzuoki, M., Takahashi, O., Warnock, J., Weitzel, S., Wendel, D., Yazawa, K.: Overview of the architecture, circuit design, and physical implementation of a first-generation Cell processor. IEEE Journal of Solid-State Circuits 41(1), 179–196 (2006)

    Article  Google Scholar 

  54. Pimentel, A.D.: The Artemis workbench for system-level performance evaluation of embedded systems. Int. J. Embedded Systems 3(3), 181–196 (2008)

    Article  Google Scholar 

  55. Pimentel, A.D., Erbas, C., Polstra, S.: A systematic approach to exploring embedded system architectures at multiple abstraction levels. IEEE Trans. on Computers 55(2), 99–112 (2006)

    Article  Google Scholar 

  56. Pimentel, A.D., Thompson, M., Polstra, S., Erbas, C.: Calibration of abstract performance models for system system-level design space exploration. Journal of Signal Processing Systems 50(2), 99–114 (2008)

    Article  Google Scholar 

  57. Ptolemy web site: http://ptolemy.eecs.berkeley.edu

  58. Rai, D., Yang, H., Bacivarov, I., Chen, J.J., Thiele, L.: Worst-case temperature analysis for real-time systems. In: Proc. Design, Automation and Test in Europe (DATE’11). Grenoble, France (2011)

    Google Scholar 

  59. RTEMS web page: http://www.rtems.com

  60. Schliecker, S., Stein, S., Ernst, R.: Performance analysis of complex systems by integration of dataflow graphs and compositional performance analysis. In: Proc. Design, Automation and Test in Europe (DATE), pp. 273–278 (2007)

    Google Scholar 

  61. Schor, L., Bacivarov, I., Yang, H., Thiele, L.: Worst-case temperature guarantees for real-time applications on multi-core systems. In: Proc. IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS). Beijing, China (2012)

    Google Scholar 

  62. Thiele, L., Bacivarov, I., Haid, W., Huang, K.: Mapping applications to tiled multiprocessor embedded systems. In: Proc. Int’l Conf. on Application of Concurrency to System Design (ACSD), pp. 29–40. Bratislava, Slovak Republic (2007)

    Google Scholar 

  63. Thiele, L., Chakraborty, S., Gries, M., Künzli, S.: A framework for evaluating design tradeoffs in packet processing architectures. In: Proc. Design Automation Conference (DAC), pp. 880–885. New Orleans, LA, USA (2002)

    Google Scholar 

  64. Thiele, L., Chakraborty, S., Naedele, M.: Real-time calculus for scheduling hard real-time systems. In: Proc. Int’l Symposium on Circuits and Systems (ISCAS), vol. 4, pp. 101–104. Geneva, Switzerland (2000)

    Google Scholar 

  65. Thiele, L., Schor, L., Yang, H., Bacivarov, I.: Thermal-aware system analysis and software synthesis for embedded multi-processors. In: Proc. Design Automation Conference (DAC), pp. 268 – 273. ACM, San Diego, California, USA (2011)

    Google Scholar 

  66. Vasudevan, N., Edwards, S.A.: Celling SHIM: Compiling deterministic concurrency to a heterogeneous multicore. In: Proc. ACM Symposium on Applied Computing (SAC), pp. 1626–1631. Honolulu, HI, USA (2009)

    Google Scholar 

  67. Verdoolaege, S., Nikolov, H., Stefanov, T.: pn: A tool for improved derivation of process networks. EURASIP Journal on Embedded Systems 2007 (2007)

    Google Scholar 

  68. Wallace, G.K.: The JPEG still picture compression standard. IEEE Trans. on Consumer Electronics 38(1), 18–34 (1992). DOI 10.1109/30. 125072

    Article  Google Scholar 

  69. Wandeler, E., Thiele, L.: Optimal TDMA time slot and cycle length allocation for hard real-time systems. In: Proc. Asia and South Pacific Conf. on Design Automation (ASP-DAC), pp. 479–484. Yokohama, Japan (2006)

    Google Scholar 

  70. Wandeler, E., Thiele, L.: Real-Time Calculus (RTC) Toolbox. http://www.mpa.ethz.ch/Rtctoolbox (2006). URL http://www.mpa.ethz.ch/Rtctoolbox

  71. Wandeler, E., Thiele, L., Verhoef, M., Lieverse, P.: System architecture evaluation using modular performance analysis: A case study. Int’l Journal on Software Tools for Technology Transfer (STTT) 8(6), 649–667 (2006)

    Google Scholar 

  72. Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P.: The worst-case execution time problem — overview of methods and survey of tools. ACM Trans. on Embedded Computing Systems 7(3), 36:1–36:53 (2008)

    Google Scholar 

  73. Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the strength pareto evolutionary algorithm for multiobjective optimization. In: Proc. Evolutionary Methods for Design, Optimisation, and Control (EUROGEN), pp. 95–100. Athens, Greece (2001)

    Google Scholar 

  74. Zitzler, E., Thiele, L.: Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach. IEEE Trans. on Evolutionary Computation 3(4), 257–271 (1999)

    Article  Google Scholar 

  75. Zitzler, E., Thiele, L., Bader, J.: SPAM: Set preference algorithm for multiobjective optimization. In: Conf. on Parallel Problem Solving From Nature (PPSN), pp. 847–858. Dortmund, Germany (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iuliana Bacivarov .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Bacivarov, I., Haid, W., Huang, K., Thiele, L. (2013). Methods and Tools for Mapping Process Networks onto Multi-Processor Systems-On-Chip. In: Bhattacharyya, S., Deprettere, E., Leupers, R., Takala, J. (eds) Handbook of Signal Processing Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-6859-2_27

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-6859-2_27

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-6858-5

  • Online ISBN: 978-1-4614-6859-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics