Path Profiling for LCC Compiler for Elbrus CPUs
https://doi.org/10.15514/ISPRAS-2024-36(4)-4
Abstract
This paper presents a new version of instrumentation-based path profiling, implemented for the LCC compiler for Elbrus and SPARC processors. This profiling is intended to be used for VLIW-specific compiler optimizations, where path information and path correlations are needed. It was optimized, so profiling overhead descreased to 5.5 times on average.
About the Authors
Viktor Evgenievich SHAMPAROVRussian Federation
Software engineer in MCST Design Center since 2017 and PhD student in MIPT. Research interests: compiler optimizations, profiling.
Murad NEIMAN-ZADE
Russian Federation
Head of the Department of Programming Systems of MCST Design Center. His research interests include compiler optimizations, JIT compilation, profiling and accelerated computation libraries.
References
1. SPEC CPU Benchmarks, Available at: https://www.spec.org/benchmarks.html#cpu, accessed 23.05.2024.
2. Mohammed Afraz, Diptikalyan Saha, and Aditya Kanade (2015) P3: Partitioned Path Profiling. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2015). Association for Computing Machinery, New York, NY, USA, 485–495. DOI: 10.1145/2786805.2786868.
3. Thomas Ball and James R. Larus (1996) Efficient Path Profiling. In Proceedings of the 29th Annual ACM/IEEE International Symposium on Microarchitecture (MICRO 29). IEEE Computer Society, USA, 46–57.
4. M.D. Bond and K.S. McKinley (2005) Continuous path and edge profiling. DOI: 10.1109/MICRO.2005.16.
5. Eustace A. Calder B., Feller P. Value Profiling and Optimization. Journal of Instruction-Level Parallelism 1 (1999), pp. 1–37.
6. Daniele Cono D’Elia and Camil Demetrescu. Ball-Larus Path Profiling across Multiple Loop Iterations. SIGPLAN Not. 48, 10 (oct 2013), pp. 373–390. DOI: 10.1145/2544173.2509521.
7. Gabriel Marin, Alexey Alexandrov, and Tipp Moseley (2021) Break Dancing: Low Overhead, Architecture Neutral Software Branch Tracing. In Proceedings of the 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2021). Association for Computing Machinery, New York, NY, USA, pp. 122–133. DOI: 10.1145/3461648. 3463853.
8. David Melski and Thomas Reps (1999) Interprocedural Path Profiling. In Compiler Construction, Stefan Jähnichen (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 47–62.
9. Maksim Panchenko, Rafael Auler, Bill Nell, and Guilherme Ottoni. BOLT: A Practical Binary Optimizer for Data Centers and Beyond. In Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2019). IEEE Press, pp. 2–14.
10. Erez Perelman, Trishul Chilimbi, and Brad Calder. Variational Path Profiling. In Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques (PACT ’05). IEEE Computer Society, USA, pp. 7–16. DOI: 10.1109/PACT.2005.41
11. Subhajit Roy and Y.N. Srikant. Profiling k-Iteration Paths: A Generalization of the Ball-Larus Profiling Algorithm. International Symposium on Code Generation and Optimization (CGO’09), pp. 70–80. DOI: 10.1109/CGO.2009.11
12. Kapil Vaswani, Aditya V. Nori, and Trishul M. Chilimbi (2007) Preferential Path Profiling: Compactly Numbering Interesting Paths. In Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’07). Association for Computing Machinery, New York, NY, USA, pp. 351–362. DOI: 10.1145/1190216.1190268
13. Toshiaki Yasue, Toshio Suganuma, Hideaki Komatsu, and Toshio Nakatani (2004) Structural Path Profiling: An Efficient Online Path Profiling Framework for JustIn-Time Compilers. J. Instruction-Level Parallelism 6.
14. Cliff Young and Michael D. Smith. Improving the Accuracy of Static Branch Prediction Using Branch Correlation. SIGOPS Oper. Syst. Rev. 28, 5 (Nov. 1994), 232–241. DOI: 10.1145/381792.195549
15. Нейман-заде М. И. and Королёв С. Д. 2020. Руководство по эффективному программированию на платформе «Эльбрус». АО «МЦСТ».
16. А.К. Ким, В.И. Перекатов, and С.Г. Ермаков. 2013. Микропроцессоры и вычислительные комплексы семейства «Эльбрус». Питер, СПб.
Review
For citations:
SHAMPAROV V.E., NEIMAN-ZADE M. Path Profiling for LCC Compiler for Elbrus CPUs. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2024;36(4):41-56. (In Russ.) https://doi.org/10.15514/ISPRAS-2024-36(4)-4