Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs

Research output: Chapter in Book/Report/Conference proceedingChapterAcademicpeer-review

Abstract

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 via first-in-first-out buffers in combination with reordering tasks and require applications with affne index-expressions. In our previous work, we used circular buffers with a non-overlapping read and write window, such that a reordering task is not required. However, these windows can cause deadlock for cyclic task graphs. In this paper, we introduce circular buffers with multiple overlapping windows that do not delay the release of locations and therefore they do not introduce deadlock for cyclic task graphs. We show that buffers with multiple overlapping read and write windows are attractive, because they avoid that a buffer has to be selected from which a value has to be read or into which a value has to be written. This significantly simplifies the extraction of a task graph from a sequential application. These buffers are also attractive, because a buffer capacity equal to the array size is sufficient for deadlock-free execution, instead of performing global analysis to compute sufficient buffer capacities. Our case-study presents two applications that require these buffers.
Original languageUndefined
Title of host publicationTransactions on High-Performance Embedded Architectures and Compilers III
EditorsP. Stenstrom
Place of PublicationBerlin
PublisherSpringer
Pages-
Number of pages18
ISBN (Print)978-3-642-19447-4
Publication statusPublished - 12 Mar 2011

Publication series

NameLecture Notes in Computer Science
Number6590

Keywords

  • METIS-277552

Cite this

Bijlsma, T., Bekooij, M. J. G., & Smit, G. J. M. (2011). Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs. In P. Stenstrom (Ed.), Transactions on High-Performance Embedded Architectures and Compilers III (pp. -). (Lecture Notes in Computer Science; No. 6590). Berlin: Springer.
Bijlsma, T. ; Bekooij, Marco Jan Gerrit ; Smit, Gerardus Johannes Maria. / Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs. Transactions on High-Performance Embedded Architectures and Compilers III. editor / P. Stenstrom. Berlin : Springer, 2011. pp. - (Lecture Notes in Computer Science; 6590).
@inbook{36cfe34f44fa444dadf39c2d03303302,
title = "Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs",
abstract = "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 via first-in-first-out buffers in combination with reordering tasks and require applications with affne index-expressions. In our previous work, we used circular buffers with a non-overlapping read and write window, such that a reordering task is not required. However, these windows can cause deadlock for cyclic task graphs. In this paper, we introduce circular buffers with multiple overlapping windows that do not delay the release of locations and therefore they do not introduce deadlock for cyclic task graphs. We show that buffers with multiple overlapping read and write windows are attractive, because they avoid that a buffer has to be selected from which a value has to be read or into which a value has to be written. This significantly simplifies the extraction of a task graph from a sequential application. These buffers are also attractive, because a buffer capacity equal to the array size is sufficient for deadlock-free execution, instead of performing global analysis to compute sufficient buffer capacities. Our case-study presents two applications that require these buffers.",
keywords = "METIS-277552",
author = "T. Bijlsma and Bekooij, {Marco Jan Gerrit} and Smit, {Gerardus Johannes Maria}",
note = "eemcs-eprint-19636",
year = "2011",
month = "3",
day = "12",
language = "Undefined",
isbn = "978-3-642-19447-4",
series = "Lecture Notes in Computer Science",
publisher = "Springer",
number = "6590",
pages = "--",
editor = "P. Stenstrom",
booktitle = "Transactions on High-Performance Embedded Architectures and Compilers III",

}

Bijlsma, T, Bekooij, MJG & Smit, GJM 2011, Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs. in P Stenstrom (ed.), Transactions on High-Performance Embedded Architectures and Compilers III. Lecture Notes in Computer Science, no. 6590, Springer, Berlin, pp. -.

Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs. / Bijlsma, T.; Bekooij, Marco Jan Gerrit; Smit, Gerardus Johannes Maria.

Transactions on High-Performance Embedded Architectures and Compilers III. ed. / P. Stenstrom. Berlin : Springer, 2011. p. - (Lecture Notes in Computer Science; No. 6590).

Research output: Chapter in Book/Report/Conference proceedingChapterAcademicpeer-review

TY - CHAP

T1 - Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs

AU - Bijlsma, T.

AU - Bekooij, Marco Jan Gerrit

AU - Smit, Gerardus Johannes Maria

N1 - eemcs-eprint-19636

PY - 2011/3/12

Y1 - 2011/3/12

N2 - 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 via first-in-first-out buffers in combination with reordering tasks and require applications with affne index-expressions. In our previous work, we used circular buffers with a non-overlapping read and write window, such that a reordering task is not required. However, these windows can cause deadlock for cyclic task graphs. In this paper, we introduce circular buffers with multiple overlapping windows that do not delay the release of locations and therefore they do not introduce deadlock for cyclic task graphs. We show that buffers with multiple overlapping read and write windows are attractive, because they avoid that a buffer has to be selected from which a value has to be read or into which a value has to be written. This significantly simplifies the extraction of a task graph from a sequential application. These buffers are also attractive, because a buffer capacity equal to the array size is sufficient for deadlock-free execution, instead of performing global analysis to compute sufficient buffer capacities. Our case-study presents two applications that require these buffers.

AB - 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 via first-in-first-out buffers in combination with reordering tasks and require applications with affne index-expressions. In our previous work, we used circular buffers with a non-overlapping read and write window, such that a reordering task is not required. However, these windows can cause deadlock for cyclic task graphs. In this paper, we introduce circular buffers with multiple overlapping windows that do not delay the release of locations and therefore they do not introduce deadlock for cyclic task graphs. We show that buffers with multiple overlapping read and write windows are attractive, because they avoid that a buffer has to be selected from which a value has to be read or into which a value has to be written. This significantly simplifies the extraction of a task graph from a sequential application. These buffers are also attractive, because a buffer capacity equal to the array size is sufficient for deadlock-free execution, instead of performing global analysis to compute sufficient buffer capacities. Our case-study presents two applications that require these buffers.

KW - METIS-277552

M3 - Chapter

SN - 978-3-642-19447-4

T3 - Lecture Notes in Computer Science

SP - -

BT - Transactions on High-Performance Embedded Architectures and Compilers III

A2 - Stenstrom, P.

PB - Springer

CY - Berlin

ER -

Bijlsma T, Bekooij MJG, Smit GJM. Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs. In Stenstrom P, editor, Transactions on High-Performance Embedded Architectures and Compilers III. Berlin: Springer. 2011. p. -. (Lecture Notes in Computer Science; 6590).