Proceedings Article10.1145/2907950.2907960
Generalized cache tiling for dataflow programs
Łukasz Domagała,Duco van Amstel,Fabrice Rastello +2 more
- 13 Jun 2016
- Vol. 51, Iss: 5, pp 52-61
5
TL;DR: A modelisation of the communications and data usage within a dataflow program is proposed to improve data reuse among the dataflow agents and is able to showcase significant reductions in the number of cache-misses for a majority of test-cases when compared to existing optimizations.
read more
Abstract: The dataflow programming paradigm has facilitated the expression of a great number of algorithmic applications on embedded platforms in a wide variety of applicative domains. Whether it is a Domain Specific Language (DSL) or a more generalistic one, the dataflow paradigm allows to intuitively state the successive steps of an algorithm and link them through data communications. The optimization of cache-memory in this context has been a subject of interest since the early '90s as the reuse and communication of data between the agents of a dataflow program is a key factor in achieving a high-performance implementation within the reduced limits of embedded architectures. In order to improve data reuse among the dataflow agents we propose a modelisation of the communications and data usage within a dataflow program. Aside from providing an estimate of the amount of cache-misses that a given scheduling generates, this model allows us to specify the associated optimization problem in a manner that is identical to loop-nest tiling. Improving on the existing state-of-the-art methods we extend our tiling technique to include non-uniform dependencies on one of the dimensions of the iteration space. When applying the proposed technique to dataflow programs expressed within the StreamIt framework we are able to showcase significant reductions in the number of cache-misses for a majority of test-cases when compared to existing optimizations.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
On Cache Limits for Dataflow Applications and Related Efficient Memory Management Strategies
Alemeh Ghasemi,Rodrigo Cataldo,Jean-Philippe Diguet,Kevin Martin +3 more
- 18 Jan 2021
TL;DR: In this paper, the authors present two efficient memory management strategies for dataflow applications through a study on the impact of sharing, size, and the number of levels of caches on them.
•Dissertation
Optimisation de la localité des données sur architectures manycœurs
Duco van Amstel
- 18 Jul 2016
TL;DR: Les premiers travaux sur une nouvelle technique d'optimisation, le pavage generalise qui a l'avantage d'utiliser un modele abstrait pour the reutilisation des donnees et d'etre en meme temps utilisable dans un grand nombre of contextes.
•Dissertation
Data Locality on Manycore Architectures
Duco van Amstel
- 18 Jul 2016
TL;DR: A new approach is presented that combines both a model for memory-usage and a code transformation that regrouping the different accesses to the same data element in a small window of time to limit the impact of data transfers.
2
•Dissertation
A programming language based on recurrence equations and polyhedral compilation for stream processing
Jakob Leben
- 01 Jan 2019
TL;DR: This dissertation presents essential extensions that enable the application of state-of-the-art optimizations in this framework on infinite arrays representing streams that are essential for high performance on general-purpose multi-core processors with deep memory hierarchies.
The Impact of Cache and Dynamic Memory Management in Static Dataflow Applications
TL;DR: In this paper , the authors evaluate the performance of dataflow applications in a broad experiment campaign adopting different multi-core configurations related to the number of cores and cache parameters (size, sharing, controllers) and show that bigger is not always better, and the foreseen future of more cores and bigger caches do not guarantee software-free better performance for dataflow programs.
References
The synchronous data flow programming language LUSTRE
Nicolas Halbwachs,Paul Caspi,Pascal Raymond,Daniel Pilaud +3 more
- 01 Sep 1991
TL;DR: The authors describe LUSTRE, a data flow synchronous language designed for programming reactive systems-such as automatic control and monitoring systems-as well as for describing hardware.
Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing
TL;DR: This self-contained paper develops the theory necessary to statically schedule SDF programs on single or multiple processors, and a class of static (compile time) scheduling algorithms is proven valid, and specific algorithms are given for scheduling SDF systems onto single ormultiple processors.
The CQL continuous query language: semantic foundations and query execution
Arvind Arasu,Shivnath Babu,Jennifer Widom +2 more
- 01 Jun 2006
TL;DR: This paper presents the structure of CQL's query execution plans as well as details of the most important components: operators, interoperator queues, synopses, and sharing of components among multiple operators and queries.
Software pipelining: an effective scheduling technique for VLIW machines
Monica S. Lam
- 01 Jun 1988
TL;DR: This paper shows that software pipelining is an effective and viable scheduling technique for VLIW processors, and proposes a hierarchical reduction scheme whereby entire control constructs are reduced to an object similar to an operation in a basic block.