SP@CE - An SP-Based Programming Model for Consumer Electronics Streaming Applications

  • Ana Lucia Varbanescu
  • Maik Nijhuis
  • Arturo González-Escribano
  • Henk Sips
  • Herbert Bos
  • Henri Bal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4382)


Efficient programming of multimedia streaming applications for Consumer Electronics (CE) devices is not trivial. As a solution for this problem, we present SP@CE, a novel programming model designed to balance the specific requirements of CE streaming applications with the simplicity and efficiency of the Series-Parallel Contention (SPC) programming model To enable the use of SP@CE, we have designed a framework that guides the programmer to design, evaluate, optimize and execute the application on the target CE platform. To evaluate the entire system, we have used SP@CE to implement a set of real-life streaming applications and we present the results obtained by running them on the Wasabi/SpaceCAKE architecture from Philips, a multi-processor system-on-chip (MPSoC) CE platform. The experiments show that SP@CE enables rapid application development, induces low overhead, offers high code reuse potential, and takes advantage of the inherent application parallelism.


streaming applications consumer electronics  programming models SP@CE component-based framework MPSoC 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Stephens, R.: A survey of stream processing. Acta Informatica 34(7), 491–541 (1997), citeseer.ist.psu.edu/stephens95survey.html MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Thies, W., et al.: Language and compiler design for streaming applications. In: IPDPS’04 - Workshop 10, vol. 11 (2004)Google Scholar
  3. 3.
    Buck, I., et al.: Brook for GPUs: Stream computing on graphics hardware. In: SIGGRAPH 2004, ACM Press, New York (2004), http://graphics.stanford.edu/papers/brookgpu/ Google Scholar
  4. 4.
    Knobe, K., Offner, C.D.: Compiling to TStreams, a new model of parallel computation. Technical report (2005)Google Scholar
  5. 5.
    Valdes, J., Tarjan, R.E., Lawler, E.L.: The recognition of series parallel digraphs. In: STOC ’79, Atlanta, Georgia, United States, pp. 1–12. ACM Press, New York (1979)CrossRefGoogle Scholar
  6. 6.
    González-Escribano, A.: Synchronization Architecture in Parallel Programming Models. PhD thesis, Dpto. Informatica, University of Valladolid (2003)Google Scholar
  7. 7.
    van Gemund, A.J.C.: The importance of synchronization structure in parallel program optimization. In: ICS ’97: Proc. 11th international conference on Supercomputing, Vienna, Austria, pp. 164–171. ACM Press, New York (1997), doi:10.1145/263580.263625CrossRefGoogle Scholar
  8. 8.
    Skillicorn, D.B., Talia, D.: Models and languages for parallel computation. ACM Comput. Surv. 30(2), 123–169 (1998), doi:10.1145/280277.280278CrossRefGoogle Scholar
  9. 9.
    Varbanescu, A.L., van Gemund, A.J.C., Sips, H.: PAM-SoC: A toolchain for predicting MPSoC performance. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds.) Euro-Par 2006. LNCS, vol. 4128, pp. 111–123. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Nijhuis, M., Bos, H., Bal, H.: Supporting reconfigurable parallel multimedia applications. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds.) Euro-Par 2006. LNCS, vol. 4128, pp. 765–776. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    González-Escribano, A., van Gemund, A.J.C., Cardeñoso-Payo, V.: SPC-XML: A structured representation for nested-parallel programming languages. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 782–792. Springer, Heidelberg (2005)Google Scholar
  12. 12.
    Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. of the IEEE, 773–799 (1995)Google Scholar
  13. 13.
    van Gemund, A.: Performance Modeling of Parallel Systems. PhD thesis, Delft University of Technology (1996)Google Scholar
  14. 14.
    van Gemund, A.J.C.: Symbolic performance modeling of parallel systems. IEEE TPDS 14(2), 154–165 (2003)Google Scholar
  15. 15.
    Stravers, P., Hoogerbrugge, J.: Single chip multiprocessing for consumer electronics. In: Bhattacharyya, S.S. (ed.) Domain-Specific Processors, Marcel Dekker, New York (2003)Google Scholar
  16. 16.
    Ashcroft, E.A., Wadge, W.W.: Lucid, the Dataflow Programming Language. Academic Press, London (1985)MATHGoogle Scholar
  17. 17.
    Halbwachs, N., et al.: The synchronous data-flow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)CrossRefGoogle Scholar
  18. 18.
    Berry, G., Gonthier, G.: The ESTEREL synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)MATHCrossRefGoogle Scholar
  19. 19.
    Thies, W., Karczmarek, M., Amarasinghe, S.P.: StreamIt: A language for streaming applications. In: Computational Complexity, pp. 179–196 (2002), citeseer.ist.psu.edu/thies01streamit.html
  20. 20.
    Kapasi, U., et al.: The Imagine stream processor. In: ICCD’02, Sept. 2002, pp. 282–288. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  21. 21.
    Tanguay, D., Gelb, D., Baker, H.H.: Nizza: A framework for developing real-time streaming multimedia applications. Technical report (2004)Google Scholar
  22. 22.
    Rehg, J., et al.: Space-Time Memory: a parallel programming abstraction for dynamic vision applications. Technical report (1997)Google Scholar
  23. 23.
    Kahn, G.: The semantics of a simple language for parallel programming. In: IFIP Congress ’74, pp. 471–475. North-Holland, New York (1974)Google Scholar
  24. 24.
    van Dijk, H.W., Sips, H., Deprettere, E.F.: Context-aware process networks. In: ASAP’03, pp. 6–16. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  25. 25.
    Geilen, M., Basten, T.: Reactive process networks. In: EMSOFT’04, Pisa, Italy, pp. 137–146. ACM Press, New York (2004), doi:10.1145/1017753.1017778Google Scholar
  26. 26.
    Ko, D.-I., Bhattacharyya, S.S.: Modeling of block-based DSP systems. J. VLSI Signal Process. Syst. 40, 289–299 (2005)CrossRefGoogle Scholar
  27. 27.
    Lee, E., Messerschmitt, D.: Synchronous Data Flow. IEEE Trans. Comp. 36(1), 24–35 (1987)MATHCrossRefGoogle Scholar
  28. 28.
    Stuijk, S., Basten, T.: Analyzing concurrency in streaming applications. Technical report (2005)Google Scholar
  29. 29.
    Bhattacharya, B., Bhattacharyya, S.S.: Parameterized dataflow modeling for DSP systems. IEEE Trans. on Signal Processing 49(10), 2408–2421 (2001)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Ana Lucia Varbanescu
    • 1
  • Maik Nijhuis
    • 2
  • Arturo González-Escribano
    • 3
  • Henk Sips
    • 1
  • Herbert Bos
    • 2
  • Henri Bal
    • 2
  1. 1.Department of Computer Science, Delft University of TechnologyThe Netherlands
  2. 2.Department of Computer Science, Vrije Universiteit, AmsterdamThe Netherlands
  3. 3.Departamento Informatica, Universidad de ValladolidSpain

Personalised recommendations