- Home
- Documents
*Parameterized Modeling and Scheduling for Dataflow dataflow, cyclo-dynamic dataflow, and bounded...*

Click here to load reader

View

7Download

0

Embed Size (px)

1

Parameterized Modeling and Scheduling for Dataflow Graphs1

Bishnupriya Bhattacharya and Shuvra S. Bhattacharyya Department of Electrical and Computer Engineering, and

Institute for Advanced Computer Studies University of Maryland

College Park MD 20742, USA {bpriya, ssb}@eng.umd.edu

Abstract

Dataflow has proven to be an attractive computational model for programming DSP applications. A restricted version of dataflow, called Synchronous Dataflow (SDF) is particularly well-suited for modeling a large class of signal processing applications, as it offers strong formal properties and compile-time predictability. Efficient techniques have been developed for generating software implementations from an SDF graph that are geared towards various optimization objectives. How- ever, the SDF model does not allow data-dependent flow of control or dynamically varying communication patterns between functional modules. This results in limited expressive power. Consequently, a variety of extensions to SDF have been devel- oped, where the objective is to provide increased expressive power, while maintain- ing a significant part of the compile-time predictability of SDF, e.g., boolean dataflow, cyclo-dynamic dataflow, and bounded dynamic dataflow.

In this report, we propose a parameterized dataflow framework that can be applied as a meta-modeling technique to an arbitrary dataflow model that satisfies certain requirements, to further increase its expressive power. Parameterized mod- eling imposes a hierarchy discipline on an underlying dataflow model, where the behavior of a subsystem is controlled by a set of parameters, which can control, among others, the functional behavior as well as token flow behavior of a dataflow graph. The parameter coordination mechanism is such that every parameterized graph always behaves like a graph in the underlying dataflow model during each of its invocations, but can assume different configurations across invocations. Thus, any dataflow model that possesses a concept of a graph invocation (iteration) can be parameterized in this fashion. For clarity, we focus on synchronous dataflow, and develop the precise semantics of parameterized synchronous dataflow (PSDF).

We propose a formal framework for the PSDF model, and introduce the con- cept of local synchrony, which is a condition that must be satisfied for consistent execution of PSDF specifications. We derive precise relationships between local synchrony and the manner in which subsystem parameters are dynamically config- ured in PSDF. Based on these, we define a precise operational semantics for the

1. This research was sponsored by Northrop Grumman Corporation and the National Science Foundation (CAREER MIP9734275).

Technical Report #UMIACS-TR-99-73, Institute for Advanced Computer Studies, University of Maryland at College Park, December 10, 1999

2

PSDF model. From our experience, it appears that the PSDF model significantly increases the expressive power of pure SDF, while maintaining many of the desir- able properties of SDF, like low-overhead scheduling (geared towards software synthesis in embedded systems). The concept of looped schedules developed for SDF graphs becomes fundamental for implementing PSDF semantics with low run- time overhead. We develop techniques for implementing the operational semantics of PSDF that allows efficient quasi-static scheduling of a class of PSDF specifica- tions.

1. Introduction

In the area of digital signal processing (DSP), dataflow is widely recognized

as a natural model for specifying DSP applications. In dataflow, a program is repre-

sented as a directed graph, called a dataflow graph, in which vertices, called actors,

represent computations and edges represent FIFO channels, (also called buffers).

These channels queue data values, in the form of tokens, which are passed from the

output of one actor to the input of another. When an actor is executed (fired), it con-

sumes a certain number of tokens from its inputs, and produces a certain number of

tokens at its outputs.

Different models have been proposed within the dataflow programming

framework, based on diverse objectives. One common strain that runs through these

models is the trade-off between expressivity and compile-time predictability of

specifications expressed in them. Increased predictability translates to desirable fea-

tures such as more thorough optimization and verification, and lower run-time over-

head for scheduling and memory management, but at the cost of sacrificing some

expressive power. Lee and Messerschmitt have proposed the synchronous dataflow

(SDF) model [26], which is a restricted version of dataflow, where the number of

tokens produced (or consumed) by an actor firing, on each output (or input) is a

fixed number that is known at compile time. With relatively low expressivity but

very high compile-time predictability, SDF leans heavily towards one end of the

spectrum from the expressivity/predictability trade-off perspective. At the other end

of the spectrum we have dynamic dataflow (DDF) which supports arbitrary data-

dependent behavior using non-SDF actors with unknown token production/con-

3

sumption (at compile-time) that can be used to model conditionals, iterations, and

recursion. DDF possesses high expressivity — it is Turing complete, but permits a

minimum of useful compile-time analysis and optimization. An implementation of a

DDF based development environment is available in Ptolemy [12] — a tool that

provides an object-oriented framework for simulation, prototyping and software

synthesis of heterogeneous systems.

Many extensions to the SDF model have been proposed that lie somewhere

in-between DDF and SDF within the spectrum. The objective is to broaden the

range of applications that can be represented vis. a vis. SDF, while maintaining its

compile-time predictability properties as much as possible, and at the same time,

allowing representations that expose more optimization opportunities to a compiler.

Multidimensional dataflow (MD-SDF) [24] and cyclo-static dataflow (CSDF) [15]

lie in the latter category. MD-SDF allows efficient modeling of multidimensional

applications, and exposes parallelism more effectively than pure SDF. It also

addresses the issue of re-initialization of delays on graph edges, which allows cer-

tain applications that cannot be represented in SDF to be modeled in MD-SDF. In

CSDF token production and consumption can vary between actor firings as long as

the variation forms a certain type of periodic pattern. CSDF offers several benefits

over SDF including increased flexibility in compactly and efficiently representing

interaction between actors, decreased buffer memory requirements for some appli-

cations, and increased opportunities for behavioral optimizations like constant prop-

agation and dead code elimination [7]. Yet another advantage offered by CSDF is

that while hierarchically abstracting the functionality of an SDF graph by represen-

tation through a single actor, the SDF model may introduce deadlock in a system

specification, which can often be avoided if the functionally equivalent CSDF actor

is used [7]. Thus MD-SDF and CSDF possess increased expressive power over SDF,

with similar compile-time predictability properties.

Well-behaved stream flow graphs (WBSFG) proposed by Gao et al. [17],

allows the use of two non-SDF dynamic actors (switch and select) for modeling con-

4

ditionals and data-dependent iteration, but in a restricted fashion such that the model

retains the key predictability properties of SDF, while offering increased expressiv-

ity. On the other hand, in the Boolean dataflow model (BDF), developed by Buck

[10], these kinds of restrictions are not present, and hence it has greater expressive

power — indeed it is Turing-complete. Consequently, it does not have guaranteed

compile-time predictability properties. The objective in BDF is to extend SDF tech-

niques to generate quasi-static schedules [25] whenever possible, and fall back on

fully dynamic scheduling and analysis otherwise. In quasi-static scheduling some

actor firing decisions are made at run-time, but only where absolutely necessary.

The cyclo-dynamic dataflow model (CDDF) [34] extends cyclo-static data-

flow in such a manner that all BDF and CSDF graphs can be expressed in the CDDF

model. In addition, it allows the user to convey application-specific knowledge

about the internals of an actor to the compiler which can lead to better analyzability

than the BDF model [34].

Additionally, some models of computation have been proposed that combine

the SDF paradigm with finite state machine (FSM) models. Two examples of such

composite modeling approaches are heterochronous dataflow (HDF) [18], and

bounded dynamic dataflow (BDDF) [27]). By modeling control-flow along with

dataflow, these approaches lead to increased expressivity over SDF alone. In Sec-

tions 3 and 4 we take a more detailed look at synchronous dataflow, and various

extensions of the SDF model.

2. Basic notation

We denote the set of positive integers by the symbol , the set of extended

positive integers b