Method of managing the execution of tasks of a multithreaded program according to a given dependency graph

Performance is one of the main non-functional requirements for software. As a result of the increase in the number of cores in central processing units in recent decades, the use of multithreading technology has become a primary means of improving software performance. This study analyzes the problems that arise from developing multithreaded programs and ways to address them. A method for managing the execution of tasks in a multithreaded program based on a given dependency graph is proposed and its implementation in the C++ language is demonstrated. Its aim is to reduce the resource intensity of software development and increase its reliability by addressing problems typical of developing multithreaded programs. The results of experimental research on a test set of tasks are provided, demonstrating increased performance through the use of the proposed method.

Authors

Institutions

Publication Details

Journal
PROBLEMS IN PROGRAMMING
Published
2024-09-01
DOI
https://doi.org/10.15407/pp2024.02-03.239
Primary Topic
Advanced Data Processing Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Method of managing the execution of tasks of a multithreaded program according to a given dependency graph

Inna V. Stetsenko, Kostiantyn Nesterenko
PROBLEMS IN PROGRAMMING
Advanced Data Processing Techniques
article

Method of managing the execution of tasks of a multithreaded program according to a given dependency graph

Inna V. Stetsenko, Kostiantyn Nesterenko
article en

Abstract

Performance is one of the main non-functional requirements for software. As a result of the increase in the number of cores in central processing units in recent decades, the use of multithreading technology has become a primary means of improving software performance. This study analyzes the problems that arise from developing multithreaded programs and ways to address them. A method for managing the execution of tasks in a multithreaded program based on a given dependency graph is proposed and its implementation in the C++ language is demonstrated. Its aim is to reduce the resource intensity of software development and increase its reliability by addressing problems typical of developing multithreaded programs. The results of experimental research on a test set of tasks are provided, demonstrating increased performance through the use of the proposed method.

PROBLEMS IN PROGRAMMING(2-3)
National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute” (UA)
Openalex Percentile: Top 67%
Advanced Data Processing Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Method of managing the execution of tasks of a multithreaded program according to a given dependency graph — Inna V. Stetsenko, Kostiantyn Nesterenko · PROBLEMS IN PROGRAMMING (2024) | TGRS Research Map | TGRS