Abstract
Applications in the signal processing domain are often modeled by dataflow graphs. Due to heterogeneous complexity requirements, these graphs contain both dynamic and static dataflow actors. In previous work, we presented a generalized clustering approach for these heterogeneous dataflow graphs in the presence of unbounded buffers. This clustering approach allows the application of static scheduling methodologies for static parts of an application during embedded software generation for multiprocessor systems. It systematically exploits the predictability and efficiency of the static dataflow model to obtain latency and throughput improvements. In this article, we present a generalization of this clustering technique to dataflow graphs with bounded buffers, therefore enabling synthesis for embedded systems without dynamic memory allocation. Furthermore, a case study is given to demonstrate the performance benefits of the approach.
- Abdi, S., Peng, J., Yu, H., Shin, D., Gerstlauer, A., Doemer, R., and Gajski, D. 2003. System-on-Chip Environment (SCE Version 2.2.0 beta): Tutorial. University of California, Irvine, CA. Tech. rep. CECS-TR-03-41.Google Scholar
- Baird, M. 2005. IEEE Standard 1666-2005 SystemC Language Reference Manual. IEEE, Los Alamitos, CA.Google Scholar
- Baleani, M., Ferrari, A., Mangeruca, L., Sangiovanni-Vincentelli, A., Freund, U., Schlenker, E., and Wolff, H.-J. 2005. Correct-by-construction transformations across design environments for model-based embedded software development. In Proceedings of the Conference on Design, Automation and Test in Europe. IEEE, Los Alamitos, CA. Google Scholar
Digital Library
- Bhattacharya, B. and Bhattacharyya, S. 2000. Parameterized dataflow modeling of DSP systems. In Proceedings of the International Conference on Acoustics, Speech, and Signal Processing. IEEE, Los Alamitos, CA, 1948--1951. Google Scholar
Digital Library
- Bhattacharyya, S. S., Buck, J. T., Ha, S., and Lee, E. A. 1995. Generating compact code from dataflow specifications of multi-rate signal processing algorithms. IEEE Trans. Circuits Syst. 42, 3, 138--150.Google Scholar
Cross Ref
- Bhattacharyya, S. S. and Lee, E. A. 1993. Scheduling synchronous dataflow graphs for efficient looping. J. VLSI Signal Process. Syst. 6, 3, 271--288. Google Scholar
Digital Library
- Bhattacharyya, S. S., Leupers, R., and Marwedel, P. 2000. Software synthesis and code generation for signal processing systems. IEEE Trans. Circuits Syst. 47, 9.Google Scholar
- Bhattacharyya, S. S., Murthy, P., and Lee, E. 1997. APGAN and RPMC: Complementary heuristics for translating DSP block diagrams into efficient software implementations. J. Des. Autom. Embedded Syst.Google Scholar
- Bhattacharyya, S. S. and Murthy, P. K. 1995. Optimal parenthesization of lexical orderings for dsp block diagrams. In Proceedings of the International Workshop on Signal Processing. IEEE, Los Alamitos, CA, 177--186.Google Scholar
- Bilsen, G., Engels, M., Lauwereins, R., and Peperstraete, J. 1996. Cyclo-static dataflow. IEEE Trans. Signal Process. 44, 2, 397--408. Google Scholar
Digital Library
- Buck, J. and Vaidyanathan, R. 2000. Heterogeneous modeling and simulation of embedded systems in el greco. In Proceedings of the 8th International Workshop on Hardware/Software Co-Design. ACM, New York, 142--146. Google Scholar
Digital Library
- Buck, J. T. 1993. Scheduling dynamic dataflow graphs with bounded memory using the token flow model. Ph.D. thesis, Department of Electrical Engineering and Computer Sciences, University of California at Berkeley. Google Scholar
Digital Library
- Choi, C. and Ha, S. 1997. Software synthesis for dynamic data flow graph. In Proceedings of the International Workshop on Rapid System Prototyping. IEEE, Los Alamitos, CA. Google Scholar
Digital Library
- de Kock, E. A., Essink, G., Smits, W. J. M., van der Wolf, P., Brunel, J.-Y., Kruijtzer, W. M., Lieverse, P., and Vissers, K. A. 2000. YAPI: Application modeling for signal processing systems. In Proceedings of the Design Automation Conference. IEEE, Los Alamitos, CA, 402--405. Google Scholar
Digital Library
- Edwards, S. A. and Tardieu, O. 2005. SHIM: A deterministic model for heterogeneous embedded systems. In Proceedings of International Conference on Embedded Software. ACM, New York, 264--272. Google Scholar
Digital Library
- Falk, J., Keinert, J., Haubelt, C., Teich, J., and Bhattacharyya, S. 2008. A generalized static dataflow clustering algorithm for MPSoC scheduling of multimedia applications. In Proceedings of the 8th International Conference on Embedded Software. ACM, New York. Google Scholar
Digital Library
- FZI Research Center for Information Technology. 2007. KaSCPar—Karlsruhe SystemC Parser Suite. http://www.fzi.de/sim/kascpar.html.Google Scholar
- Geilen, M. and Basten, T. 2004. Reactive process networks. In Proceedings of the 4th International Conference on Embedded Software.ACM, New York, 137--146. Google Scholar
Digital Library
- Grötker, T., Liao, S., Martin, G., and Swan, S. 2002. System Design with SystemC. Kluwer Academic Publishers, The Netherlands. Google Scholar
Digital Library
- Hsu, C. and Bhattacharyya, S. S. 2007. Cycle-breaking techniques for scheduling synchronous dataflow graphs. Tech. rep. UMIACS-TR-2007-12, Institute for Advanced Computer Studies, University of Maryland at College Park.Google Scholar
- Hsu, C., Ko, M., and Bhattacharyya, S. S. 2005. Software synthesis from the dataflow interchange format. In Proceedings of the International Workshop on Software and Compilers for Embedded Systems. Springer-Verlag, Berlin, 37--49. Google Scholar
Digital Library
- Jerraya, A. A., Bouchhim, A., and Pétrot, F. 2006. Programming models and HW-SW interfaces abstraction for multi-processor SoC. In Proceedings of the Design Automation Conference. IEEE, Los Alamitos, CA, 280--285. Google Scholar
Digital Library
- Kahn, G. 1974. The semantics of simple language for parallel programming. In Proceedings of the Congress. 471--475.Google Scholar
- Kangas, T., Kukkala, P., Orsila, H., Salminen, E., Hännikäinen, M., Hämäläinen, T. D., Riihimäki, J., and Kuusilinna, K. 2006. UML-based multiprocessor SoC design framework. ACM Trans. Embedded Comput. Syst. 5, 2, 281--320. Google Scholar
Digital Library
- Keinert, J., Streubühr, M., Schlichter, T., Falk, J., Gladigau, J., Haubelt, C., Teich, J., and Meredith, M. 2009. SYSTEMCODESIGNER—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. Trans. Des. Autom. Electr. Syst. 14, 1, 1--23. Google Scholar
Digital Library
- Kianzad, V. and Bhattacharyya, S. S. 2006. Efficient techniques for clustering and scheduling onto embedded multiprocessors. IEEE Trans. Parallel Distrib. Syst. 17, 7, 667--680. Google Scholar
Digital Library
- Lee, E. A. 2004. Overview of the Ptolemy project. Tech. rep. ucb/erl m03/25. Department of Electrical Engineering and Computer Sciences, University of California, Berkeley, CA.Google Scholar
- Lee, E. A. and Messerschmitt, D. G. 1987. Synchronous data flow. Proc. IEEE 75, 9, 1235--1245.Google Scholar
Cross Ref
- Lee, E. A. and Sangiovanni-Vincentelli, A. 1998. A framework for comparing models of computation. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 17, 12, 1217--1229. Google Scholar
Digital Library
- Patel, H. D. and Shukla, S. K. 2005. Towards a heterogeneous simulation kernel for system- level models: A SystemC kernel for synchronous dataflow models. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 24, 1261--1271. Google Scholar
Digital Library
- Pino, J. L., Bhattacharyya, S. S., and Lee, E. A. 1995. A hierarchical multiprocessor scheduling system for dsp applications. In Proceedings of the Conference on Signals, Systems, and Computers. IEEE, Los Alamitos, CA, 122--126. Google Scholar
Digital Library
- Sgroi, M., Lavagno, L., Watanabe, Y., and Sangiovanni-Vincentelli, A. 1999. Quasi-static scheduling of embedded software using equal conflict nets. In Proceedings of the 20th International Conference Application and Theory of Petri Nets. Springer, Berlin. Google Scholar
Digital Library
- Strehl, K., Thiele, L., Gries, M., Ziegenbein, D., Ernst, R., and Teich, J. 2001. FunState—an internal design representation for codesign. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 9, 4, 524--544. Google Scholar
Digital Library
- Stuijk, S., Geilen, M., and Basten, T. 2006a. Exploring trade-offs in buffer requirements and throughput constraints for synchronous dataflow graphs. In Proceedings of the 43rd Annual Conference on Design Automation. ACM, New York, 899--904. Google Scholar
Digital Library
- Stuijk, S., Geilen, M., and Basten, T. 2006b. SDF3: SDF for free. In Proceedings of the 6th International Conference on Application of Concurrency to System Design. IEEE, Los Alamitos, CA, 276--278. Google Scholar
Digital Library
- Thompson, M., Nikolov, H., Stefanov, T., Pimentel, A., Erbas, C., Polstra, S., and Deprettere, E. 2007. A framework for rapid system-level exploration, synthesis, and programming of multimedia MP-SoCs. In Proceedings of the 5th International Conference on Hardware/Software Codesign and System Synthesis. IEEE, Los Alamitos, CA, 9--14. Google Scholar
Digital Library
- Wiggers, M. H., Bekooij, M. J. G., and Smit, G. J. M. 2007. Efficient computation of buffer capacities for cyclo-static dataflow graphs. In Proceedings of the 44th Annual Conference on Design Automation. ACM, New York, 658--663. Google Scholar
Digital Library
- Zebelein, C., Falk, J., Haubelt, C., and Teich, J. 2008. Classification of general dataflow actors into known models of computation. In Proceedings of the 6th International Conference on Formal Methods and Models for Co-Design. ACM, New York, 119--128.Google Scholar
- Ziegenbein, D., Richter, K., Ernst, R., Thiele, L., and Teich, J. 2002. SPI—a system model for heterogeneously specified embedded systems. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. Google Scholar
Digital Library
Index Terms
Analysis of SystemC actor networks for efficient synthesis
Recommendations
A rule-based quasi-static scheduling approach for static islands in dynamic dataflow graphs
In this article, an efficient rule-based clustering algorithm for static dataflow subgraphs in a dynamic dataflow graph is presented. The clustered static dataflow actors are quasi-statically scheduled, in such a way that the global performance in terms ...
Automatic Hierarchical Discovery of Quasi-Static Schedules of RVC-CAL Dataflow Programs
RVC-CAL is an actor-based dataflow language that enables concurrent, modular and portable description of signal processing algorithms. RVC-CAL programs can be compiled to implementation languages such as C/C++ and VHDL for producing software or hardware ...
Actor-based parallel dataflow analysis
CC'11/ETAPS'11: Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of softwareDefining algorithms in a way which allows parallel execution is becoming increasingly important as multicore computers become ubiquitous. We present IFDS-A, a parallel algorithm for solving context-sensitive interprocedural finite distributive subset (...






Comments