direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Page Content

Publications

Breaking the Curse of Static Analyses: Making Compilers Intelligent via Machine Learning
Citation key alvincz09breaking0
Author Lars Alvincz and Sabine Glesner
Title of Book 3rd Workshop on Statistical and Machine learning approaches to ARchitectures and compilaTion (SMART'09)
Year 2009
Note to appear
Abstract Static program analyses used in compiler optimizations only approximate the run-time behavior of programs. Following the requirement to always optimize safely, this leads to drastic over-approximation of the dynamic program behavior and sacrifices significant optimization potential. However, if unsafe information is allowed, compilers can work with a much more precise model of the program behavior. This can be utilized by speculative optimizations, which guarantee program correctness even in case of misspeculation. In this paper, we present our Framework for Intelligent Speculative Compiler Optimizations (FrISCO), which uses Machine Learning to yield precise estimators for dynamic run-time behavior. To further increase precision, we propose to automatically group similar programs together in program classes. The resulting predictors can be used in speculative optimizations to derive a precise cost model, which is necessary to guide the optimization. In a case study, we investigate the memory behavior of programs, namely the dependencies amongst memory instructions, The evaluation of the predictors shows that precise estimates can be made for a wide variety of programs. Since the optimization of memory accesses is vital due to the memory gap, and since established alias analyses only yield imprecise results, we expect that our predictors will enable much more optimization potential and thereby lead to a significantly better run-time performance.
Bibtex Type of Publication Conference Article
Download Bibtex entry

Zusatzinformationen / Extras

Quick Access:

Schnellnavigation zur Seite über Nummerneingabe