scispace - formally typeset
Open AccessDOI

Systematic Design Space Exploration of Dynamic Dataflow Programs for Multi-core Platforms

TLDR
The objective of this Thesis is to provide a complete framework to analyze, evaluate and refactor DDF applications expressed using the RVC-CAL language, which relies on a systematic design space exploration (DSE) examining different design alternatives to optimize the chosen objective function while satisfying the constraints.
Abstract
The limitations of clock frequency and power dissipation of deep sub-micron CMOS technology have led to the development of massively parallel computing platforms. They consist of dozens or hundreds of processing units and offer a high degree of parallelism. Taking advantage of that parallelism and transforming it into high program performances requires the usage of appropriate parallel programming models and paradigms. Currently, a common practice is to develop parallel applications using methods evolving directly from sequential programming models. However, they lack the abstractions to properly express the concurrency of the processes. An alternative approach is to implement dataflow applications, where the algorithms are described in terms of streams and operators thus their parallelism is directly exposed. Since algorithms are described in an abstract way, they can be easily ported to different types of platforms. Several dataflow models of computation (MoCs) have been formalized so far. They differ in terms of their expressiveness (ability to handle dynamic behavior) and complexity of analysis. So far, most of the research efforts have focused on the simpler cases of static dataflow MoCs, where many analyses are possible at compile-time and several optimization problems are greatly simplified. At the same time, for the most expressive and the most difficult to analyze dynamic dataflow (DDF), there is still a dearth of tools supporting a systematic and automated analysis minimizing the programming efforts of the designer. The objective of this Thesis is to provide a complete framework to analyze, evaluate and refactor DDF applications expressed using the RVC-CAL language. The methodology relies on a systematic design space exploration (DSE) examining different design alternatives in order to optimize the chosen objective function while satisfying the constraints. The research contributions start from a rigorous DSE problem formulation. This provides a basis for the definition of a complete and novel analysis methodology enabling systematic performance improvements of DDF applications. Different stages of the methodology include exploration heuristics, performance estimation and identification of refactoring directions. All of the stages are implemented as appropriate software tools. The contributions are substantiated by several experiments performed with complex dynamic applications on different types of physical platforms.

read more

Citations
More filters

Exploring Trade-Offs inBuffer Requirements and Throughput Constraints forSynchronous Dataflow Graphs*

Sander Stuijk
TL;DR: This work presents exact techniques to chart the Pareto space of throughput and storage tradeoffs, which can be used to determine the minimal storage space needed to execute a graph under a given throughput constraint.
Proceedings ArticleDOI

An Heterogeneous Compiler of Dataflow Programs for Zynq Platforms

TL;DR: A compiler infrastructure that takes as input a single behavioral representation, expressed in high-level dataflow RVC-CAL language, is proposed for programming any of the components of heterogeneous Zynq MPSoCs platforms without the need of modifying any line of code on the design.
Journal ArticleDOI

Execution Trace Graph of Dataflow Process Networks

TL;DR: A formalism that provides complete representations of dataflow process network (DPN) program executions, by means of directed acyclic graphs, also known as execution trace graphs (ETG), is introduced.

Partitioning and Mapping Dynamic Dataflow Programs

TL;DR: In this article, a fast incremental approach for mapping dynamic dataflow programs to multiprocessor systems is presented, using traces and architecture descriptions as input for the mapping process that devises several heuristics for reaching a short makespan for the given trace.
References
More filters
Book

Scheduling: Theory, Algorithms, and Systems

TL;DR: Scheduling will serve as an essential reference for professionals working on scheduling problems in manufacturing and computing environments and Graduate students in operations management, operations research, industrial engineering and computer science will find the book to be an accessible and invaluable resource.
Journal ArticleDOI

A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs

TL;DR: This work presents a new coarsening heuristic (called heavy-edge heuristic) for which the size of the partition of the coarse graph is within a small factor of theSize of the final partition obtained after multilevel refinement, and presents a much faster variation of the Kernighan--Lin (KL) algorithm for refining during uncoarsening.

Combinatorial optimization. Polyhedra and efficiency.

TL;DR: This book shows the combinatorial optimization polyhedra and efficiency as your friend in spending the time in reading a book.
Journal ArticleDOI

Metaheuristics in combinatorial optimization: Overview and conceptual comparison

TL;DR: A survey of the nowadays most important metaheuristics from a conceptual point of view and introduces a framework, that is called the I&D frame, in order to put different intensification and diversification components into relation with each other.
Proceedings Article

The Semantics of a Simple Language for Parallel Programming.

Gilles Kahn
TL;DR: A simple language for parallel programming is described and its mathematical properties are studied to make a case for more formal languages for systems programming and the design of operating systems.
Related Papers (5)