Profiling dataflow systems on multiple abstraction levels

13Citations
Citations of this article
19Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Dataflow graphs are a popular abstraction for describing computation, used in many systems for high-level optimization. For execution, dataflow graphs are lowered and optimized through layers of program representations down to machine instructions. Unfortunately, performance profiling such systems is cumbersome, as today's profilers present results merely at instruction and function granularity. This obfuscates the connection between profiles and high-level constructs, such as operators and pipelines, making interpretation of profiles an exercise in puzzling and deduction. In this paper, we show how to profile compiling dataflow systems at higher abstraction levels. Our approach tracks the code generation process and aggregates profiling data to any abstraction level. This bridges the semantic gap to match the engineer's current information need and even creates a comprehensible way to report timing information within profiling data. We have evaluated this approach within our compiling DBMS Umbra, showing that the approach is generally applicable for compiling dataflow systems and can be implemented with high accuracy and reasonable overhead.

Cite

CITATION STYLE

APA

Beischl, A., Kersten, T., Bandle, M., Giceva, J., & Neumann, T. (2021). Profiling dataflow systems on multiple abstraction levels. In EuroSys 2021 - Proceedings of the 16th European Conference on Computer Systems (pp. 474–489). Association for Computing Machinery, Inc. https://doi.org/10.1145/3447786.3456254

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free