skip to main content
research-article

Sequential specification of time-aware stream processing applications

Published:21 March 2013Publication History
Skip Abstract Section

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.

References

  1. Berry, G. 2003. The effectiveness of synchronous languages for the development of safety-critical systems. White Paper, Esterel Technologies.Google ScholarGoogle Scholar
  2. Berry, G. and Gonthier, G. 1988. The Esterel Synchronous Programming Language: Design, Semantics, Implementation. Institut National de Recherche en Informatique et en Automatiquec.Google ScholarGoogle Scholar
  3. Berry, G. and Sentovich, E. 2001. Multiclock Esterel. In Proceedings of the Conference on Correct Hardware Design and Verification Methods, 110--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarCross RefCross Ref
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarCross RefCross Ref
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. Taft, S. and Duff, R. 1997. Ada 95 Reference Manual: Language and Standard Libraries: International Standard ISO/IEC 8652: 1995 (E). Springer Verlag.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Sequential specification of time-aware stream processing applications

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Embedded Computing Systems
      ACM Transactions on Embedded Computing Systems  Volume 12, Issue 1s
      Special section on ESTIMedia'12, LCTES'11, rigorous embedded systems design, and multiprocessor system-on-chip for cyber-physical systems
      March 2013
      701 pages
      ISSN:1539-9087
      EISSN:1558-3465
      DOI:10.1145/2435227
      Issue’s Table of Contents

      Copyright © 2013 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 March 2013
      • Accepted: 1 September 2012
      • Revised: 1 August 2012
      • Received: 1 June 2012
      Published in tecs Volume 12, Issue 1s

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!