Treffer: Environment for Tuning Parameters of a Multithreaded Program Developed Using a Dependency Graph

Title:
Environment for Tuning Parameters of a Multithreaded Program Developed Using a Dependency Graph
Source:
Information, Computing and Intelligent systems; No. 6 (2025): Information, Computing and Intelligent systems; 4-13
Information, Computing and Intelligent systems; № 6 (2025): Information, Computing and Intelligent systems; 4-13
Publisher Information:
Національний технічний університет України "Київський політехнічний інститут імені Ігоря Сікорського", 2025.
Publication Year:
2025
Document Type:
Fachzeitschrift Article
File Description:
application/pdf
Language:
English
ISSN:
2708-4930
2786-8729
Rights:
CC BY
Accession Number:
edsair.scientific.p..cacd262ebd666e0d97667ca23aa8256e
Database:
OpenAIRE

Weitere Informationen

З появою багатоядерних центральних процесорів застосування багатопотоковості стало найбільш поширеною практикою для збільшення швидкодії виконання програм. Проте розробка багатопотокової програми є досить складним процес. З метою спрощення цього процесу та покращення швидкодії результуючої програми, часто використовуються різноманітні методи управління виконанням програми у потоках. Одним з таких методів є метод управління виконанням задач багатопотокової програми за заданим графом залежностей. Метод дозволяє суттєво зменшити ресурсоємність процесу розробки програми, а також підвищити швидкодію розробленої програми за рахунок використання неблокуючого підходу до багатопотокового програмування. Проте актуальною залишається проблема ефективності використання обчислювального ресурсу, вирішити яку вдається тільки ретельною розробкою паралельних обчислень. Зокрема, визначення параметрів багатопотокової програми, що забезпечують найбільш ефективне використання обчислювального ресурсу, є ресурсовитратним та складним завданням навіть для висококваліфікованого фахівця. У даному дослідженні розглянуті існуючі підходи до налаштування параметрів багатопотокової програми, що забезпечують найбільш ефективне її виконання. Запропоновано використовувати середовище для налаштування параметрів багатопотокової програми, на основі методу управління виконанням задач багатопотокової програми за заданим графом залежностей. Експериментально було доведено точність результатів обчислення ефективності використання обчислювального ресурсу, отриманих за допомогою середовища. На прикладі описано процес застосування середовища для розробки багатопотокової програми. Використання середовища сприяє також спрощенню процесу налаштування параметрів багатопотокової програми.
With the advent of multi-core central processors, multithreading has become the most widespread practice for improving program execution performance. However, the development of a multithreaded program remains a rather complex process. To simplify this process and enhance the performance of the resulting program, various methods for managing thread-based execution are often employed. One such method is the method of managing the execution of tasks of a multithreaded program according to a given dependency graph. This method significantly reduces the resource intensity of program development and increases program performance by employing a lockless approach to multithreaded programming. Nevertheless, the challenge of efficient utilization of computational resources remains relevant and can only be addressed through the careful design of parallel computations. In particular, identifying the configuration parameters for a multithreaded program that ensure optimal resource utilization is a resource-intensive and complex task, even for highly qualified specialists. This study examines existing approaches to tuning the parameters of multithreaded programs to achieve the most efficient execution. It proposes the use of an environment for tuning multithreaded program parameters based on the method of managing the execution of tasks of a multithreaded program according to a given dependency graph. The accuracy of the resource efficiency metrics obtained through this environment was experimentally validated. A practical example demonstrates the application of the environment in the development of a multithreaded program. The use of the environment also facilitates the configuration process of multithreaded program parameters.