Реализация траекторного профилирования в компиляторе LCC для процессоров Эльбрус
https://doi.org/10.15514/ISPRAS-2024-36(4)-4
Аннотация
В работе предложена реализация траекторного профилирования методом инструментирования, реализованная в компиляторе LCC для архитектур «Эльбрус» и SPARC и предназначенная для улучшения работы специфических оптимизаций для процессоров с архитектурой типа VLIW.
Об авторах
Виктор Евгеньевич ШАМПАРОВРоссия
Программист в АО «МЦСТ» с 2017 года, аспирант МФТИ. Сфера научных интересов: оптимизации в компиляторах, профилирование.
Мурад Искендер-оглы НЕЙМАН-ЗАДЕ
Россия
Начальник отделения разработки систем программирования в АО «МЦСТ». Его научные интересы включают методы оптимизации кода, JIT-компиляцию, профилирование и библиотеки ускоренных вычислений.
Список литературы
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. Микропроцессоры и вычислительные комплексы семейства «Эльбрус». Питер, СПб.
Рецензия
Для цитирования:
ШАМПАРОВ В.Е., НЕЙМАН-ЗАДЕ М.И. Реализация траекторного профилирования в компиляторе LCC для процессоров Эльбрус. Труды Института системного программирования РАН. 2024;36(4):41-56. https://doi.org/10.15514/ISPRAS-2024-36(4)-4
For citation:
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