Supporting Reconfigurable Parallel Multimedia Applications

  • Maik Nijhuis
  • Herbert Bos
  • Henri E. Bal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4128)


Programming multimedia applications for System-on-Chip (SoC) architectures is difficult because streaming communication, user event handling, reconfiguration, and parallelism have to be dealt with. We present Hinch, a runtime system for multimedia applications, that efficiently exploits parallelism by running the application in a dataflow style. The application has to be implemented as components that communicate using streams. Reconfigurability is supported by a generic component interface. Measurements have been performed on a SpaceCake SoC architecture simulator. Hinch can easily be ported to other shared-memory architectures.


Image Frame Multimedia Application Memory Architecture Data Parallelism Task Parallelism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kahle, J.A., Day, M.N., Hofstee, H.P., Johns, C.R., Maeurer, T.R., Shippy, D.: Introduction to the Cell multiprocessor. IBM Journal of Research and Development 49(4/5), 589 (2005)CrossRefGoogle Scholar
  2. 2.
    Intel Corporation: Network processors (2006),
  3. 3.
    Stravers, P., Hoogerbrugge, J.: Single chip multiprocessing for consumer electronics. In: Bhattacharyya (ed.) Domain-Specific Processors, Marcel Dekker, New York (2003)Google Scholar
  4. 4.
    Bal, H.E., Haines, M.: Approaches for integrating task and data parallelism. IEEE Concurrency 6(3), 74–84 (1998)CrossRefGoogle Scholar
  5. 5.
    González-Escribano, A., van Gemund, A.J.: An XML structured representation for nested-parallel programming languages. In: Proc. CPC, Chiemsee, pp. 149–160 (2004)Google Scholar
  6. 6.
    Lee, E.A., Parks, T.M.: Dataflow process networks. In: Proc. of the IEEE, pp. 773–799 (1995)Google Scholar
  7. 7.
    van Nieuwpoort, R.V., Kielmann, T., Bal, H.E.: Efficient load balancing for wide-area divide-and-conquer applications. In: Proc. PPoPP 2001, Snowbird, UT (2001)Google Scholar
  8. 8.
    Varbanescu, A.L., Sips, H., van Gemund, A.: PAM-SoC: A toolchain for predicting MPSoC performance. In: Proc. EuroPAR 2006, Dresden (2006)Google Scholar
  9. 9.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. Computer 33(3), 78–85 (2000)CrossRefGoogle Scholar
  10. 10.
    Thies, W., Karczmarek, M., Amarasinghe, S.P.: StreamIt: A language for streaming applications. In: Horspool, R.N. (ed.) CC 2002 and ETAPS 2002. LNCS, vol. 2304, pp. 179–196. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. 11.
    Ramachandran, U., Nikhil, R.S., Harel, N., Rehg, J.M., Knobe, K.: Space-time memory: A parallel programming abstraction for interactive multimedia applications. In: Proc. PPoPP 1999, Atlanta, Georgia, pp. 183–192 (1999)Google Scholar
  12. 12.
    Bove, V., Watlington, J.: Cheops: A reconfigurable data-flow system for video processing. IEEE Trans. on Circuits and Systems for Video Technology 5(2), 140–149 (1995)CrossRefGoogle Scholar
  13. 13.
    Serebrin, B., Owens, J.D., Chen, C.H., Crago, S.P., Kapasi, U.J., Khailany, B., Mattson, P., Namkoong, J., Rixner, S., Dally, W.D.: A stream processor development platform. In: Proc. 20th International Conference on Computer Design, Freiburg, Germany (2002)Google Scholar
  14. 14.
    van der Wolf, P., de Kock, E., Henriksson, T., Kruijtzer, W., Essink, G.: Design and programming of embedded multiprocessors: an interface-centric approach. In: Proc. CODES+ISSS, pp. 206–217 (2004)Google Scholar
  15. 15.
    de Kock, E.A., Smits, W.J.M., van der Wolf, P., Brunel, J.Y., Kruijtzer, W.M., Lieverse, P., Vissers, K.A., Essink, G.: Yapi: application modeling for signal processing systems. In: Proc. 37th Design Automation Conference, pp. 402–405. ACM Press, New York (2000)CrossRefGoogle Scholar
  16. 16.
    Nieuwland, A., Kang, J., Gangwal, O.P., Sethuraman, R., Busá, N., Goossens, K., Llopis, R.P., Lippens, P.: C-HEAP: A heterogeneous multi-processor architecture template and scalable and flexible protocol for the design of embedded signal processing systems. Design Automation for Embedded Systems 7(3), 233–270 (2002)MATHCrossRefGoogle Scholar
  17. 17.
    Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J.L. (ed.) Information processing, Stockholm, Sweden, pp. 471–475. North-Holland, Amsterdam (1974)Google Scholar
  18. 18.
    Caarls, W., Jonker, P., Corporaal, H.: Skeletons and asynchronous RPC for embedded data- and task parallel image processing. In: Proc. MVA2005, Tokyo, pp. 384–387 (2005)Google Scholar
  19. 19.
    Cole, M.I.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press & Pitman (1989)Google Scholar
  20. 20.
    Moore, M.S., Sztipanovitz, J., Karsai, G., Nichols, J.: A model-integrated program synthesis environment for parallel/real-time image processing. In: Proc. Par. Dist. Methods for Image Processing, pp. 31–45 (1997)Google Scholar
  21. 21.
    Tanguay, D., Gelb, D., Baker, H.H.: Nizza: A framework for developing real-time streaming multimedia applications. Technical Report HPL-2004-132, HP Labs, Palo Alto (2004)Google Scholar
  22. 22.
    Shah, N., Plishker, W., Keutzer, K.: NP-Click: A programming model for the Intel IXP1200. In: Proc. NP-2 conjunction with HPCA-9, Anaheim, California (2003)Google Scholar
  23. 23.
    Memik, G., Mangione-Smith, W.: Nepal: A framework for efficiently structuring applications for network processors. In: Proc. NP-2 in conjunction with HPCA-9, Anaheim, California (2003)Google Scholar
  24. 24.
    Chen, M.K., Li, X.F., Lian, R., Lin, J.H., Liu, L., Liu, T., Ju, R.: Shangri-La: achieving high performance from compiled network applications while enabling ease of programming. In: Proc. ACM SIGPLAN PLDI, pp. 224–236. ACM Press, New York (2005)Google Scholar
  25. 25.
    Ramaswamy, R., Weng, N., Wolf, T.: Application analysis and resource mapping for heterogeneous network processor architectures. In: Proc. NP-3 in conjunction with HPCA-10, Madrid, Spain, pp. 103–119 (2004)Google Scholar
  26. 26.
    Campbell, A.T., Chou, S.T., Kounavis, M.E., Stachtos, V.D., Vincente, J.: Netbind: A binding tool for constructing data paths in network processor-based routers. In: Proc. IEEE OPENARCH, New York, (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Maik Nijhuis
    • 1
  • Herbert Bos
    • 1
  • Henri E. Bal
    • 1
  1. 1.Department of Computer ScienceVrije Universiteit Amsterdam 

Personalised recommendations