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

Authors

DOI:

https://doi.org/10.20535/2786-8729.6.2025.333586

Keywords:

software, multithreading, computational resources, dependency graph, С parallel programming

Abstract

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.

Author Biographies

Kostiantyn Nesterenko, National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”

PhD degree student of Department of Computer Science and Software Engineering of the Faculty of informatics and Computer Technique

Inna Stetsenko, National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”, Kyiv

Professor of Department of Computer Science and Software Engineering of the Faculty of informatics and Computer Technique, Doctor of Technical Sciences, Professor

References

K. P. Nesterenko and I. V. Stetsenko, “Method of managing the execution of tasks of a multithreaded program according to a given dependency graph,” in Problems in Programming, no. 2–3, pp. 239–246, 2024, https://doi.org/10.15407/pp2024.02-03.239.

S. Borkar and A. Chien, “The Future of Microprocessors,” in Communications of the ACM, vol. 54 (5), pp. 67 – 77, 2011, https://doi.org/10.1145/1941487.1941507.

R. Rakvic, Q. Cai, J. González, G. Magklis, P. Chaparro, and A. González, “Thread-management techniques to maximize efficiency in multicore and simultaneous multithreaded microprocessors,” in ACM Transactions on Architecture and Code Optimization, vol. 7 (2), article no. 9, 2010, https://doi.org/10.1145/1839667.1839671.

Tharwani, Jay & Purkayastha, Arnab. (2024). Cost-Performance Evaluation of General Compute Instances: AWS, Azure, GCP, and OCI. http://doi.org/10.48550/arXiv.2412.03037.

J. Cui, J. L. Bordim, K. Nakano, T. Hayashi, and N. Ishii, “Multithreaded Parallel Computer Model with Performance Evaluation,” in Lecture Notes in Computer Science, vol. 1800, pp. 155–160, 2000, https://doi.org/10.1007/3-540-45591-4_20.

I. V. Stetsenko, O. Dyfuchyna, “Thread Pool Parameters Tuning Using Simulation,” Advances in Intelligent Systems and Computing, vol. 938, pp. 78-89, 2020, https://doi.org/10.1007/978-3-030-16621-2_8.

CPN IDE. “CPN IDE Documentation”. Accessed: June 21, 2025. [Online]. Available: https://cpnide.org/category/documentation/.

Visual Studio Profiling Documentation. [Online]. Accessed: June 21, 2025. Available: https://learn.microsoft.com/en-us/visualstudio/profiling.

Epic Games. Unreal Engine Insights Documentation. [Online]. Accessed: June 21, 2025. Available: https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-insights-in-unreal-engine.

RAD Game Tools. Telemetry Performance Visualization System. [Online]. Accessed: June 21, 2025. Available: https://www.radgametools.com/telemetry.htm.

M. A. Khan, “Improving performance through deep value profiling and specialization with code transformation,” in Computer Languages, Systems and Structures, vol. 37, pp. 193–203, 2011, https://doi.org/10.1016/j.cl.2011.08.001.

Yang, Chen & Zhang, Jing & Xie, Xiguo & Sun, Jianpeng. (2024). Research on Application Performance Analysis Methods for Scientific Computing. 429-436. http://doi.org/10.1145/3690931.3691003.

Debian. The Computer Language Benchmarks Game (CLBG). [Online]. Accessed: June 21, 2025. Available: https://benchmarksgame-team.pages.debian.net/benchmarksgame/.

Wu, Q.-X. and Ou, J. (2012). “QT Programming Technology and Application with Linux,” in Advances in Intelligent and Soft Computing. 114. 573–578, https://doi.org/10.1007/978-3-642-03718-4_71.

S. Di Bartolomeo, T. Crnovrsanin, D. Saffo, E. Puerta, C. Wilson, and C. Dunne, “Evaluating Graph Layout Algorithms: A Systematic Review of Methods and Best Practices,” in Computer Graphics Forum, 43 (6), 15073, 2024, https://doi.org/10.1111/cgf.15073.

C. Bachmaier, “A radial adaptation of the Sugiyama framework for Visualizing Hierarchical Information,” in IEEE Transactions on Visualization and Computer Graphics, 13 (3), pp. 583–594, 2007, https://doi.org/10.1109/TVCG.2007.1000.

J. Blieberger, B. Burgstaller, and B. Scholz, “Busy Wait Analysis,” in Lecture Notes in Computer Science, vol. 2655, pp. 142–152, 2003, https://doi.org/10.1007/3-540-44947-7_10.

R. Liu and J. Mao, “Research on Improved Canny Edge Detection Algorithm,” in MATEC Web of Conferences, vol. 232, 03053, 2018, https://doi.org/10.1051/matecconf/201823203053.

Downloads

Published

2025-09-19

How to Cite

[1]
K. Nesterenko and I. Stetsenko, “Environment for Tuning Parameters of a Multithreaded Program Developed Using a Dependency Graph”, Inf. Comput. and Intell. syst. j., no. 6, pp. 4–13, Sep. 2025.