direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

Publikationen

Breaking the Curse of Static Analyses: Making Compilers Intelligent via Machine Learning
Zitatschlüssel alvincz09breaking0
Autor Lars Alvincz and Sabine Glesner
Buchtitel 3rd Workshop on Statistical and Machine learning approaches to ARchitectures and compilaTion (SMART'09)
Jahr 2009
Notiz to appear
Zusammenfassung 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.
Typ der Publikation Conference Article
Download Bibtex Eintrag

Zusatzinformationen / Extras

Direktzugang

Schnellnavigation zur Seite über Nummerneingabe