4.6 Article

Verifying parallel dataflow transformations with model checking and its application to FPGAs

Journal

JOURNAL OF SYSTEMS ARCHITECTURE
Volume 101, Issue -, Pages -

Publisher

ELSEVIER
DOI: 10.1016/j.sysarc.2019.101657

Keywords

Dataflow; FPGAs; Model checking; Program transformation; Parallelism

Funding

  1. Engineering and Physical Research Council [EP/K009931/1, EP/N014758/1, EP/N028201/1]
  2. Scottish Funding Council
  3. EPSRC [EP/N014758/1, EP/N028201/1, EP/K009931/1] Funding Source: UKRI
  4. Engineering and Physical Sciences Research Council [EP/K009931/1] Funding Source: researchfish

Ask authors/readers for more resources

Dataflow languages are widely used for programming real-time embedded systems. They offer high level abstraction above hardware, and are amenable to program analysis and optimisation. This paper addresses the challenge of verifying parallel program transformations in the context of dynamic dataflow models, where the scheduling behaviour and the amount of data each actor computes may depend on values only known at runtime. We present a Linear Temporal Logic (LTL) model checking approach to verify a dataflow program transformation, using three LTL properties to identify cyclostatic actors in dynamic dataflow programs. The workflow abstracts dataflow actor code to Fiacre specifications to search for counterexamples of the LTL properties using the Tina model checker. We also present a new refactoring tool for the Orcc dataflow programming environment, which applies the parallelising transformation to cyclostatic actors. Parallel refactoring using verified transformations speedily improves FPGA performance, e.g.15.4 x speedup with 16 actors.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.6
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available