Scheduling Optimisations for SPIN to Minimise Buffer Requirements in Synchronous Data Flow

Synchronous data flow (SDF) graphs have a simple and elegant semantics (essentially linear algebra) which makes SDF graphs eminently suitable as a vehicle for studying scheduling optimisations. We extend related work on using SPIN to experiment with scheduling optimisations aimed at minimising buffer requirements. We show that for a benchmark of commonly used case studies the performance of our SPIN based scheduler is comparable to that of state of the art research tools. The key to success is using the semantics of SDF to prove when using (even unsound and/or incomplete) optimisations are justified. The main benefit of our approach lies in gaining deep insight in the optimisations at relatively low cost.

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

[2]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[3]  Gerd Behrmann,et al.  Efficient Guiding Towards Cost-Optimality in UPPAAL , 2001, TACAS.

[4]  Angelika Mader,et al.  Verification and Optimization of a PLC Control Schedule , 2000, SPIN.

[5]  Kim G. Larsen,et al.  As Cheap as Possible: Efficient Cost-Optimal Reachability for Priced Timed Automata , 2001, CAV.

[6]  Ansgar Fehnker,et al.  Citius, Vilius, Melius : guiding and cost-optimality in model checking of timed and hybrid systems , 2002 .

[7]  Theo C. Ruys,et al.  Optimal Scheduling Using Branch and Bound with SPIN 4.0 , 2003, SPIN.

[8]  Ansgar Fehnker,et al.  Scheduling a steel plant with timed automata , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[9]  Sander Stuijk,et al.  SDF^3: SDF For Free , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[10]  Sander Stuijk,et al.  Liveness and Boundedness of Synchronous Data Flow Graphs , 2006, 2006 Formal Methods in Computer Aided Design.

[11]  Gerard J. M. Smit,et al.  Efficient computation of buffer capacities for multi-rate real-time systems with back-pressure , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[12]  Edward A. Lee,et al.  Joint Minimization of Code and Data for Synchronous Dataflow Programs , 1997, Formal Methods Syst. Des..

[13]  Sander Stuijk,et al.  Exploring trade-offs in buffer requirements and throughput constraints for synchronous dataflow graphs , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

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

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

[16]  Sander Stuijk,et al.  Minimising buffer requirements of synchronous dataflow graphs with model checking , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[17]  Theo C. Ruys,et al.  Experience with Literate Programming in the Modelling and Validation of Systems , 1998, TACAS.

[18]  Forrest Brewer,et al.  Representing and scheduling looping behavior symbolically , 2000, Proceedings 2000 International Conference on Computer Design.