skip to main content
10.1145/1111037.1111054acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems

Authors Info & Claims
Published:11 January 2006Publication History

ABSTRACT

The design of high-performance stream-processing systems is a fast growing domain, driven by markets such like high-end TV, gaming, 3D animation and medical imaging. It is also a surprisingly demanding task, with respect to the algorithmic and conceptual simplicity of streaming applications. It needs the close cooperation between numerical analysts, parallel programming experts, real-time control experts and computer architects, and incurs a very high level of quality insurance and optimization.In search for improved productivity, we propose a programming model and language dedicated to high-performance stream processing. This language builds on the synchronous programming model and on domain knowledge -- the periodic evolution of streams -- to allow correct-by-construction properties to be proven by the compiler. These properties include resource requirements and delays between input and output streams. Automating this task avoids tedious and error-prone engineering, due to the combinatorics of the composition of filters with multiple data rates and formats. Correctness of the implementation is also difficult to assess with traditional (asynchronous, simulation-based) approaches. This language is thus provided with a relaxed notion of synchronous composition, called n-synchrony: two processes are n-synchronous if they can communicate in the ordinary (0-)synchronous model with a FIFO buffer of size n.Technically, we extend a core synchronous data-flow language with a notion of periodic clocks, and design a relaxed clock calculus (a type system for clocks) to allow non strictly synchronous processes to be composed or correlated. This relaxation is associated with two sub-typing rules in the clock calculus. Delay, buffer insertion and control code for these buffers are automatically inferred from the clock types through a systematic transformation into a standard synchronous program. We formally define the semantics of the language and prove the soundness and completeness of its clock calculus and synchronization transformation. Finally, the language is compared with existing formalisms.

References

  1. A. Aiken and E. L. Wimmers. Type inclusion constraints and type inference. In Functional Programming Languages and Computer Architecture, pages 31--41, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Benveniste, P. Caspi, S. Edwards, N. Halbwachs, P. Le Guernic, and R. de Simone. The Synchronous Languages Twelve Years Later. Proceedings of the IEEE, 91(1):64--83, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  3. A. Benveniste, P. Le Guernic, and C. Jacquemot. Synchronous programming with events and relations: the signal language and its semantics. Sci. Comput. Program., 16(2):103--149, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Berry. The Foundations of Esterel. MIT Press, 2000.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J.-Y. Brunel, W. M. Kruijtzer, H. J. H. N. Kenter, F. Pétrot, L. Pasquier, E. A. de Kock, and W. J. M. Smits. COSY communication IP's. In 37th Design Automation Conference (DAC'00), pages 406--409, Los Angeles, California, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Buck, S. Ha, E. A. Lee, and D. G. Messerschmitt. Ptolemy: A framework for simulating and prototyping heterogenous systems. Int. Journal in Computer Simulation, 4(2):155--182, 1994.Google ScholarGoogle Scholar
  7. P. Caspi. Embedded control: From asynchrony to synchrony and back. In EMSOFT'01, volume 2211 of LNCS, Lake Tahoe, October 2001. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Caspi and M. Pouzet. Synchronous Kahn networks. In ICFP '96: Proceedings of the first ACM SIGPLAN international conference on Functional programming, pages 226--238. ACM Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Z.S. Chamski, M. Duranton, A. Cohen, C. Eisenbeis, P. Feautrier, and D. Genius. Application-domain-driven system design for pervasive video processing. Ambient intelligence: impact on embedded system design, pages 251--270, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. M. Chapiro. Globally-Asynchronous Locally-Synchronous Systems. PhD thesis, Stanford University, October 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Cohen, M. Duranton, C. Eisenbeis, C. Pagetti, F. Plateau, and M. Pouzet. Synchronization of periodic clocks. In ACM Conf. on Embedded Software (EMSOFT'05), Jersey City, New York, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J.-L. Colaço, A. Girault, G. Hamon, and M. Pouzet. Towards a Higher-order Synchronous Data-flow Language. In EMSOFT'04, Pisa, Italy, september 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J.-L. Colaço and M. Pouzet. Clocks as first class abstract types. In Rajeev Alur and Insup Lee, editors, EMSOFT'03, volume 2855 of Lecture Notes in Computer Science, pages 134--155. Springer, 2003.Google ScholarGoogle Scholar
  14. E. A. de Kock, G. Essink, W. J. M. Smits, P. van der Wolf, J.-Y. Brunel, W. M. Kruijtzer, P. Lieverse, and K. A. Vissers. Yapi: Application modeling for signal processing systems. In 37th Design Automation Conference, Los Angeles, CA, june 2000. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. G. Messerschmitt E. A. Lee. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. Computers, 36(1):24--25, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. K. Goossens, G. Prakash, J. Röver, and A. P. Niranjan. Interconnect and memory organization in SOCs for advanced set-top boxes and TV -- evolution, analysis, and trends. In Jari Nurmi, Hannu Tenhunen, Jouni Isoaho, and Axel Jantsch, editors, Interconnect-Centric Design for Advanced SoC and NoC, chapter 15, pages 399--423. Kluwer, April 2004.Google ScholarGoogle Scholar
  17. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language lustre. Proceedings of the IEEE, 79(9):1305--1320, September 1991.Google ScholarGoogle ScholarCross RefCross Ref
  18. G. Kahn. The semantics of a simple language for parallel programming. In J. L. Rosenfeld, editor, Information processing, pages 471--475, Stockholm, Sweden, Aug 1974. North Holland, Amsterdam.Google ScholarGoogle Scholar
  19. P. Le Guernic, J.-P. Talpin, and J.-C. Le Lann. Polychrony for system design. Journal for Circuits, Systems and Computers, Special Issue on Application Specific Hardware Design, April 2003.Google ScholarGoogle Scholar
  20. C. E. Leiserson and J. B. Saxe. Retiming synchronous circuitry. Algorithmica, 6(1), 1991.Google ScholarGoogle Scholar
  21. A.J.M. Moonen, M. Bekooij, and J. van Meerbergen. Timing analysis model for network based multiprocessor systems. In proceedings of ProRISC, 15th annual Workshop of Circuits, System and Signal Processing, pages pages 91--99, Veldhoven, The Netherlands, November 2004. ISBN: 90-73461-43-X.Google ScholarGoogle Scholar
  22. B. C. Pierce. Types and Programming Languages. MIT Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. F. Pottier. Simplifying subtyping constraints. In ACM Intl. Conf. on Functional Programming (ICFP'96), volume 31(6), pages 122--133, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. W. Thies, M. Karczmarek, and S. Amarasinghe. StreamIt: A language for streaming applications. In International Conference on Compiler Construction, Grenoble, France, April 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. E. Vuillemin. On circuits and numbers. IEEE Trans. Comput., 43(8):868--879, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems

      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

      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!