direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments


Scalable Analysis via Machine Learning: Predicting Memory Dependencies Precisely
Zitatschlüssel gesellensetter08scalable
Autor Lars Gesellensetter
Buchtitel Dagstuhl Seminar Proceedings 08161
Jahr 2008
Herausgeber Florian Martin and Hanne Riis Nielson and Claudio Riva and Markus Schordan
Verlag Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany
Zusammenfassung Program analysis tackles the problem of predicting the behavior or certain properties of the considered program code. The challenge lies in determining the dynamic run-time behavior statically at compile time. While in rare cases it is possible to determine exact dynamic properties already statically, in many cases, e.g., in analyzing memory dependencies, one can only find imprecise information. To overcome this problem, we look at the dynamic run-time behavior and use Machine Learning (ML) techniques to learn the relationship between static program features and dynamic run-time behavior. ML yields highly scalable predictors, which are safely applicable when erroneous predictions merely have an impact on program optimality but not on correctness. Once trained, these predictors can be used in a static compiler. In this extended abstract, I present our approach to mitigate the impact of the memory gap using ML techniques and speculative optimizations. The memory gap denotes the fact that over the last decade, computer performance is increasingly dominated by memory speed, which did not manage to keep pace with the ever increasing CPU rates. We consider novel speculative optimization techniques of memory accesses to reduce their effective latency. We trained predictors to learn the memory dependencies of a given pair of accesses, and use the result in our optimization to decide about the profitability of a given optimization step.
Typ der Publikation Technical Report
Download Bibtex Eintrag

Zusatzinformationen / Extras


Schnellnavigation zur Seite über Nummerneingabe