Preview

Труды Института системного программирования РАН

Расширенный поиск

Динамическое профилирование программы для системы LLVM

Аннотация

При построении системы компиляции для языков общего назначения, учитывающей специфические особенности целевой аппаратуры и наиболее вероятный сценарий использования, необходимо применять методы динамической и адаптивной оптимизации. Исследование таких методов удобно проводить в компиляторной инфраструктуре LLVM. Тем не менее, в настоящий момент LLVM не поддерживает динамический сбор профиля и перекомпиляцию, а также содержит лишь одно преобразование, использующее данные профиля. В рамках данной работы, для LLVM была предложена и реализована система сбора профиля аппаратных прерываний и алгоритм, корректирующий переоценку профиля, а также несколько оптимизирующих преобразований с учетом профиля. Выполнена интеграция сбора профиля и динамического компилятора LLVM, что позволило сохранять качество программ при их переносе на другую архитектуру.

Об авторах

А. И. Аветисян
ИСП РАН
Россия


К. Ю. Курмангалеев
ИСП РАН
Россия


Ш. Ф. Курмангалеев
ИСП РАН
Россия


Список литературы

1. Chris Lattner. LLVM: An Infrastructure for Multi-Stage Optimization.— Master’s thesis, Computer Science Dept., University of Illinois at Urbana-Champaign, Urbana, IL, 61 pages.

2. А. Белеванцев, Д. Журихин, Д. Мельник. Компиляция программ для современных архитектур. Труды Института системного программирования РАН, том 17, 2009 г. стр. 31-50.

3. Omri Traub, Stuart Schechter, Michael D. Smith. Ephemeral Instrumentation for Lightweight Program Profiling.— 2000. www.eecs.harvard.edu/hube/publications/muck.pdf. Date retrieved: October 7, 2011.

4. OProfile official website. http://oprofile.sourceforge.net.

5. Java Virtual Machine Profling Interface documentation. http://download.oracle.com/javase/1.4.2/docs/guide/jvmpi/jvmpi.html. Date retrieved: October 7, 2011.

6. Vinodha Ramasamy, Robert Hundt, Dehao Chen, Wenguang Chen. Feedback-Directed Optimizations in GCC with Estimated Edge Profiles from Hardware Event Proceedings of GCC Summit 2008. http://research.google.com/pubs/pub36576.html. Date retrieved: August 18, 2011.

7. R. Levin, I. Newman, G. Haber. Complementing missing and inaccurate profiling using a minimum cost circulation algorithm. Proceedings of the 3rd international conference on High performance embedded architectures and compilers.— HiPEAC’08.— Berlin, Heidelberg: Springer-Verlag, 2008.— Pp. 291–304.

8. Zwick, U. The smallest networks on which the ford-fulkerson maximum flow procedure may fail to terminate. Theoretical Computer Science.— 1995.— Vol. 148.

9. Levin, R. — Complementing Incomplete Edge Profile by applying Minimum Cost Circulation Algorithms.— Master’s thesis, University of Haifa, 2007.—Aug. http://www.cs.technion.ac.il/~royl/MscThesis_Final_Version_Submission.pdf. 38 pages


Рецензия

Для цитирования:


Аветисян А.И., Курмангалеев К.Ю., Курмангалеев Ш.Ф. Динамическое профилирование программы для системы LLVM. Труды Института системного программирования РАН. 2011;21.

For citation:


Avetisyan A.I., Dolgorukova K.U., Kurmangaleev Sh.F. Dynamic profile collection for LLVM. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2011;21. (In Russ.)



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)