2 research outputs found

    A fine-grained parallel dataflow-inspired architecture for streaming applications

    Get PDF
    Data driven streaming applications are quite common in modern multimedia and wireless applications, like for example video and audio processing. The main components of these applications are Digital Signal Processing (DSP) algorithms. These algorithms are not extremely complex in terms of their structure and the operations that make up the algorithms are fairly simple (usually binary mathematical operations like addition and multiplication). What makes it challenging to implement and execute these algorithms efficiently is their large degree of fine-grained parallelism and the required throughput. DSP algorithms can usually be described as dataflow graphs with nodes corresponding to operations and edges between the nodes expressing data dependencies. A node fires, i.e. executes, as soon as all required input data has arrived at its input edge(s). \ud \ud To execute DSP algorithms efficiently while maintaining flexibility, coarse-grained reconfigurable arrays (CGRAs) can be used. CGRAs are composed of a set of small, reconfigurable cores, interconnected in e.g. a two dimensional array. Each core by itself is not very powerful, yet the complete array of cores forms an efficient architecture with a high throughput due to its ability to efficiently execute operations in parallel. \ud \ud In this thesis, we present a CGRA targeted at data driven streaming DSP applications that contain a large degree of fine grained parallelism, such as matrix manipulations or filter algorithms. Along with the architecture, also a programming language is presented that can directly describe DSP applications as dataflow graphs which are then automatically mapped and executed on the architecture. In contrast to previously published work on CGRAs, the guiding principle and inspiration for the presented CGRA and its corresponding programming paradigm is the dataflow principle. \ud \ud The result of this work is a completely integrated framework targeted at streaming DSP algorithms, consisting of a CGRA, a programming language and a compiler. The complete system is based on dataflow principles. We conclude that by using an architecture that is based on dataflow principles and a corresponding programming paradigm that can directly express dataflow graphs, DSP algorithms can be implemented in a very intuitive and straightforward manner

    High level structural description of streaming applications

    Get PDF
    In the streaming domain, applications are often described as dataflow graphs. Each node in the graph is defined by its operation, its evaluation is activated according to the firing rule. As soon as all required input tokens, defined by the consumption rate on each input channel, are available and there is sufficient space available at all output channels, defined by the production rule, the node fires, i.e. all input tokens are consumed and all output tokens are produced. Our research is motivated by the desire for a straight- forward implementation of an application described as a dataflow graph on a multicore architecture. In contrast to other approaches like for example StreamIt or S-NET , that provide a completely new language, we base our design on an already existing language that inherently has a notion of structure: the functional programming language Haskell. We use Haskell both for embedding the grammar for our proposed language as well as to describe streaming applications with the proposed language
    corecore