Інтернет-конференції НУБіП України, ТЕОРЕТИЧНІ ТА ПРИКЛАДНІ АСПЕКТИ РОЗРОБКИ КОМП’ЮТЕРНИХ СИСТЕМ '2025

Розмір шрифту: 
ДОСЛІДЖЕННЯ БАГАТОПОТОКОВИХ ТЕХНОЛОГІЙ JAVA ТА ОЦІНКА ЕФЕКТИВНОСТІ ЇХ ЗАСТОСУВАННЯ
Vladyslav Igorovych Masenkov

Остання редакція: 21-04-2025

Тези доповіді


Актуальність теми. У сучасних розподілених системах та високонавантажених програмних рішеннях багатопотоковість відіграє ключову роль у досягненні високої продуктивності, масштабованості та низьких затримок. Рішення, що використовують багатопотокові технології, широко застосовуються в різних галузях, таких як обробка великих даних, високопродуктивні обчислення, онлайн-стрімінг, хмарні платформи, фінансові технології, наукові обчислення та реальний час обробки інформації. Однак для ефективного використання багатопотокових механізмів в рамках платформи Java необхідно здійснювати комплексний підхід до вибору та налаштування відповідних бібліотек, фреймворків та методів оптимізації продуктивності. Дослідження цих аспектів дозволить значно покращити ефективність розробки та експлуатації систем, що потребують високої продуктивності та низьких затримок.

Метою роботи є наукове дослідження та аналіз багатопотокових технологій у середовищі Java, а також оцінка їх ефективності та доцільності застосування для розробки високопродуктивних, масштабованих та надійних програмних систем в умовах реальних виробничих навантажень.

Об’єкт дослідження – багатопотокові технології Java, включаючи базові інструменти багатопотоковості (Java Threads), фреймворки для керування потоками (Executor Framework), паралельні обчислення (ForkJoinPool), а також методи синхронізації та забезпечення безпеки потоків у складних розподілених системах.

Предмет дослідження – підходи до проектування та реалізації багатопотокових програм в Java, методи для забезпечення ефективного використання системних ресурсів (процесора, пам'яті, вводу-виводу), а також інструменти для моніторингу, збереження та аналізу результатів продуктивності багатопотокових додатків.

Завдання дослідження:

  • Проаналізувати основні бібліотеки та фреймворки для реалізації багатопотоковості в Java, зокрема: Java Threads, Executor Framework, ForkJoinPool, CompletableFuture, та оцінити їх можливості для ефективного управління паралельними задачами.

  • Розробити критерії для порівняння ефективності різних підходів до багатопотоковості, зокрема за допомогою мікробенчмарків (JMH), для визначення найбільш ефективних методів в умовах реальних застосунків.

  • Дослідити технології та методи логування, моніторингу та аналізу продуктивності багатопотокових програм, зокрема з використанням Java Flight Recorder, SLF4J, Logback, Grafana, Prometheus.

  • Оцінити ефективність багатопотокових технологій в реальних застосунках, таких як обробка великих даних, відео-стрімінг, хмарні обчислення та онлайн-ігри.

Практичне застосування. Дослідження багатопотокових технологій Java дозволить оптимізувати продуктивність серверних систем, які працюють з великими обсягами даних, що особливо актуально для систем обробки транзакцій, відео-стрімінгу, великих наукових обчислень тощо. Використання оптимізованих багатопотокових рішень допоможе знизити час обробки запитів, підвищити ефективність використання ресурсів та забезпечити стійкість систем до збоїв.

Очікувані результати:

  • Визначення найбільш ефективних методів багатопотоковості для різних типів програмних рішень.

  • Розробка рекомендацій щодо оптимізації багатопотокових додатків для підвищення їх продуктивності.

  • Створення практичних інструментів для аналізу та моніторингу багатопотокових систем в умовах реальних навантажень.

  • Оцінка ефективності застосування багатопотокових технологій у різних сферах діяльності, зокрема в обробці великих даних, онлайн-стрімінгу та фінансових технологіях.

Опис системи

Програма для оцінки ефективності багатопотокових технологій буде містити кілька варіантів реалізації задач з використанням різних підходів до багатопотоковості (Java Threads, Executor Framework, ForkJoinPool). Для вимірювання результатів буде використовуватись JMH, а також система моніторингу та логування, така як SLF4J або Grafana.

Система включає:

  • Інтерфейс для вибору методу багатопотоковості.

  • Механізм моніторингу продуктивності та ресурсів.

  • Звітність за результатами тестування для порівняння різних підходів до багатопотоковості.

Висновки

Дослідження багатопотокових технологій Java показує важливість оптимізації обробки паралельних задач для підвищення продуктивності та ефективності програмних рішень. Різноманітність інструментів і підходів до багатопотоковості дозволяє адаптувати рішення до специфічних вимог проектів, а також забезпечити високу масштабованість і надійність розподілених систем.

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