Dynamic Regression-Detection and Compiler Analysis Framework for GraalVM

Project

Dynamic Regression-Detection and Compiler Analysis Framework for GraalVM

Principal Investigator

Walter Binder

Università della Svizzera italiana (University of Lugano), Facoltà di scienze informatiche (Faculty of Informatics)

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.