Symbolic Analyses of Dataflow Graphs
Résumé
The synchronous dataflow model of computation is widely used to design embedded stream-processing applications under strictquality-of-service requirements (e.g., buffering size, throughput, input-output latency). The required analyses can either be performedat compile time (for design space exploration) or at run-time (for resource management and reconfigurable systems). However, theseanalyses have an exponential time complexity, which may cause a huge run-time overhead or make design space exploration unacceptably slow.In this paper, we argue that symbolic analyses are more appropriate since they express the system performance as a function ofparameters (i.e., input and output rates, execution times). Such functions can be quickly evaluated for each different configuration orchecked w.r.t. different quality-of-service requirements. We provide symbolic analyses for computing the maximal throughput of acyclicsynchronous dataflow graphs, the minimum required buffers for which as soon as possible scheduling achieves this throughput, and finally the corresponding input-output latency of the graph. The paper first investigates these problems for a single parametric edge. The results are extended to general acyclic graphs using linear approximation techniques. We assess the proposed analyses experimentally on both synthetic and real benchmarks.