Methodology for Developing a High-speed Compiler Based on the Modified Loop Fusion Optimization Method: Models and Tools for its Implementation

Cover Page

Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription Access

Abstract

In connection with the development of information technologies, the complexity of programming languages and, accordingly, applications developed using them, program optimization is of particular importance. In the process of optimization, the program is improved by reducing the code size, complexity, using less memory and provides a reduction in execution time without changing the internal function. In practice, optimization is implemented using compilers and their functions. Taking into account the above, the aim of the article was to develop a methodology for studying various aspects of building a high-speed compiler with a modified loop fusion optimization method, as well as models and tools for its implementation. In the course of the research, the features of its design using the modified loop fusion optimization method are outlined, descriptions of the flowchart of the modified loop fusion algorithm and the logical flowchart of the compiler development stages are given. As a result of the work, a compiler based on the modified loop fusion optimization method is proposed, using loop reversal to ensure their “legitimate” and profitable merging, which reduces the execution time of the program while maintaining its correctness. The efficiency of the proposed compiler is shown by comparing the compilation times of the test program obtained using it and using the well-known compiler x86-64 gcc 4.7.1.

About the authors

Boris A. Logunov

Scientific Research Center for Aircraft Strength, Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.E. Zhukovsky” (FAI “TSAGI”)

Email: logunov39@mail.ru

Candidate of Engineering; Head of the Department of Measuring and Computing Equipment, Department of strength standards, loads and Aeroelasticty of the Scientific Research Center for Aircraft Strength of the Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.Е. Zhukovsky” (FAI “TSAGI”)

Russian Federation, Zhukovsky, Moscow region

Ilya A. Kharin

Scientific Research Center for Aircraft Strength, Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.E. Zhukovsky” (FAI “TSAGI”)

Author for correspondence.
Email: xarin.ilya@bk.ru

engineer of the Department of Measuring and Computing Equipment, Department of strength standards, loads and Aeroelasticty of the Scientific Research Center for Aircraft Strength of the Federal Autonomous Institution “Central Aerohydrodynamic Institute named after Professor N.Е. Zhukovsky” (FAI “TSAGI”)

Russian Federation, Zhukovsky, Moscow region

References

  1. Agez M. Correcting remaining truncations in hybrid life cycle assessment database compilation. Journal of Industrial Ecology. 2022. Vol. 26. No. 1. Pp. 121–133.
  2. Abate C. An extended account of trace-relating compiler correctness and secure compilation. ACM Transactions on Programming Languages and Systems. 2021. Vol. 43. No. 4. Pp. 14–19.
  3. Muller E. Push versus pull-based loop fusion in query engines. Journal of Functional Programming. 2018. Vol. 28. No. 1. Pp. 56–62.
  4. Sesin I.Yu. Comparative analysis of software optimization methods for combating branch predication on GPUs. Russian Technological Journal. 2021. No. 6. Pp. 7–15. (In Rus.)
  5. Li Hao. Compiling cross-language network programs into hybrid data plane. IEEE/ACM Transactions on Networking: A Joint Publication of the IEEE Communications Society. 2021. Vol. 30. No. 3. Pp. 1088–1103.
  6. Zhufeng H. Optimization based on LLVM global instruction selection. Journal of Physics. Conference Series. 2021. Vol. 1856. No. 1. Pp. 19–23.
  7. Ziraksima M. Using an evolutionary approach based on shortest common supersequence problem for loop fusion. Soft Computing: A Fusion of Foundations, Methodologies and Applications. 2020. Nо. 10. Рp. 7231–7252.
  8. Vladimirov K.I. Structure splitting optimization for the vector optimizer in the Intel graphics compiler. Modern Information Technologies and IT Education. 2022. No. 2. Pp. 249–255. (In Rus.)
  9. Josipovic L. Synthesizing general-purpose code into dynamically scheduled circuits. IEEE Circuits and Systems Magazine. 2021. Vol. 21. No. 2. Pp. 97–118.
  10. Kiesel R. Efficient knowledge compilation beyond weighted model counting. Theory and Practice of Logic Programming. 2022. Vol. 22. No. 4. Pp. 505–522.
  11. Ahmed H. Toward a novel engine for compiler optimization space exploration of big data workloads. Software, Practice & Experience. 2022. Vol. 52. No. 5. Pp. 1262–1293.
  12. Shymon I.M. Compilation, analysis and application of a comprehensive Bangla Corpus KUMono. IEEE Access: Practical Innovations, Open Solutions. 2022. Vol. 10. Pp. 79999–80014.
  13. Novikov K.D. Software optimization. Bulletin of the Russian New University. Series: Complex Systems: Models, Analysis and Control. 2021. No. 1. Pp. 159–165. (In Rus.)
  14. Murali P. Formal constraint-based compilation for noisy intermediate-scale quantum systems. Microprocessors and Microsystems. 2019. Vol. 66. No. 9. Pp. 102–112.
  15. Patrignani M. Robustly safe compilation, an efficient form of secure compilation. ACM Transactions on Programming Languages and Systems. 2021. Vol. 43. No. 1. Pp. 12–19.
  16. Gonopolsky M.G. Automatic generation of an interpreter for a multilingual virtual machine. Modern Information Technologies and IT Education. 2021. Vol. 17. No. 4. Pp. 988–997. (In Rus.)
  17. Baev R.V. Prevention of vulnerabilities resulting from optimization of code with undefined behavior. Proceedings of the Institute for System Programming of the Russian Academy of Sciences. 2021. Vol. 33. No. 4. Pp. 195–210. (In Rus.)
  18. Kormen T.H., Leizerson Ch.E., Rivest R.L., Stein C. Section 24.3: Dijkstra’s Algorithm. In: introduction to algorithms. 2nd ed. MIT Press and McGraw-Hill, 2001. Pp. 595–601. ISBN: 0-262-03293-7.

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Fig. 1. Hash table block diagram

Download (95KB)
3. Fig. 2. Principle of code generation

Download (51KB)
4. Fig. 3. Block diagram of the algorithm based on the modified loop fusion optimization method

Download (191KB)
5. Fig. 4. A logical flowchart illustrating the stages of the compiler with the modified loop fusion optimization method

Download (259KB)
6. Fig. 5. Compiling the test program using the x86-64 gcc 4.7.1 compiler

Download (11KB)
7. Fig. 6. Compilation of the test program using the proposed compiler with the modified loop fusion optimization method

Download (70KB)
8. Fig. 7. Comparison diagram of compilation times

Download (56KB)


Согласие на обработку персональных данных с помощью сервиса «Яндекс.Метрика»

1. Я (далее – «Пользователь» или «Субъект персональных данных»), осуществляя использование сайта https://journals.rcsi.science/ (далее – «Сайт»), подтверждая свою полную дееспособность даю согласие на обработку персональных данных с использованием средств автоматизации Оператору - федеральному государственному бюджетному учреждению «Российский центр научной информации» (РЦНИ), далее – «Оператор», расположенному по адресу: 119991, г. Москва, Ленинский просп., д.32А, со следующими условиями.

2. Категории обрабатываемых данных: файлы «cookies» (куки-файлы). Файлы «cookie» – это небольшой текстовый файл, который веб-сервер может хранить в браузере Пользователя. Данные файлы веб-сервер загружает на устройство Пользователя при посещении им Сайта. При каждом следующем посещении Пользователем Сайта «cookie» файлы отправляются на Сайт Оператора. Данные файлы позволяют Сайту распознавать устройство Пользователя. Содержимое такого файла может как относиться, так и не относиться к персональным данным, в зависимости от того, содержит ли такой файл персональные данные или содержит обезличенные технические данные.

3. Цель обработки персональных данных: анализ пользовательской активности с помощью сервиса «Яндекс.Метрика».

4. Категории субъектов персональных данных: все Пользователи Сайта, которые дали согласие на обработку файлов «cookie».

5. Способы обработки: сбор, запись, систематизация, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передача (доступ, предоставление), блокирование, удаление, уничтожение персональных данных.

6. Срок обработки и хранения: до получения от Субъекта персональных данных требования о прекращении обработки/отзыва согласия.

7. Способ отзыва: заявление об отзыве в письменном виде путём его направления на адрес электронной почты Оператора: info@rcsi.science или путем письменного обращения по юридическому адресу: 119991, г. Москва, Ленинский просп., д.32А

8. Субъект персональных данных вправе запретить своему оборудованию прием этих данных или ограничить прием этих данных. При отказе от получения таких данных или при ограничении приема данных некоторые функции Сайта могут работать некорректно. Субъект персональных данных обязуется сам настроить свое оборудование таким способом, чтобы оно обеспечивало адекватный его желаниям режим работы и уровень защиты данных файлов «cookie», Оператор не предоставляет технологических и правовых консультаций на темы подобного характера.

9. Порядок уничтожения персональных данных при достижении цели их обработки или при наступлении иных законных оснований определяется Оператором в соответствии с законодательством Российской Федерации.

10. Я согласен/согласна квалифицировать в качестве своей простой электронной подписи под настоящим Согласием и под Политикой обработки персональных данных выполнение мною следующего действия на сайте: https://journals.rcsi.science/ нажатие мною на интерфейсе с текстом: «Сайт использует сервис «Яндекс.Метрика» (который использует файлы «cookie») на элемент с текстом «Принять и продолжить».