Dynamic Regression-Detection and Compiler Analysis Framework for GraalVM
Project
Dynamic Regression-Detection and Compiler Analysis Framework for GraalVM
Principal Investigator
Walter Binder
Oracle Fellowship Recipient
Haiyang Sun, Junior Löff, Matteo Basso, Yudi Zheng
Oracle Principal Investigator
Aleksandar Prokopec, Senior Software Manager
Thomas Wuerthinger, Vice President
Summary
This project aims at investigating techniques to automatically track performance regressions and pinpoint missed optimization opportunities in Graal. We will profile a program and track its memory accesses, behavior of threads, as well as other side-effects. Next, we will identify a set of patterns that typical optimizations apply to (e.g., loop fusion), and use these known patterns to identify potentially optimizable runtime executions. We will target patterns that are known to be inefficient, i.e., that can be replaced with an execution pattern that computes the same value and side-effects, but takes fewer execution steps. The findings will be used to implement new optimizations in Graal, as well as to improve the existing ones. As a result, other than providing efficient analysis tools to the compiler team, our research will speed up the execution of applications exploiting the Graal compiler, reducing energy consumption, and consequently increasing monetary savings.