Dynamic Dataflow Modeling in Ptolemy II - Ptolemy Project ...
Dynamic Dataflow Modeling in Ptolemy II - Ptolemy Project ...
Dynamic Dataflow Modeling in Ptolemy II - Ptolemy Project ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Abstract<br />
<strong>Dataflow</strong> process networks are a special case of Kahn process networks (PN). In dataflow<br />
process networks, each process consists of repeated fir<strong>in</strong>gs of a dataflow actor, which<br />
def<strong>in</strong>es a quantum of computation. Us<strong>in</strong>g this quantum avoids the complexities and<br />
context switch<strong>in</strong>g overhead of process suspension and resumption <strong>in</strong>curred <strong>in</strong> most<br />
implementations of Kahn process networks. Instead of context switch<strong>in</strong>g, dataflow<br />
process networks are executed by schedul<strong>in</strong>g the actor fir<strong>in</strong>gs. This schedul<strong>in</strong>g can be<br />
done at compile time for synchronous dataflow (SDF) which is a particularly restricted<br />
case with the extremely useful property that deadlock and boundedness are decidable.<br />
However, for the most general dataflow, the schedul<strong>in</strong>g has to be done at run time and<br />
questions about deadlock and boundedness cannot be statically answered. This report<br />
describes and implements a dynamic dataflow (DDF) schedul<strong>in</strong>g algorithm under<br />
<strong>Ptolemy</strong> <strong>II</strong> framework based on orig<strong>in</strong>al work <strong>in</strong> <strong>Ptolemy</strong> Classic. The design of the<br />
algorithm is guided by several criteria that have implications <strong>in</strong> practical implementation.<br />
We compared the performance of SDF, DDF and PN. We also discussed compos<strong>in</strong>g DDF<br />
with other models of computation (MoC). Due to Tur<strong>in</strong>g-completeness of DDF, it is not<br />
easy to def<strong>in</strong>e a mean<strong>in</strong>gful iteration for a DDF submodel when it is embedded <strong>in</strong>side<br />
another MoC. We provide a suite of mechanisms that will facilitate this process. We give<br />
several application examples to show how conditionals, data-dependent iterations,<br />
recursion and other dynamic constructs can be modeled <strong>in</strong> the DDF doma<strong>in</strong>.<br />
3