Inter-task communication via overlapping read and write windows for deadlock-free execution of cyclic task graphs

Multimedia applications process streams of values and can often be represented as task graphs. For performance reasons, these task graphs are executed on multiprocessor systems. Inter-task communication is performed via buffers, where the order in which values are written into a buffer can differ from the order in which they are read. Some existing approaches perform inter-task communication with first-in-first-out buffers and reordering tasks and require applications with affine index expressions. Other approaches communicate containers, in which values can be accessed in any order, such that a reordering task is not required. However, these containers delay the release of locations, which can cause deadlock in cyclic task graphs. In this paper, we introduce circular buffers with overlapping windows for deadlock-free execution of cyclic task graphs that may contain non-affine index expressions. Inside the windows, values can be written or read in an arbitrary order, such that a reordering task is not required. Deadlock is avoided by releasing a written location directly from the write window. The approach is demonstrated for the cyclic task graph of an orthogonal frequency-division multiplexing (OFDM) receiver application, containing non-affine index expressions.

[1]  Donald Yeung,et al.  The MIT Alewife machine: architecture and performance , 1995, ISCA '98.

[2]  Florin Balasa,et al.  Mapping Multi-Dimensional Signals into Hierarchical Memory Organizations , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[3]  Jean A. Peperstraete,et al.  Cycle-static dataflow , 1996, IEEE Trans. Signal Process..

[4]  Allan Porterfield,et al.  The Tera computer system , 1990, ICS '90.

[5]  Anoop Gupta,et al.  Memory consistency and event ordering in scalable shared-memory multiprocessors , 1990, ISCA '90.

[6]  Anoop Gupta,et al.  Parallel computer architecture - a hardware / software approach , 1998 .

[7]  Gerard J. M. Smit,et al.  Efficient Computation of Buffer Capacities for Cyclo-Static Real-Time Systems with Back-Pressure , 2006, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[8]  Gerard J. M. Smit,et al.  Communication between nested loop programs via circular buffers in an embedded multiprocessor system , 2008, SCOPES '08.

[9]  Todor Stefanov,et al.  pn: A Tool for Improved Derivation of Process Networks , 2007, EURASIP J. Embed. Syst..

[10]  Rudy Lauwereins,et al.  Cyclo-static data flow , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[11]  Alexandru Turjan,et al.  Realizations of the Extended Linearization Model , 2002 .

[12]  Lothar Thiele,et al.  Windowed FIFOs for FPGA-based Multiprocessor Systems , 2007, 2007 IEEE International Conf. on Application-specific Systems, Architectures and Processors (ASAP).

[13]  Erwin A. de Kock,et al.  Design and programming of embedded multiprocessors: an interface-centric approach , 2004, International Conference on Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS 2004..

[14]  Hugo De Man,et al.  Memory Size Reduction Through Storage Order Optimization for Embedded Parallel Multimedia Applications , 1997, Parallel Comput..

[15]  Kai Huang,et al.  A Software Component for Network Based Data Acquisition and Control Applications , 2007 .

[16]  Chulwoo Kim,et al.  Exploiting Thread-Level Parallelism in Lockstep Execution by Partially Duplicating a Single Pipeline , 2008 .

[17]  Krisztián Flautner,et al.  SoC-C: efficient programming abstractions for heterogeneous multicore systems on chip , 2008, CASES '08.

[18]  Marco Bekooij,et al.  Streaming consistency: a model for efficient MPSoC design , 2007, 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007).

[19]  Alexandru Turjan,et al.  An Integer Linear Programming Approach to Classify the Communication in Process Networks , 2004, SCOPES.

[20]  Framing structure , channel coding and modulation for digital terrestrial television , 2022 .