TY - GEN
T1 - Profiling dataflow systems on multiple abstraction levels
AU - Beischl, Alexander
AU - Kersten, Timo
AU - Bandle, Maximilian
AU - Giceva, Jana
AU - Neumann, Thomas
N1 - Publisher Copyright:
© 2021 ACM.
PY - 2021/4/21
Y1 - 2021/4/21
N2 - 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.
AB - 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.
KW - Dataflow systems
KW - Profiling
KW - Query compilation
UR - http://www.scopus.com/inward/record.url?scp=85105343423&partnerID=8YFLogxK
U2 - 10.1145/3447786.3456254
DO - 10.1145/3447786.3456254
M3 - Conference contribution
AN - SCOPUS:85105343423
T3 - EuroSys 2021 - Proceedings of the 16th European Conference on Computer Systems
SP - 474
EP - 489
BT - EuroSys 2021 - Proceedings of the 16th European Conference on Computer Systems
PB - Association for Computing Machinery, Inc
T2 - 16th European Conference on Computer Systems, EuroSys 2021
Y2 - 26 April 2021 through 28 April 2021
ER -