Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Dynamic profile collection for LLVM

Abstract

One has to harness dynamic and adaptive recompilation methods when designing the system for general-purpose languages compilation which takes into account the specific factors of target hardware and the most likely way of usage. It is favorable to research those methods in the LLVM infrastructure environment. Unfortunately, LLVM does not support dynamic profile collection and recompilation at the moment, as well as contains only one profile-based optimization. Within the introduced work, we proposed and implemented the system for hardware interruptions profile collection and the algorithm to correct profile estimations, and, apart from that, the number of profile-based optimizations. We integrated dynamic profile collection into the LLVM dynamic compiler resulting in constant program quality regardless of hardware architecture.

About the Authors

A. I. Avetisyan
ISP RAS, Moscow
Russian Federation


K. U. Dolgorukova
ISP RAS, Moscow
Russian Federation


Sh. F. Kurmangaleev
ISP RAS, Moscow
Russian Federation


References

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


Review

For citations:


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
This work is licensed under a Creative Commons Attribution 4.0 License.


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