Технології розподілених систем та паралельних обчислень

Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 4.5.
Кількість аудиторних занять: 
15 лекцій, 7 лабораторних занять.
Семестровий контроль: 
Екзамен.
Анотація: 

Мета вивчення дисципліни: Засвоєння науково-теоретичних знань про типові архітектури розподілених систем, технології їх створення, хмарні технології та сервіси, а також принципи паралельних програмних систем. Набуття вмінь і навичок роботи з організації та виконання паралельних та розподілених обчислень.

Практичне значення та використання отриманих знань 

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

Основні результати навчання

ПРН2. Використовувати сучасний математичний апарат неперервного та дискретного аналізу, лінійної алгебри, аналітичної геометрії, в професійній діяльності для розв’язання задач теоретичного та прикладного характеру в процесі проектування та реалізації об’єктів інформатизації.
ПРН6. Використовувати методи чисельного диференціювання та інтегрування функцій, розв'язання звичайних диференціальних та інтегральних рівнянь, особливостей чисельних методів та можливостей їх адаптації до інженерних задач, мати навички програмної реалізації чисельних методів.
ПРН10. Використовувати інструментальні засоби розробки клієнт-серверних застосувань, проектувати концептуальні, логічні та фізичні моделі баз даних, розробляти та оптимізувати запити до них, створювати розподілені бази даних, сховища та вітрини даних, бази знань, у тому числі на хмарних сервісах, із застосуванням мов веб-програмування.
ПРН17. Виконувати паралельні та розподілені обчислення, застосовувати чисельні методи та алгоритми для паралельних структур, мови паралельного програмування при розробці та експлуатації паралельного та розподіленого програмного забезпечення.
 
Тематика та види навчальних занять
 
1 тиждень.
Лекція 1 «Вступ. Типові архітектури розподілених систем».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
2 тиждень.
Лекція 2 «Використання API Java.net».
Лабораторне заняття 1 «Створення розподіленої системи з використанням API Java.net».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
3 тиждень.
Лекція 3 «Технологія RMI створення розподілених систем».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
4 тиждень.
Лекція 4 «Технологія Corba».
Лабораторне заняття 2 «Використання механізму об’єктних посилань і персистентних об’єктів на базі технології Corba».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
5 тиждень.
Лекція 5 «Технології Web-сервісів та їхній взаємозв’язок».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
6 тиждень.
Лекція 6 «Web-сервіси. Компіляція та розгортання».
Лабораторне заняття 3 «Створення Web-сервісу».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
7 тиждень.
Лекція 7 «Технологія JMS».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
8 тиждень.
Лекція 8 «Хмарні технології та сервіси».
Лабораторне заняття 4 «Робота з хмарними сервісами зберігання».
Самостійна робота здобувача вищої освіти. Консультації викладача.
Модульна контрольна робота 1.
 
9 тиждень.
Лекція 9 «Вступ до паралельних обчислень. Проблеми розробки паралельних додатків».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
10 тиждень.
Лекція 10 «Внутрішній паралелізм. Потоки».
Лабораторне заняття 5 «Робота з пулом потоків».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
 
11 тиждень.
Лекція 11 «Засоби синхронізації».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
12 тиждень.
Лекція 12 «Конкурентні колекції».
Лабораторне заняття 6 «Синхронізація доступу до одноелементного і багатоелементного буферу».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
13 тиждень.
Лекція 13 «Класи бібліотеки TPL».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
14 тиждень.
Лекція 14 «Шаблони паралелізму класу Parallel».
Лабораторне заняття 7 «Реалізація паралелізму в Visual Studio».
Самостійна робота здобувача вищої освіти. Консультації викладача.
 
15 тиждень.
Лекція 15 «Розділення даних під час виконання PLINQ-запитів».
Самостійна робота здобувача вищої освіти. Консультації викладача.
Модульна контрольна робота 2.
 
Оцінювання результатів навчання

Оцінювання результатів навчання з дисципліни здійснюється за накопичувальною системою, яка дає можливість здобувачеві протягом семестру отримати максимально 100 балів.
Модуль 1
Повне виконання Контрольного завдання 1 – максимально 6 балів.
Правильне виконання лабораторної роботи – максимально по 6 балів за заняття.
Модульна контрольна робота 1 – бездоганне виконання 20 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).
Модуль 2
Повне виконання Контрольного завдання 2 – максимально 12 балів.
Правильне виконання лабораторної роботи – максимально по 6 балів за заняття.
Модульна контрольна робота 2 – бездоганне виконання 20 балів (в кожному завданні модульної контрольної роботи наведено максимальну кількість балів за виконання кожного завдання).

Посилання на рекомендовані джерела

1. Семеренко В. П. Технології паралельних обчислень: навчальний посібник. – Вінниця: ВНТУ, 2018. – 104 с.
2. Шликов В.В., Данілова В.А. Високопродуктивні розподілені обчислювальні системи: Практикум. – Київ: КПІ ім. Ігоря Сікорського, 2018. – 108 с.
3. Robey R., Zamora Y. Parallel and High Performance Computing. − Manning, 2021. – 704 p.
4. Hemanth D.J., Elhosney M., Nguyen T.N., Lakshmanan S. Advances in parallel computing technologies and applications. − IOS Press, 2021. – 448 p.
5. Глоба Л.С. Розробка інформаційних ресурсів та систем. Том 1: Розподілені системи. – [Електронний ресурс] – Режим доступу: http://www.dut.edu.ua/uploads/l_1690_29298415.pdf
6. Глоба Л.С.. Розробка інформаційних ресурсів та систем. Том 2: Розподілені системи. – [Електронний ресурс] – Режим доступу: http://www.dut.edu.ua/uploads/l_1690_27125554.pdf

2022 рік