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.
This work is supported by the Dutch government’s STW/PROGRESS project DES.6397.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Stephens, R.: A survey of stream processing. Acta Informatica 34(7), 491–541 (1997), citeseer.ist.psu.edu/stephens95survey.html
Thies, W., et al.: Language and compiler design for streaming applications. In: IPDPS’04 - Workshop 10, vol. 11 (2004)
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/
Knobe, K., Offner, C.D.: Compiling to TStreams, a new model of parallel computation. Technical report (2005)
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)
González-Escribano, A.: Synchronization Architecture in Parallel Programming Models. PhD thesis, Dpto. Informatica, University of Valladolid (2003)
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.263625
Skillicorn, D.B., Talia, D.: Models and languages for parallel computation. ACM Comput. Surv. 30(2), 123–169 (1998), doi:10.1145/280277.280278
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)
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)
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)
Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. of the IEEE, 773–799 (1995)
van Gemund, A.: Performance Modeling of Parallel Systems. PhD thesis, Delft University of Technology (1996)
van Gemund, A.J.C.: Symbolic performance modeling of parallel systems. IEEE TPDS 14(2), 154–165 (2003)
Stravers, P., Hoogerbrugge, J.: Single chip multiprocessing for consumer electronics. In: Bhattacharyya, S.S. (ed.) Domain-Specific Processors, Marcel Dekker, New York (2003)
Ashcroft, E.A., Wadge, W.W.: Lucid, the Dataflow Programming Language. Academic Press, London (1985)
Halbwachs, N., et al.: The synchronous data-flow programming language LUSTRE. Proc. IEEE 79(9), 1305–1320 (1991)
Berry, G., Gonthier, G.: The ESTEREL synchronous programming language: Design, semantics, implementation. Science of Computer Programming 19(2), 87–152 (1992)
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
Kapasi, U., et al.: The Imagine stream processor. In: ICCD’02, Sept. 2002, pp. 282–288. IEEE Computer Society Press, Los Alamitos (2002)
Tanguay, D., Gelb, D., Baker, H.H.: Nizza: A framework for developing real-time streaming multimedia applications. Technical report (2004)
Rehg, J., et al.: Space-Time Memory: a parallel programming abstraction for dynamic vision applications. Technical report (1997)
Kahn, G.: The semantics of a simple language for parallel programming. In: IFIP Congress ’74, pp. 471–475. North-Holland, New York (1974)
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)
Geilen, M., Basten, T.: Reactive process networks. In: EMSOFT’04, Pisa, Italy, pp. 137–146. ACM Press, New York (2004), doi:10.1145/1017753.1017778
Ko, D.-I., Bhattacharyya, S.S.: Modeling of block-based DSP systems. J. VLSI Signal Process. Syst. 40, 289–299 (2005)
Lee, E., Messerschmitt, D.: Synchronous Data Flow. IEEE Trans. Comp. 36(1), 24–35 (1987)
Stuijk, S., Basten, T.: Analyzing concurrency in streaming applications. Technical report (2005)
Bhattacharya, B., Bhattacharyya, S.S.: Parameterized dataflow modeling for DSP systems. IEEE Trans. on Signal Processing 49(10), 2408–2421 (2001)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Varbanescu, A.L., Nijhuis, M., González-Escribano, A., Sips, H., Bos, H., Bal, H. (2007). SP@CE - An SP-Based Programming Model for Consumer Electronics Streaming Applications. In: Almási, G., Caşcaval, C., Wu, P. (eds) Languages and Compilers for Parallel Computing. LCPC 2006. Lecture Notes in Computer Science, vol 4382. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72521-3_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-72521-3_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72520-6
Online ISBN: 978-3-540-72521-3
eBook Packages: Computer ScienceComputer Science (R0)