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)

Abstract

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.

Keywords

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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