Composite Data Types in Dynamic Dataflow Languages as Copyless Memory Sharing Mechanism

  • Aurelien BlochEmail author
  • Endri Bezati
  • Marco Mattavelli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11540)


This paper presents new optimization approaches aiming at reducing the impact of memory accesses on the performance of dataflow programs. The approach is based on introducing a high level management of composite data types in dynamic dataflow programming language for the memory processing of data tokens. It does not require essential changes to the model of computation (MOC) or to the dataflow program itself. The objective of the approach is to remove the unnecessary constraints of memory isolations without introducing limitations to the scalability and composability properties of the dataflow paradigm. Thus the identified optimizations allow to keep the same design and programming philosophy of dataflow, whereas aiming at improving the performance of the specific configuration implementation. The different optimizations can be integrated into the current RVC-CAL design flows and synthesis tools and can be applied to different sub-networks partitions of the dataflow program. The paper introduces the context, the definition of the optimization problem and describes how it can be applied to dataflow designs. Some examples of the optimizations are provided.


Dynamic dataflow programs RVC-CAL Shared memory Composite data types 


  1. 1.
    Orcc. Accessed Apr 2019
  2. 2.
    Casale-Brunet, S.: Analysis and optimization of dynamic dataflow programs. Technical report EPFL (2015)Google Scholar
  3. 3.
    Casale-Brunet, S., Bezati, E., Mattavelli, M.: Programming models and methods for heterogeneous parallel embedded systems. In: 2016 IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC), pp. 289–296. IEEE (2016)Google Scholar
  4. 4.
    Castrillon, J., Leupers, R.: Programming Heterogeneous MPSoCs. Tool Flows to Close the Software Productivity Gap. Springer, Switzerland (2013). Scholar
  5. 5.
    Desnos, K., Pelcat, M., Nezan, J.F., Aridhi, S.: Distributed memory allocation technique for synchronous dataflow graphs. In: 2016 IEEE International Workshop on Signal Processing Systems (SiPS), pp. 45–50. IEEE (2016)Google Scholar
  6. 6.
    Eker, J., Janneck, J.: CAL language report: Specification of the CAL Actor Language. Technical Memo UCB/ERL M03/48, Electronics Research Laboratory, University of California at Berkeley, December 2003Google Scholar
  7. 7.
    Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J.L. (ed.) Information Processing, pp. 471–475. North Holland, Amsterdam, Stockholm, Sweden, August 1974Google Scholar
  8. 8.
    Lee, E., Parks, T.: Dataflow process networks. In: Proceedings of the IEEE, pp. 773–799 (1995)CrossRefGoogle Scholar
  9. 9.
    Modas, A., Casale-Brunet, S., Stewart, R., Bezati, E., Ahmad, J., Mattavelli, M.: Shared-variable synchronization approaches for dynamic data flow programs. In: 2018 IEEE International Workshop on Signal Processing Systems (SiPS), pp. 263–268. IEEE (2018)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.EPFL SCI STI MMÉcole Polytechnique Fédérale de LausanneLausanneSwitzerland
  2. 2.EPFL VLSCÉcole Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations