Abstract
Automatic parallelization of Nested Loop Programs (NLPs) is an attractive method to create embedded real-time stream processing applications for multi-core systems. However, the description and parallelization of applications with a time dependent functional behavior has not been considered in NLPs. In such a description, semantic information about time dependent behavior must be made available for the compiler, such that an optimized time independent implementation can be generated automatically.
This article introduces language constructs with temporal semantics to NLPs. Using these language constructs, time dependent applications can be specified and a corresponding data-driven implementation can be generated for use on a multi-core system. Despite that these time-aware language constructs can be data-dependent, the application remains functionally deterministic. Pipelining is exploited to increase the throughput of an application. The media access control (MAC) protocol of an IEEE 802.11p WLAN transceiver is used to illustrate the relevance and applicability of the introduced concepts.
- Berry, G. 2003. The effectiveness of synchronous languages for the development of safety-critical systems. White Paper, Esterel Technologies.Google Scholar
- Berry, G. and Gonthier, G. 1988. The Esterel Synchronous Programming Language: Design, Semantics, Implementation. Institut National de Recherche en Informatique et en Automatiquec.Google Scholar
- Berry, G. and Sentovich, E. 2001. Multiclock Esterel. In Proceedings of the Conference on Correct Hardware Design and Verification Methods, 110--125. Google Scholar
Digital Library
- Bijlsma, T., Bekooij, M., Jansen, P., and Smit, G. 2008. Communication between nested loop programs via circular buffers in an embedded multiprocessor system. In Proceedings of the 11th International Workshop on Software and Compilers for Embedded Systems. ACM, 33--42. Google Scholar
Cross Ref
- Bui, D., Lee, E., Liu, I., Patel, H., and Reineke, J. 2011. Temporal isolation on multiprocessing architectures. In Proceedings of the Design Automation Conference (DAC). IEEE, 274--279. Google Scholar
Digital Library
- Derler, P., Feng, T., Lee, E., Matic, S., Patel, H., Zhao, Y., and Zou, J. 2008. PTIDES: A programming model for distributed real-time embedded systems. EECS Tech rep. EECS-2008-72, University of California, Berkeley.Google Scholar
Cross Ref
- Gamatié, A. and Gonnord, L. 2011. Static analysis of synchronous programs in signal for efficient design of multi-clocked embedded systems. In Proceedings of the SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems. ACM, 71--80. Google Scholar
Digital Library
- Geilen, M., Tripakis, S., and Wiggers, M. 2011. The earlier the better: A theory of timed actor interfaces. In Proceedings of the International Conference on Hybrid Systems: Computation and Control. Google Scholar
Digital Library
- Geuns, S., Bekooij, M., Bijlsma, T., and Corporaal, H. 2011a. Parallelization of while loops in nested loop programs for shared-memory multiprocessor systems. In Proceedings of the Conference on Design, Automation and Test in Europe. Google Scholar
Cross Ref
- Geuns, S., Hausmans, J., and Bekooij, M. 2011b. Mapping of modal applications given throughput and latency constraints. In Proceedings of the Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation. Google Scholar
Cross Ref
- Girault, A. 2005. A survey of automatic distribution method for synchronous programs. In Proceedings of the International Workshop on Synchronous Languages, Applications and Programs. Vol. 5.Google Scholar
- Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous data flow programming language LUSTRE. In Proc. IEEE 79, 9, 1305--1320. Google Scholar
- Nadezhkin, D., Nikolov, H., and Stefanov, T. 2010. Translating affine nested-loop programs with dynamic loop bounds into polyhedral process networks. In Proceedings of the IEEE Workshop on Embedded Systems for Real-Time Multimedia. IEEE, 21--30. Google Scholar
Cross Ref
- Nikolov, H., Stefanov, T., and Deprettere, E. 2008. Systematic and automated multiprocessor system design, programming, and implementation. IEEE Trans. Comput-Aid Des. Integra. Circuits Syst. 27, 3, 542--555. Google Scholar
Digital Library
- Stefanov, T., Zissulescu, C., Turjan, A., Kienhuis, B., and Deprettere, E. 2004. System design using Kahn process networks: the Compaan/Laura approach. In Proceedings of the Design, Automation and Test in Europe Conferenc. 340--345. Google Scholar
Digital Library
- Taft, S. and Duff, R. 1997. Ada 95 Reference Manual: Language and Standard Libraries: International Standard ISO/IEC 8652: 1995 (E). Springer Verlag.Google Scholar
- Wiggers, M., Bekooij, M., and Smit, G. 2007. Efficient computation of buffer capacities for cyclo-static data flow graphs. In Proceedings of the Design Automation Conference. ACM, 658--663. Google Scholar
Digital Library
- Zhao, Y., Liu, J., and Lee, E. 2007. A programming model for time-synchronized distributed real-time systems. In Proceedings of the Real Time and Embedded Technology and Applications Symposium. IEEE, 259--268. Google Scholar
Digital Library
- Zou, J., Auerbach, J., Bacon, D., and Lee, E. 2009. PTIDES on flexible task graph: real-time embedded system building from theory to practice. In ACM SIGPLAN Notices, Vol. 44, ACM, 31--40. Google Scholar
Digital Library
Index Terms
Sequential specification of time-aware stream processing applications
Recommendations
Automatic dataflow model extraction from modal real-time stream processing applications
LCTES '13Many real-time stream processing applications are initially described as a sequential application containing while-loops, which execute for an unknown number of iterations. These modal applications have to be executed in parallel on an MPSoC system in ...
Automatic dataflow model extraction from modal real-time stream processing applications
LCTES '13: Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsMany real-time stream processing applications are initially described as a sequential application containing while-loops, which execute for an unknown number of iterations. These modal applications have to be executed in parallel on an MPSoC system in ...
Automatic dataflow model extraction from modal real-time stream processing applications
LCTES '13: Proceedings of the 14th ACM SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsMany real-time stream processing applications are initially described as a sequential application containing while-loops, which execute for an unknown number of iterations. These modal applications have to be executed in parallel on an MPSoC system in ...






Comments