Top Up Prev Next Bottom Contents Index Search

4.4 Dynamic dataflow (DDF)

The predictable control flow of SDF allows for efficient scheduling, but limits the range of applications. In particular, data-dependent flow of control is only allowed within the confines of a star. To support broader applications, the DDF domain uses dynamic (run-time) scheduling. For long runs, involving many iterations, this is more expensive than the static scheduling that is possible with SDF. But in exchange for this additional cost, we get a model of computation that is as versatile as that of conventional programming languages. It supports conditionals, data-dependent iteration, and true recursion.

Although the DDF domain is, in principle, a fully general programming environment, it is nonetheless better suited to some applications than others. We have found that signal processing applications with a limited amount of run-time control are a good match. Examples include systems with multiple modes of operation, such as modems (which have start-up sequences and often implement multiple standards), signal coding algorithms (which often offer a range of compression schemes), and asynchronous signal processing applications, such as timing recovery and arbitrary sample-rate conversion. The demos provided with the domain show how to realize conditionals, iteration, and recursion.

The SDF domain is a subdomain of DDF, which means that SDF stars can be used in DDF systems. For greater efficiency on long runs, the two domains can also be mixed using the Ptolemy hierarchy. A galaxy within a DDF system can be SDF, meaning that it will use an SDF scheduler. Conversely, a galaxy within an SDF system can be DDF.



Top Up Prev Next Bottom Contents Index Search

Copyright © 1990-1997, University of California. All rights reserved.