Minimising buffer requirements of synchronous dataflow graphs with model checking

Signal processing and multimedia applications are often implemented on resource constrained embedded systems. It is therefore important to find implementations that use as little resources as possible. These applications are frequently specified as synchronous data flow graphs. Communication between actors of these graphs requires storage capacity. In this paper, we present an exact method to determine the minimum storage capacity required to execute the graph using model-checking techniques. This can be done for different measures of storage capacity. The problem is known to be NP-complete and because of this, existing buffer minimisation techniques are heuristics and hence not exact. Modern model-checking tools are quite efficient and they have been successfully applied to scheduling-related problems. We study the feasibility of this approach with examples.

[1]  S.S. Bhattacharyya,et al.  Shared memory implementations of synchronous dataflow specifications , 2000, Proceedings Design, Automation and Test in Europe Conference and Exhibition 2000 (Cat. No. PR00537).

[2]  Tulika Mitra,et al.  Using formal techniques to debug the AMBA system-on-chip bus protocol , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[3]  Steve Goddard,et al.  Managing memory requirements in the synthesis of real-time systems from processing graphs , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).

[4]  Joseph Sifakis,et al.  A Methodology for the Construction of Scheduled Systems , 2000, FTRTFT.

[5]  Rudy Lauwereins,et al.  Data memory minimisation for synchronous data flow graphs emulated on DSP-FPGA targets , 1997, DAC.

[6]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[7]  Sandeep K. Shukla,et al.  A model checking approach to evaluating system level dynamic power management policies for embedded systems , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

[8]  Soonhoi Ha,et al.  Memory efficient software synthesis from dataflow graph , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).

[9]  Edward A. Lee,et al.  Software Synthesis from Dataflow Graphs , 1996 .

[10]  Wang Yi,et al.  TIMES: A Tool for Schedulability Analysis and Code Generation of Real-Time Systems , 2003, FORMATS.

[11]  Guang R. Gao,et al.  Minimizing Buffer Requirements under Rate-Optimal Schedule in Regular Dataflow Networks , 2002, J. VLSI Signal Process..

[12]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[13]  Twan Basten,et al.  Task-level timing models for guaranteed performance in multiprocessor networks-on-chip , 2003, CASES '03.

[14]  Soonhoi Ha,et al.  Efficient code synthesis from extended dataflow graphs for multimedia applications , 2002, DAC '02.

[15]  Prakash Panangaden,et al.  Minimal Memory Schedules for Dataflow Networks , 1993, CONCUR.

[16]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[17]  Edward A. Lee,et al.  Synthesis of Embedded Software from Synchronous Dataflow Specifications , 1999, J. VLSI Signal Process..

[18]  Praveen K. Murthy,et al.  Shared memory implementations of synchronous dataflow specifications , 2000, DATE '00.