Digital Signal Processing Reference
In-Depth Information
Discrete changes due to events are alternated with stable periods of streaming.
Conceptually, a discrete change occurs at a well defined point within the stream.
Because of pipelining implementation of the stream processing however, there is
not necessarily a point in time where the change can be applied instantaneously to
the whole network. A video decoder for instance may be processing video frame
by video frame in a pipelined fashion. A discrete change occurs between two
frames such that the new frames are decoded according to new parameter settings.
However, when the first new frame enters into the pipeline, there are still old frames
in the pipeline ahead of it. The StreamIt language [ 52 ] , which employs a fairly
synchronized model of streaming, allows a mechanism of delivering asynchronous
messages (events) to processes in accordance with the “information wavefront”, i.e.,
in a pipelined fashion. In general, an important aspect of dealing with streaming
computation and events is to coordinate their execution to implement a smooth
transition.
There is a trade-off between predictability and synchronization overhead. Pre-
dictability of processing (non-deterministic) events is improved by added control
over the moment when and the way how the event is processed relative to the
streaming activities. Increased predictability requires more synchronization between
processes and hence additional overhead. Such overhead is undesirable, especially
if events occur only sporadically.
8.2.2
Semantic Model
Denotational semantics is often preferred to capture the intended functionality of a
process network or to define the functional semantics of a system or programming
language implementing process networks, without specifying unnecessary imple-
mentation details. The operational semantics on the other hand allows reasoning
about implementation details, such as artificial deadlocks [ 20 ] or required buffer
capacities [ 3 , 8 ] . For RPN, a denotational semantics in terms of input/output
relations is not possible (Sect. 7 ) and one based on sequential execution traces is
possible, but hides the parallelism of the model. The detailed operational semantics
of RPN can be found in [ 21 ] . In the next section, we discuss the main concepts.
8.2.3
Communicating Events
Processes or actors in data-flow graphs communicate via FIFO channels. We want
to add communication of events and we have to decide what communication
mechanism is used for events. It is often the case that what is perceived by a
lower level process as an event, is considered to be part of streaming by higher
level processes. For instance, a video decoder is decoding a stream of video frames
and header information for every frame is an integral part of the data stream. For
the lower level frame decoder processes, the frame header information is seen as
an event that initializes the component to deal with the specific parameters of the
Search WWH ::




Custom Search