Skip to main content
Log in

Passive-Active Flowgraphs for Efficient Modeling and Design of Signal Processing Systems

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

In dataflow representations for signal processing systems, applications are represented as directed graphs in which vertices represent computations and edges correspond to buffers that store data as it passes among computations. The edges in the dataflow graph are single-input, single-output components that manage data transmission in a first-in, first-out (FIFO) fashion. In this paper, we formulate the vertices and edges into concepts called “active blocks” and “passive blocks”, respectively in the graph representation. Computation in the dataflow graph is represented as “active blocks”, while the concept of dataflow buffers is represented as “passive blocks”. Like dataflow edges, passive blocks are used to store data during the intervals between its production and consumption by actors. However, passive blocks can have multiple inputs and multiple outputs, and can incorporate operations on and rearrangements of the stored data subject to certain constraints. We define a form of flowgraph representation that is based on replacing dataflow edges with the proposed concept of passive blocks. We present a structured design methodology for utilizing this new form of signal processing flowgraph, and demonstrate its application to improving memory management efficiency, and execution time performance.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17

Similar content being viewed by others

References

  1. Ade, M., Lauwereins, R., & Peperstraete, J. (1997). Data memory minimisation for synchronous data flow graphs emulated on DSP-FPGA targets. In Proceedings of the Design Automation Conference, pp. 64–69.

  2. Benazouz, M., Marchetti, O., Munier-Kordon, A., & Urard, P. (2010). A new approach for minimizing buffer capacities with throughput constraint for embedded system design. In Proceedings of the ACS/IEEE International Conference on Computer Systems and Applications, pp. 1–8.

  3. Bhattacharyya, S.S., Deprettere, E., & Leupers, R. (2019) In Takala, J. (Ed.), Handbook of Signal Processing Systems, 3rd edn. Berlin: Springer.

  4. Bhattacharyya, S.S., & Lee, E.A. (1992). Memory management for synchronous dataflow programs. Tech. Rep. UCB/ERL M92/128, Electronics Research Laboratory University of California at Berkeley.

  5. Bilsen, G., Engels, M., Lauwereins, R., & Peperstraete, J.A. (1996). Cyclo-static dataflow. IEEE Transactions on Signal Processing, 44(2), 397–408.

    Article  Google Scholar 

  6. Boutellier, J., Ersfolk, J., Lilius, J., Mattavelli, M., Roquier, G., & Silven, O. (2015). Actor merging for dataflow process networks. IEEE Transactions on Signal Processing, 63(10), 2496–2508.

    Article  MathSciNet  Google Scholar 

  7. Buck, J.T. (1994). Static scheduling and code generation from dynamic dataflow graphs with integer-valued control streams. In Proceedings of the IEEE Asilomar Conference on Signals, Systems, and Computers, pp. 508–513.

  8. Buck, J.T., & Lee, E.A. (1993). Scheduling dynamic dataflow graphs using the token flow model. In Proceedings of the International Conference on Acoustics, Speech, and Signal Processing.

  9. Cudennec, L., Dubrulle, P., Galea, F., Goubier, T., & Sirdey, R. (2014). Generating code and memory buffers to reorganize data on many-core architectures. Procedia Computer Science, 29, 1123–1133.

    Article  Google Scholar 

  10. de Oliveira Castro, P., Louise, S., & Barthou, D. (2010). A multidimensional array slicing DSL for stream programming. In Proceedings of the International Conference on Complex, Intelligent and Software Intensive Systems, pp. 913–918.

  11. Desnos, K., Pelcat, M., Nezan, J.F., & Aridhi, S. (2016). On memory reuse between inputs and outputs of dataflow actors ACM Transactions on Embedded Computing Systems 15(2).

  12. Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., & Xiong, Y. (2003). Taming heterogeneity — the Ptolemy approach. Proceedings of the IEEE, 91(1), 127–144.

    Article  Google Scholar 

  13. Fischaber, S., Woods, R., & McAllister, J. (2007). Soc memory hierarchy derivation from dataflow graphs. In Proceedings of the IEEE Workshop on Signal Processing Systems.

  14. Ha, S., Kim, S., Lee, C., Yi, Y., Kwon, S., & Joo, Y.P. (2007). PeaCE: A hardware-software codesign environment for multimedia embedded systems. ACM Transactions on Design Automation of Electronic Systems 12. Article No. 24.

  15. Lee, E.A. (1991). Consistency in dataflow graphs IEEE Transactions on Parallel and Distributed Systems 2(2).

  16. Lee, E.A., & Messerschmitt, D.G. (1987). Synchronous dataflow. Proceedings of the IEEE, 75 (9), 1235–1245.

    Article  Google Scholar 

  17. Lee, E.A., & Parks, T.M. (1995). Dataflow process networks. Proceedings of the IEEE, 83(5), 773–799.

    Article  Google Scholar 

  18. Lesparre, Y., Munier-Kordon, A., & Delosme, J.M. (2016). Evaluation of synchronous dataflow graph mappings onto distributed memory architectures. In Proceedings of the Euromicro Conference on Digital System Design, pp. 146–153.

  19. Li, L., Sapio, A., Wu, J., Liu, Y., Lee, K., Wolf, M., & Bhattacharyya, S.S. (2017). Design and implementation of adaptive signal processing systems using Markov decision processes. In Proceedings of the International Conference on Application Specific Systems, Architectures, and Processors (pp. 170–175). Washington: Seattle.

  20. Lin, S., Liu, Y., Lee, K., Li, L., Plishker, W., & Bhattacharyya, S.S. (2017). The DSPCAD framework for modeling and synthesis of signal processing systems. In Ha, S., & Teich, J. (Eds.) handbook of hardware/software codesign, pp. 1–35. Springer.

  21. Liu, Y., Barford, L., & Bhattacharyya, S.S. (2015). Constant-rate clock recovery and jitter measurement on deep memory waveforms using dataflow. In Proceedings of the IEEE International Instrumentation and Measurement Technology Conference, pp. 1590–1595.

  22. Liu, Y., Barford, L., & Bhattacharyya, S.S. (2018). Generalized graph connections for dataflow modeling of DSP applications. In Proceedings of the IEEE Workshop on Signal Processing Systems (pp. 275–280). South Africa: Cape Town.

  23. Murthy, P.K., & Bhattacharyya, S.S. (2004). Buffer merging — a powerful technique for reducing memory requirements of synchronous dataflow specifications. ACM Transactions on Design Automation of Electronic Systems, 9(2), 212–237.

    Article  Google Scholar 

  24. Oh, H., & Ha, S. (2002). Fractional rate dataflow model and efficient code synthesis for multimedia applications. ACM SIGPLAN Notices, 37, 41–51.

    Article  Google Scholar 

  25. Pelcat, M., Piat, J., Wipliez, M., Aridhi, S., & Nezan, J.F. (2009). An open framework for rapid prototyping of signal processing applications. EURASIP Journal on Embedded Systems 2009. Article No. 11.

  26. Reekie, H.J. (1995). Realtime signal processing — dataflow, visual, and functional programming. Ph.D. thesis, University of Technology at Sydney.

  27. Sander, I. (2003). System modeling and design refinement in ForSyDe. Ph.D. thesis, Royal Institute of Technology, Sweden.

  28. Schmogrow, R., & et al. (2012). Error vector magnitude as a performance measure for advanced modulation formats. IEEE Photonics Technology Letters, 24(1), 61–63.

    Article  Google Scholar 

  29. Stuijk, S., Geilen, M., & Basten, T. (2006). Exploring tradeoffs in buffer requirements and throughput constraints for synchronous dataflow graphs. In Proceedings of the Design Automation Conference.

  30. Sung, W., Kim, J., & Ha, S. (1998). Memory efficient software synthesis from dataflow graph. In Proceedings of the International Symposium on System Synthesis, pp. 137–142.

  31. Tripakis, S., Bui, D., Geilen, M., Rodiers, B., & Lee, E.A. (2013). Compositionality in synchronous data flow: Modular code generation from hierarchical SDF graphs ACM Transactions on Embedded Computing Systems 12(3).

Download references

Acknowledgments

This research was supported in part by the U.S. National Science Foundation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yaesop Lee.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lee, Y., Liu, Y., Desnos, K. et al. Passive-Active Flowgraphs for Efficient Modeling and Design of Signal Processing Systems. J Sign Process Syst 92, 1133–1151 (2020). https://doi.org/10.1007/s11265-020-01581-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-020-01581-8

Keywords

Navigation