Abstract
The analysis of the trace graphs generated by dataflow program executions has been shown to be an effective tool for exploring and optimizing the design space of application programs on manycore/multicore platforms. In this work a new approach aiming at finding bounded buffer size configurations for implementations generated by dataflow programs is presented. The introduced method is based on an original transformation procedure which converts the execution trace graph into an event driven linear system made up by a Petri Net. A control theoretic approach based on Model Predictive Control methodologies is then applied to the obtained Petri Net system in order to effectively explore the dataflow program design space and find nearly optimal buffer dimensioning solutions leading to a deadlock free program execution. Two real challenging design case examples, namely a JPEG and a MPEG HEVC decoder, are introduced to show the effectiveness of the introduced approach.
Similar content being viewed by others
References
Open RVC-CAL (2015). Applications, Orc-Apps. http://github.com/orcc/orc-apps, Last checked: June.
TURNUS (2015). http://github.com/turnus, Last checked, June.
23001-4 (2011). I.: Information technology - MPEG systems technologies - Part 4: Codec configuration representation.
Bhattacharyya, S., Murthy, P., & Lee, E. (1999). Synthesis of embedded software from synchronous dataflow specifications. Journal of VLSI Signal Processing Systems for Signal Image, and Video Technology, 21(2), 151–166.
Casale-Brunet, S. (2015). Analysis and optimization of dynamic dataflow programs. Ph.D. thesis, STI, Lausanne. doi:10.5075/epfl-thesis-6663.
Casale-Brunet, S., Alberti, C., Mattavelli, M., & Janneck, J. (2013). Design space exploration of high-level stream programs on parallel architectures.
Casale-Brunet, S., Alberti, C., Mattavelli, M., & Janneck, J. (2013). Turnus: a unified dataflow design space exploration framework for heterogeneous parallel systems. In Conference on Design and Archtictures for Signal and Image Processing (DASIP 2013). Italy: Cagliari.
Casale-Brunet, S., Elguindy, A., Bezati, E., Thavot, R., Roquier, G., Mattavelli, M., & Janneck, J. (2013). Methods to explore design space for mpeg rmc codec specifications. Image Commun, 28(10), 1278–1294. doi:10.1016/j.image.2013.08.012.
Dennis, J. (1974). First version of a data flow procedure language. In Symposium on Programming (pp. 362–376).
Eker, J., & Janneck, J. (2003). CAL Language Report: Specification of the CAL Actor Language. University of California-Berkeley.
Ersfolk, J. (2014). Scheduling dynamic dataflow graphs with model checking. TUCS Dissertations: PhD Thesis.
Ersfolk, J., Roquier, G., Lilius, J., & Mattavelli, M. (2012). Scheduling of dynamic dataflow programs based on state space analysis. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE (pp. 1661–1664).
Garcia, C., Prett, D., & Morari, M. (1989). Model predictive control: Theory and practicea survey. Automatica, 25(3), 335–348. doi:10.1016/0005-1098(89)90002-2.
Geilen, M., Basten, T., & Stuijk, S. (2005). Minimising buffer requirements of synchronous dataflow graphs with model checking. In Proceedings - Design Automation Conference (pp. 819–824).
Jang, E., Mattavelli, M., Preda, M., Raulet, M., & Sun, H. (2013). Reconfigurable media coding: An overview. Signal Processing: Image Communication, 28(10), 1215–1223. doi:10.1016/j.image.2013.08.008.
Kahn, G. (1974). The semantics of simple language for parallel programming, IFIP Congress.
Lee, E., & Messerschmitt, D. (1987). Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers, C-36(1), 24–35. doi:10.1109/TC.1987.5009446.
Lee, E., & Parks, T. (1995). Dataflow process networks. In Proceedings of the IEEE, (Vol. 83 pp. 773–801), doi:10.1109/5.381846.
Liu, W., Gu, Z., Xu, J., Wang, Y., & Yuan, M. (2009). An efficient technique for analysis of minimal buffer requirements of synchronous dataflow graphs with model checking. In Proceedings of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis, pp. 61–70. New York, USA.
Mattavelli, M. (2012). MPEG reconfigurable video representation. In Chiariglione, L. (Ed.) The MPEG Representation of Digital Media, pp. 231–247. Springer New York. doi:10.1007/978-1-4419-6184-6_12.
Mattavelli, M., Janneck, J.W., & Raulet, M. (2010). MPEG reconfigurable video coding. In Bhattacharyya, S., Deprettere, R., Leupers, E.and, & Takala, J. (Eds.) Handbook of Signal Processing Systems, pp. 43–67. Springer US. doi:10.1007/978-1-4419-6345-1_3.
Murata, T. (1989). Petri nets: Properties, analysis and applications. In Proceedings of the IEEE, (Vol. 77 pp. 541—580), doi:10.1109/5.24143.
Parks, T. (1995). Bounded Scheduling of Process Networks. In PhD Thesis-University of California-Berkeley.
Qin, S., & Badgwell, T. (2003). A survey of industrial model predictive control technology. Control Engineering Practice, 11(7), 733–764. doi:10.1016/S0967-0661(02)00186-7.
Author information
Authors and Affiliations
Corresponding author
Additional information
This work is supported by the Fonds National Suisse pour la Recherche Scientifique, under grant 200021.129960 and grant 200021.138214, and by the strategic research area ELLIIT.
Rights and permissions
About this article
Cite this article
Canale, M., Casale-Brunet, S., Bezati, E. et al. Dataflow Programs Analysis and Optimization Using Model Predictive Control Techniques. J Sign Process Syst 84, 371–381 (2016). https://doi.org/10.1007/s11265-015-1083-4
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-015-1083-4