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

Навчальна дисципліна професійної підготовки
Обсяг освітнього компонента: 
• у кредитах ЄКТС — 3.0.
Кількість аудиторних занять: 
16 годин лекційних занять, 30 годин лабораторних занять..
Індивідуальна робота: 
• очна форма — розрахунково-графічна робота.
Семестровий контроль: 
Test.
Освітню компоненту забезпечує: 
Анотація: 

Анотація навчальної дисципліни

Мета дисципліни:

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

Завдання дисципліни:
  • Освоєння принципів функціонування розподілених систем.
  • Набуття практичних навичок роботи з розподіленими транзакцями.
  • Навчитися використовувати патерни проектування розподілених систем.
  • Освоєння принципів роботи з інструментарієм для паралельних обчислень;
  • Навчитися використовувати можливості платформи .NET для створення паралельних програм для систем з загальною та розподіленою пам'яттю.

 

 Програмні компетентності

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

 

Програмні результати навчання

Аргументувати вибір програмних та технічних засобів для створення ІСТ на основі аналізу їх властивостей, призначення і технічних характеристик з урахуванням вимог до системи і експлуатаційних умов; мати навички налагодження та тестування програмних і технічних засобів ІСТ.

Вміти обґрунтовувати вибір технічної структури та розробляти відповідне програмне забезпечення, що входить до складу ІСТ.

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

Вміти розробляти вимоги і специфікації апаратного та програмного забезпечення для реалізації паралельної обробки інформації; паралельні програми середньої складності, орієнтовані на реалізацію в середовищі MPI; визначати якісну та кількісну оцінки ефективності розроблених паралельних алгоритмів та програм.

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

 

Кількість аудиторних занять

16 годин лекційних занять, 30 годин лабораторних занять.

 

Форми організації освітнього процесу та види навчальних занять

  • Л – лекційні заняття;
  • ЛЗ – лабораторні заняття;
  • СРС – самостійна робота здобувача вищої освіти;
  • РГР – розрахунково-графічна робота;
  • МКР – модульна контрольна робота;
  • К – консультації.

 

Тематика та види навчальних занять

  • 1 тиждень
    • Л1. Архітектура розподілених систем. Зв'язок, процеси, іменування,  синхронізація,  відмовостійкість,  несуперечність і реплікація, захист в розподілених системах. Парадигми розподілених систем[1, c.55-101, 161-163, 234-237, 294-297, 353-355, 420-423, 499-501, 552-555]. 
    • ЛЗ1. Виконання оновлення даних у рамках локальної транзакції [9, c.4-7, 16-22].
    • СРС. К.
  • 2 тиждень
    • ЛЗ2. Вибір відповідного  рівня  ізоляції  транзакції [9, с.7-13, 20-22].
    • СРС. К.
  • 3 тиждень
    • Л2. Одновузлові патерни проектування[2, с.7-37].
    • ЛЗ3. Включення оновлення даних до складу розподіленої транзакції [9, с.13-15, 24-27].
    • СРС. К.
  • 4 тиждень
    • ЛЗ4. Управління транзакціями на рівні даних[9, с.15-16, 22-24].
    • СРС. К.
  • 5 тиждень
    • Л3. Патерни проектування обслуговуючих систем[2, с.41-103]. 
    • ЛЗ5. Читання  збережених даних при використанні блокувань[9, с. 28-31, 43-45].
    • СРС. К.
  • 6 тиждень
    • ЛЗ6. Читання збережених даних при використанні ізоляції рівня Read Committed with Statement-Level Snapshots [9, с. 31-33, 43-48].
    • СРС. К.
  • 7 тиждень
    • Л4. Патерни проектування систем пакетних обчислень[2, с. 109-138].
    • ЛЗ7. Читання збережених даних при використанні ізоляції рівня Read Committed with Transaction-Level Snapshots[9, с. 33-35, 43-48].
    • СРС. К.
  • 8 тиждень
    • ЛЗ8. Паралельна обробка даних з використанням ADO.NET[9, с. 36-43, 49-53].
    • МКР1. СРС. К.
  • 9 тиждень
    • Л5. Взаємодія з процесами в рамках платформи .NET.  Огляд делегатів [3, с.365-407, 631-656, 701-712]. 
    • ЛЗ9. Створення похідного класу з делегатами[7, с.619-622].
    • СРС. К.
  • 10 тиждень
    • ЛЗ10. Виконання асинхронних задач з використанням компонента BackgroundWorker[7, с.607-609].
    • СРС. К.
  • 11 тиждень
    • Л6. Основи багатопотокової обробки[3, с.714-733, 4,  с.20-81; 5, с.33-136].
    • ЛЗ11. Створення багатопотокового додатку[7, с.619, 622].
    • СРС. К.
  • 12 тиждень
    • ЛЗ12. Застосування моделі програмування додатків платформи JavaFx[8, с.759-782].
    • СРС. К.
  • 13 тиждень
    • Л7. Паралелізм задач. Паралелізм даних[3, с.734-744; 5, c. 137-212, 619-629; 6, c. 97-117, 182-246].
    • ЛЗ13. Використання класу Parallel[5 с. 183-211].
    • СРС. К.
  • 14 тиждень
    • ЛЗ14. Керування процесом паралельних обчислень[7, c.661-676]. 
    • СРС. К.
  • 15 тиждень
    • Л8. Використання Parallel LINQ[3, с. 445-478,745-747, 5, c.271-296, 6, c. 118-147].
    • ЛЗ15. Використання технології PLINQ[5, с.271-291]. 
    • МКР2. СРС. К.

 

Індивідуальна робота

Виконується РГР. 

Мета РГР: набуття загальних та спеціальних компетентностей майбутніх бакалаврів, поглиблення теоретичних знань з теми "« Підвищення продуктивності додатку»" стосовно до поглиблення, узагальнення і закріплення отриманих знань і навичок по організіції транзакцій в системах клієнт-серверної архітектури, так і впровадження паралельних обчислень, які створюються для забезпечення ефективності системи. 

  • 1–3 тижні Отримання завдання. Обстеження системи. Визначення переліку задач модифікації системи. 
  • 4–8 тижні Організіція транзакцій. 
  • 9–14 тижні Впровадження паралельних обчислень
  • 15 тиждень Захист роботи.

 

Самостійна робота

Самостійна робота складає 44 годин. Розподіл самостійної роботи за видами навчальних робіт:

  • підготовка до лекційних занять – 8 годин;
  • підготовка до лабораторних занять – 21 година;
  • виконання РГР – 15 годин.

 

Процедура оцінювання

Система оцінювання рівня навчальних досягнень ґрунтується на принципах ЄКТС та є накопичувальною. Дисципліна поділяється на два семестрові модулі. Здобувачі протягом семестру готуються до лекційних та лабораторних занять, виконують 2 модульні контрольні роботи.

Модульні контрольні роботи № 1, № 2 виконуються у письмовій формі. Модульна робота складається з теоретичної частини (2 запитання) та практичної частини (1 задача). Відповідь на кожне теоретичне питання оцінюється максимум 5 балами. Правильне розв’язання задачі оцінюється в 10 балів.

Кожний модуль оцінюється у максимально можливі 50 балів.

Максимальна оцінка, яку може отримати здобувач за всі виконані види робіт – 100 балів.

Залік оцінюється за системою: «зараховано», «не зараховано». Оцінка «зараховано» виставляється за умови отримання не менш, ніж 60 балів за всі види робіт. Складання/перескладання заліку відбувається за встановленим деканатом розкладом.

Семестровий модуль № 1

  • ЛЗ1- ЛЗ8.  Оцінка за виконання – 20 балів. Термін виконання – 1-8 тиждень.
  • РГЗ(ч.1). Оцінка за виконання – 10 балів. Термін надання – 8 тиждень.
  • МК1. Модульна контрольна робота – 20 балів (8 тиждень). Перескладання можливе протягом 9–11 тижнів за розкладом консультацій.

Семестровий модуль № 2

  • ЛЗ9- ЛЗ15.  Оцінка за виконання – 20 балів. Термін виконання – 9-15 тиждень.
  • РГЗ(ч.2). Оцінка за виконання – 10 балів. Термін надання 14–15 тижні. 
  • МК2. Модульна контрольна робота – 20 балів (15 тиждень).

Підсумковим контролем дисципліни є залік за результатами виконаних лабораторних робіт, модульних контрольних робіт.

Максимальна оцінка за повний обсяг виконаних навчальних елементів дисципліни – 100 балів.

 

Умови допуску до підсумкового контролю

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

 

Політика освітнього процесу

Здобувач зобов’язаний своєчасно та якісно виконувати всі отримані завдання; за необхідністю з метою з’ясування всіх не зрозумілих під час самостійної та індивідуальної роботи питань, відвідувати консультації викладача. Дотримуватись принципів академічної доброчесності. 

Виконаний не свій варіант завдання здобувачем не оцінюється.

Робота, яка виконана після встановлених викладачем термінів, не приймається.

Відсутність здобувача на контрольній роботі відповідає оцінці «0».

Під час лекції здійснювати телефонні дзвінки забороняється.

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

 

РЕКОМЕНДОВАНА ЛІТЕРАТУРА

  1. Steen M., Tanenbaum A. Distributed-systems – Pearson Education. – 2017. – 596 с. ([Електронний ресурс] - Режим доступу: https://www.pdfdrive.com/distributed-systems-3rd-edition-d189433770.html)
  2. Burns B. Designing Distributed Systems. — O’Reilly Media, 2017. — 149 с. ([Електронний ресурс] - Режим доступу: https://www.pdfdrive.com/designing-distributed-systems-patterns-and-para...)
  3. Troelsen A.,  Japikse P. Pro C# 7: With .NET and .NET Core. - APress. Inc.,2017.- 1372 c. ([Електронний ресурс] - Режим доступу: https://www.pdfdrive.com/pro-c-7-with-net-and-net-core-d183552783.html)
  4. Семеренко, В. П. Технології паралельних обчислень : навчальний посібник. – Вінниця : ВНТУ, 2017. – 104 с. ([Електронний ресурс] - Режим доступу: https://www.researchgate.net/publication/334710599_V_P_Semerenko_TEHNOLO....
  5. Ringler R. C# Multithreaded and Parallel Programming. Birmingham: Packt Publishing, 2014. – 323c. ([Електронний ресурс] - Режим доступу: https://www.pdfdrive.com/c-multithreaded-and-parallel-programming-develo...
  6. Terrell R. Concurrency in .NET. Shelter Island: Manning, 2017. – 534c. ([Електронний ресурс] - Режим доступу: https://www.pdfdrive.com/concurrency-in-net-modern-patterns-of-concurren....
  7. Stoecker M., Stein S. MTCS Exam 70-505: Microsoft .NET Framework 3.5 – Windows Forms Application Development. Microsoft Press, 2009. – 746c. ([Електронний ресурс] - Режим доступу: https://www.pdfdrive.com/mcts-self-paced-training-kit-exam-70-505-micros...
  8. Horstmann C.S. Core Java. Volume 1- Fundamentals. – Pearson Education, 2015. – 864с. . ([Електронний ресурс] - Режим доступу: https://www.pdfdrive.com/core-java-volume-ifundamentals-e34499118.html).
  9. Гришин С.І. Розподілена обробка інформації та комп’ютерні мережі. Методичні вказівки для студентів спеціальністі 8.05010101. Одеса: Видавництво ОНМУ, 2012.-70с.
  10. Гришин С.І. Розподілена обробка інформації та комп’ютерні мережі. Завдання для самостійної роботи студентів спеціальністі 8.05010101. Одеса: Видавництво ОНМУ, 2014.-41с.

 

6. Інформаційні ресурси.

  1. Сайт Microsoft Docs. Технічна документація, API, зразкі коду. - [Електронний ресурс]  -Режим доступу: https://docs.microsoft.com/uk-ua/.
  2. Microsoft Virtual Academy. Безкоштовна можливість навчання новітнім технологіям Microsoft. - [Електронний ресурс] - Режим доступу: https://mva.microsoft.com
2017