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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science 126(2), 183–235 (1994)
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
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
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
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)
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)
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)
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)
Cruz, R.L.: A Calculus for Network Delay, Part I: Network Elements in Isolation. IEEE Trans. Inf. Theory 37(1), 114–131 (1991)
Distributed Application Layer. URL http://www.tik.ee.ethz.ch/~euretile
Densmore, D., Sangiovanni-Vincentelli, A., Passerone, R.: A platform-based taxonomy for ESL design. IEEE Design & Test of Computers 23(5), 359–374 (2006)
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)
Edwards, S.A., Tardieu, O.: SHIM: A Deterministic Model for Heterogeneous Embedded Systems. IEEE Trans. on VLSI Systems 14(8), 854–867 (2006)
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)
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)
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)
Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM 35(2), 97–107 (1992)
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)
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)
Gries, M.: Methods for evaluating and covering the design space during early design development. Integration, the VLSI Journal 38(2), 131–183 (2004)
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)
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)
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)
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)
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)
Hendriks, M., Verhoef, M.: Timed automata based analysis of embedded system architectures. In: Workshop on Parallel and Distributed Real-Time Systems. Rhodes, Greece (2006)
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)
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)
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)
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)
IBM SDK for multicore acceleration: http://www-128.ibm.com/developerworks/power/cell/
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)
Kahn, G.: The semantics of a simple language for parallel programming. In: Proc. IFIP Congress, pp. 471–475. Stockholm, Sweden (1974)
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)
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)
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)
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)
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)
Kopetz, H., Bauer, G.: The time-triggered architecture. Proceedings of the IEEE 91(1), 112–126 (2003)
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)
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)
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)
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)
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)
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)
MathWorks Real-Time Workshop: http://www.mathworks.com/products/rtw/
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
NI LabVIEW Microprocessor SDK: http://www.ni.com/labview/microprocessor_sdk.htm
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)
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)
Parks, T.M.: Bounded Scheduling of Process Networks. Ph.D. thesis, University of California, Berkeley (1995)
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
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)
Pimentel, A.D.: The Artemis workbench for system-level performance evaluation of embedded systems. Int. J. Embedded Systems 3(3), 181–196 (2008)
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)
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)
Ptolemy web site: http://ptolemy.eecs.berkeley.edu
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)
RTEMS web page: http://www.rtems.com
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)
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)
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)
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)
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)
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)
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)
Verdoolaege, S., Nikolov, H., Stefanov, T.: pn: A tool for improved derivation of process networks. EURASIP Journal on Embedded Systems 2007 (2007)
Wallace, G.K.: The JPEG still picture compression standard. IEEE Trans. on Consumer Electronics 38(1), 18–34 (1992). DOI 10.1109/30. 125072
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)
Wandeler, E., Thiele, L.: Real-Time Calculus (RTC) Toolbox. http://www.mpa.ethz.ch/Rtctoolbox (2006). URL http://www.mpa.ethz.ch/Rtctoolbox
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)