Розподілені обчислення
Анотація навчальної дисципліни
Мета дисципліни:
надання знань з теоретичних основ організації розподілених обчислень, оволодіння основними прийомами побудови алгоритмів для вирішення розподіленихзадач в області інженерії програмного забезпечення та їх програмної реалізації з використанням бібліотеки функцій MPI.
Задачі дисципліни:
Здатність застосовуватифундаментальні і міждисциплінарні знаннядля успішного розв’язання завдань інженерії програмного забезпечення:
аналізувати, цілеспрямовано шукати і вибирати необхідні длявирішення професійних завдань інформаційно-довідникові ресурси ізнання з урахуванням сучасних досягнень науки і техніки;
знати і застосовувати відповідні математичні поняття, методидоменного, системного і об’єктно-орієнтованого аналізу та математичногомоделювання для розробки програмного забезпечення.
знати і застосовувати на практиці фундаментальні концепції,парадигми і основні принципи функціонування мовних, інструментальних іобчислювальних засобів інженерії програмного забезпечення.
Здатність здійснювати процес інтеграціїсистеми, застосовувати стандарти іпроцедури управління змінами дляпідтримки цілісності, загальноїфункціональності і надійності програмного забезпечення:
знати основні процеси, фази та ітерації життєвого циклу програмного забезпечення;
знати і застосовувати професійні стандарти і інші нормативно-правовідокументи в галузі інженерії програмного забезпечення.
мати навички командної розробки, погодження, оформлення івипуску всіх видів програмної документації.
Основні результати навчання
Знати і застосовувати методи розробки алгоритмів, конструювання програмного забезпечення та структур даних і знань.
Застосовувати на практиці інструментальні програмні засоби доменного аналізу, проектування, тестування, візуалізації, вимірювань та документування програмного забезпечення.
Форми організації освітнього процесу та види навчальних занять
Л – лекційні заняття; ЛЗ – лабораторні заняття; СРС – самостійна робота здобувача вищої освіти; МКР – модульна контрольна робота; К – консультації.
Тематика та види навчальних занять
1 тиждень
Л1. Мета і задачі дисципліни. Місце дисципліни в теорії та практиці обробки інформації. Структура і зміст дисципліни. Контрольні заходи.
Форми представлення даних в розподілених та паралельних обчислювальних системах (ОС). Відміни розподілених та паралельних ОС. Розподілена обробка даних.
СРС. К.
2 тиждень
Л2. Необхідність побудови паралельних ОС. Класи задач, які вирішуються на ПОС; структурний і алгоритмичний (процедурний) підходи до рішення задач, приклади. Рішення задач в реальному масштабі часу.
Трудності на шляху до реалізації паралелізму: закон Гроша; гипотезаМинського; закон Амдала. Проблеми, перспективи.
ЛЗ1. MPI-технологія паралельного програмування
СРС. К.
3 тиждень
Л3. Способи організації паралельної обробки інформації. Види паралелізму: природний, незалежний гілок, об’єктів і/або даних; конвеєрна обробка, рівні конвеєризації
СРС. К.
4 тиждень
Л4. Послідовні та паралельні архітектури. Систематика Флінна (множиність потоків команд і даних). Класи ПОС: ОКОД, ОКМД, МКОД, МКМД. Інші систематики.
ЛЗ2. Обчислення константи Пі
СРС. К.
5 тиждень
Л5 Систематика сучасних ПОС: взаємодія «пам'ять-процесор» як головний признак систематики. Багатопроцесорні системи: симетричні (SMP), масовопаралельні (МРР), NUMA-системи. Їх архітектури й особливості. Топологія зв’язків процесорів в МРР-системах.
Суперкомп’ютери (СК). Векторно-конвеєрні СК фірми CRAY. СК фірми Ельбрус. Інтелектуальні СК .Cуперкомп'ютери з масовим паралелізмом з програмованою архітектурою. Кластерні системи.
СРС. К.
6 тиждень
Л6. Передумови виникнення розподілених систем (РС). Види РС: мережі переносу маси та енергії, організаційні системи, корпорації, системи державного адміністративного управління і контролю, банківські системи та інше. Локальні та глобальні цілі. Розподілені цілі та задачі. Роздільне рішення локальних задач, формування рішення глобальної задачи із рішень локальних задач.
ЛЗ3.Обчислювальний процес перемноження матриць з використанням топології «кільце» и MPI-функцій.
СРС. К.
7 тиждень
Л7. Визначення надійності, характеристики надійності: відмова, збій, розподіл відмов, інтенсивність відмов, середній час напрацювання на відмову. Безпека РС, порівняння зосереджених і розподілених систем з точки зору надійності та безпеки. Оптимізація проектування РС; побудова розподілених алгоритмів, відмовостійких та стабілізуючих.
СРС. К.
8 тиждень
Л8. Зв’язок задач і алгоритмів. Прикладиформалізації розподілених задач і алгоритмів. Застосування розподілених систем для прискорення рішення зосереджених задач.
ЛЗ4. Дослідження режимів обміну даними в розподілених системах з основними топологіями.
МКР1. СРС. К.
9 тиждень
Л9. Засоби опису розподілених систем. Подійно-орієнтований підхід. Опис багаторівневої розподіленої архітектури. Опис поведінки. Опис структури повідомлень.
СРС. К.
10 тиждень
Л10. Зв’зок між обчислювальними вузлами розподіленої системи. Хвиля, хвильові алгоритми; ініціатори, не-ініціатори. Топології РС. Хвильовий алгоритм для кільцевій архітектури і для архітектури дерева. Алгоритм голосування. Алгоритм «Луна».
ЛЗ5. Обчислювальний процес апроксимації заданої функції поліномами Чебишова. Послідовний варіант
СРС. К.
11 тиждень
Л11. Алгоритми обходу сайту: визначення, властивості, види, особливості. Алгоритми голосування, обходу повного графа, «Ехо», Таррі: призначення, сфера застосування, функції, реалізація; псевдокоди для всіх сайтів.
СРС. К.
12 тиждень
Л12. Координатор, необхідність його вибору; оцінка сайту; організація вибору; алгоритм зміщення.
ЛЗ6. Обчислювальний процес апроксимації заданої функції поліномами Чебишова. Паралельний варіант
13 тиждень
Л13. Поняття програмного агента у РС. Властивості автономних агентів. Операції з агентами. Інтелектуальні агенти.
СРС. К.
14 тиждень
Л14. Мультиагентні системи. Приклад рішення задачі управління на основі мультиагентної системи.
ЛЗ4. Підведенняітогів.
МКР2.СРС. К.
15 тиждень
Л15. Огляд матеріалу. Перспективи розвитку РС
СРС.
Процедура оцінювання
Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Здобувачі протягом семестру готуються до лекційних, практичних та лабораторних занять, виконують 2 модульні контрольні роботи.
Для забезпечення оперативного контролю за успішністю та якістю рівня навчальних досягнень здобувачів вищої освіти дисципліна поділяється на два семестрові модулі.
Кожний модуль оцінюється у максимально можливі 50 балів:
Модульна робота складається з теоретичної частини та практичної частини - задач.
Максимальна оцінка за правильне виконання теоретичної частини модульної роботи №1 становить 15 балів, за виконання практичної частини – 20 балів. Максимальна оцінка за правильне виконання теоретичної частини модульної роботи №2 становить 15 балів, за виконання практичної частини – 20 балів.
Кількість питань теоретичної частини модульної роботи №1 – 3. Кожна правильна відповідь оцінюється в 5 балів. Кількість питань теоретичної частини модульної роботи №2 – 3. Кожна правильна відповідь оцінюється в 5 балів.
Кількість задач модульної роботи №1 – 2. Правильне розв’язання кожної задачі оцінюється в 10 балів. Задача вважається розв’язаною, якщо коректно визначені її структури даних, витриманий правильний набір та послідовність операторів для реалізації алгоритму, коректно записано ввід початкових даних та вивід результату. Кількість задач модульної роботи №2– 2. Правильне розв’язання кожної задачі оцінюється в 10 балів. Кожна задача вважається розв’язаною, якщо при її розв’язанні коректно побудовано алгоритм, а його усі кроки обґрунтовано,обрані адекватні структури даних.
Максимальна оцінка, яку може отримати здобувач за всі виконані види робіт, – 100 балів.
Підсумковим контролем з дисципліни є залік, білет до якого складається з теоретичної частини (2 запитання) та практичної частини (3 задачі). За бездоганну відповідь на кожне теоретичне питання студент отримує 40 балів. За бездоганне виконання кожного завдання практичної частини студент отримує 60 балів.
Максимальна оцінка за правильні відповіді на всі питання екзаменаційного білету становить 100 балів.
Семестровий модуль № 1
ЛЗ1- ЛЗ3. Оцінка за виконання – 15 балів. Термін виконання – 1-8 тиждень.
МК1. Модульна контрольна робота – 35 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.
Семестровий модуль № 2
ЛЗ4– ЛЗ6. Оцінка за виконання – 15 балів. Термін виконання – 9-15 тиждень.
МК2. Модульна контрольна робота – 35 балів (14 тиждень).
Умови допуску до підсумкового контролю
До екзамену допускаються здобувачі вищої освіти, які виконали всі види навчальних елементів навчальної дисципліни на не менш, ніж на 60%.
Залік відбувається за всіма тематичними (змістовними) модулями дисципліни.
Політика освітнього процесу
Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх незрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності.
Виконаний не свій варіант завдання здобувачем не оцінюється.
Робота, яка виконана після встановлених викладачем термінів, не приймається.
Відсутність здобувача на екзамені або на контрольній роботі відповідає оцінці «0».
Складання/перескладання екзаменів – за встановленим деканатом розкладом.
Під час лекції здійснювати телефонні дзвінки забороняється.
Заборонено використання будь-яких підручників, посібників, конспектів лекцій, шпаргалок під час проходження модульних контролів та екзамену з дисципліни.
Документи (файли), що додаються: Робоча програма навчальної дисципліни.