Дослідження проблем синхронізації та захисту даних при реалізації багатопоточних програм

Автор(и)

  • Zhulkovskyi Oleg
  • Zhulkovska Inna
  • Kostenko Victoria
  • Bulhakova Olha

DOI:

https://doi.org/10.34185/1562-9945-5-148-2023-01

Ключові слова:

багатопотокові обчислення, паралельне програмування, змагання потоків, механізми синхронізації, м'ютекси.

Анотація

Нагальні проблеми сучасного розвитку процесів та технологій потре-бують постійного підвищення продуктивності комп’ютерної техніки, ефек-тивного використання її ресурсів, обробки великих обсягів даних та підтрим-ки зростаючих вимог сучасних інформаційних систем. Одним із напрямків, що забезпечують вирішення вказаних проблем, є використання багатопроцесор-них та обчислювальних систем із багатоядерними процесорами, що забезпе-чують швидке та продуктивніше паралельне вирішення окремих ресурсномі-стких завдань. У зв’язку з цим актуальними задачами є дослідження методів синхроніза-ції та управління ресурсами в багатопоточних середовищах, розроблення но-вих методів та інструментів для паралельного програмування зі створенням ефективних багатопоточних крос-платформних програм, оптимізація алго-ритмів та архітектур для масштабованих обчислень. Метою даної роботи є вирішення майже важливішої серед проблем ба-гатопоточного програмування – проблеми гонки потоків при багатопоточ-них обчисленнях ресурсномістких задач із паралельним доступом до спільних даних за допомогою використання м'ютексів. В роботі вирішені наступні завдання: розроблено багатопоточний алго-ритм реалізації типової задачі обробки надвеликих масивів даних із захистом критичної області за допомогою примітивів синхронізації – м’ютексів; дослі-джено продуктивність виконання розробленого алгоритму при значній (108–109 елементів) кількості оброблюваних даних і змінному (1–14) числі обчислю-вальних потоків (ядер); вироблено концепцію для подальшого застосування ефективних підходів до захисту даних у конкурентних програмах, що реалі-зуються на багатопроцесорних та багатоядерних системах. Встановлено, що вирішення проблеми гонки потоків у розглянутій задачі на сучасному PC із процесором Intel Core i7-12700H (14 cores, 2.3 GHz / 4.7 GHz) при збільшенні розміру масиву у досліджуваному діапазоні уповільнює ви-конання програми приблизно в 10 разів. Збільшення при цьому числа викорис-таних потоків від 2 до 14 уповільнює реалізацію застосунку приблизно в 4 ра-зи, незалежно від кількості оброблюваних даних.

Посилання

Almeida S. An Introduction to High Performance Computing / S. Almeida // Interna-tional Journal of Modern Physics A. – 2013. – vol. 28, no. 22n23, 1340021, p. 1–9. https://doi: 10.1142/s0217751x13400216

Tanenbaum A. S. Modern Operating Systems / A. S. Tanenbaum, H. Bos. – New Jersey : Prentice Hall Press, 2014. – 1136 p. ISBN 978-0-13-359162-0

Williams A. C++ Concurrency in Action: Practical Multithreading / A.Williams. – Island : Manning Shelter, 2019. – 592 p. ISBN 9781617294693

Kim S. Finding Semantic Bugs in File Systems with an Extensible Fuzzing Frame-work / S. Kim, M. Xu, S. Kashyap, J. Yoon, W. Xu, T. Kim // Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP). – 2019. – p. 147–161. https://doi.org/10.1145/3341301.3359662

Xu W. Fuzzing File Systems Via Two-dimensional Input Space Exploration /

W. Xu, H. Moon, S. Kashyap, P-N. Tseng, T. Kim // 2019 IEEE Symposium on Secu-rity and Privacy (SP). – 2019. – p. 818–834. https://doi.org/10.1109/SP.2019.00035

Xu M. Krace: Data Race Fuzzing for Kernel File Systems / M. Xu, S. Kashyap, H. Zhao; T. Kim. // 2020 IEEE Symposium on Security and Privacy (SP). – 2020. – p. 1643–1660. https://doi.org/10.1109/SP40000.2020.00078

Zhulkovskyi O. O. Evaluation of the Efficiency of the Implementation of Parallel Computational Algorithms Using the Library in C++ / O.O.Zhulkovskyi, I. I. Zhulkovska, V. V. Shevchenko, H. Ya. Vokhmianin // Computer Systems and In-formation Technologies. – 2022. – № 3. – p. 49–55. https://doi.org/10.31891/csit-2022-3-6

Gu Y. Dynamic Data Race Detection for OpenMP Programs / Y. Gu, J. Mellor-Crummey // SC18: International Conference for High Performance Computing, Net-working, Storage and Analysis. – 2018. – p. 767–778.

https://doi.org/10.1109/SC.2018.00064

Verma G. Enhancing DataRaceBench for Evaluating Data Race Detection Tools / G. Verma, Y. Shi, C. Liao, B. Chapman, Y. Yan // 2020 IEEE/ACM 4th International Workshop on Software Correctness for HPC Applications (Correctness). – 2020. – p. 20–30.

https://doi.org/10.1109/Correctness51934.2020.00008

TehraniJamsaz A. DeepRace: A Learning-based Data Race Detector / A. TehraniJamsaz, M. Khaleel, R. Akbari, A. Jannesari // 2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW). – 2021. – p. 226–233. https://doi.org/ 10.1109/ICSTW52544.2021.00046

Завантаження

Опубліковано

2024-03-20