ΣC: A Programming Model and Language for Embedded Manycores

  • Thierry Goubier
  • Renaud Sirdey
  • Stéphane Louise
  • Vincent David
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7016)

Abstract

We present ΣC, a programming model and language for high performance embedded manycores. The programming model is based on process networks with non determinism extensions and process behavior specifications. The language itself extends C, with parallelism, composition and process abstractions. It is intended to support architecture independent, high-level parallel programming on embedded manycores, and allows for both low execution overhead and strong execution guarantees. ΣC is being developed as part of an industry-grade tool chain for a high performance embedded manycore architecture.

Keywords

programming model programming language embedded manycores embedded high performance computing 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Jantsch, A., Sander, I.: Models of computation and languages for embedded system design. IEE Proc.-Comput. Digit. Tech. 152(2), 114–129 (2005)CrossRefGoogle Scholar
  2. 2.
    Kahn, G.: The Semantics of Simple Language for Parallel Programming. In: IFIP Congress, pp. 471–475 (1974)Google Scholar
  3. 3.
    Lee, E., Messerschmitt, D.: Synchronous Data Flow. Proceedings of the IEEE 75(9), 1235–1245 (1987)CrossRefGoogle Scholar
  4. 4.
    Bilsen, G., Engels, M., Lauwereins, R., Peperstraete, J.: Cycle-Static Dataflow. IEEE Trans. on Signal Processing 44(2), 397–408 (1996)CrossRefGoogle Scholar
  5. 5.
    Girault, A., Lee, B., Lee, E.A.: Hierarchical Finite State Machines with Multiple Concurrency Models. IEEE Trans. on Computer-aided Design of IC & S 18(6), 742–760 (1999)CrossRefGoogle Scholar
  6. 6.
    Gao, G.R., Govindarajan, R., Panangaden, P.: Well-behaved dataflow programs for DSP computation. In: IEEE ICASSP 1992, pp. 561–564 (March 1992)Google Scholar
  7. 7.
    Reutenauer, C.: Aspects Mathématiques des Réseaux de Petri, Dunod (1997)Google Scholar
  8. 8.
    Thies, W., Karczmarek, M., Amarasinghe, S.: StreamIt: A Language for Streaming Applications. In: Proceedings of CC 2002, Grenoble, France, pp. 179–196 (2002)Google Scholar
  9. 9.
    Buck, I.: Brook Specification v0.2. (2003), http://merrimac.stanford.edu/brook
  10. 10.
    Watt, D.: Programming XC on XMOS Devices. XMOS (2009)Google Scholar
  11. 11.
    Khronos OpenCL Working Group: The OpenCL Specification v1.1 (2011)Google Scholar
  12. 12.
    Lau, K., Wang, Z.: Software Component Models. IEEE Trans. on Software Engineering 33(10), 709–724 (2007)CrossRefGoogle Scholar
  13. 13.
    Sirdey, R., Aubry, P.: A Linear Programming Approach to General Dataflow Process Network Verification and Dimensionning. Electr. Proceedings in Theorical Computer Science (to appear)Google Scholar
  14. 14.
    Sirdey, R., David, V.: Système d’ordonnancement de l’exécution de taches cadencé par un temps logique vectoriel. Patent pending, filling no 1003963 (2010)Google Scholar
  15. 15.
    De Oliveira Castro, P., Louise, S., Barthou, D.: A Multidimensional Array Slicing DSL for Stream Programming. In: Proceedings of CISIS 2010, pp. 913–918 (2010)Google Scholar
  16. 16.
    Irigoin, F., Jouvelot, P., Triolet, R.: Semantical Interprocedural Parallelization: An Overview of the PIPS Project. In: Proceedings of ICS 1991, pp. 244–251 (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Thierry Goubier
    • 1
  • Renaud Sirdey
    • 1
  • Stéphane Louise
    • 1
  • Vincent David
    • 1
  1. 1.Embedded Real-Time Systems LabCEA, LISTGif-sur-Yvette CedexFrance

Personalised recommendations