Паралельні та розподілені обчислення (КН)

Тип: Нормативний

Кафедра: системного проектування

Навчальний план

СеместрКредитиЗвітність
64Іспит

Лекції

СеместрК-сть годинЛекторГрупа(и)
632доцент Шувар Р. Я.ФеІ-31, ФеІ-32, ФеІ-33, ФеІ-34

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
632ФеІ-31Ковтко Р. Т., Кулик П. Р.
ФеІ-32Кулик П. Р.
ФеІ-33Кулик П. Р.
ФеІ-34Кулик П. Р.

Опис навчальної дисципліни

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

Цілі: забезпечити знайомство студентів з загальною теорією методів паралельних та розподілених обчислень і сформувати навички їх практичного використання; навчити студента вибирати і обґрунтувати методи розв’язування задач за допомогою паралельного та розподіленого виконання програм, вказати область їх застосування, записати алгоритм розв’язання, реалізувати його на персональному комп’ютері.

У результаті вивчення даного курсу студент буде:

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

вміти:
застосовувати знання для розв’язування прикладних задач, а саме керувати та реалізовувати взаємодію процесів, моделювати паралельні та розподілені обчислення, створювати та налагоджувати паралельні та розподілені програми, здійснювати побудову паралельних та розподілених алгоритмів, створювати програми із застосуванням багатьох процесів (потоків). Реалізовувати синхронні або асинхронні варіанти паралельних та розподілених процесів з використанням бібліотек MPI / OpenMP / CUDA / HTCondor / Hadoop, за допомогою стандартних засобів мови програмування С.

Рекомендована література

Основна література:

  1. В. Ю. Вінник. Алгоритмічні мови та основи програмування: мова С. Навчальний посібник. – Житомир: ЖДТУ, 2007. 328 ст.
  2. Рольщиков В. Б. Технології розподілених систем та паралельних обчис-лень. Конспект лекцій. Одеса: ОДЕКУ 2016.155 ст.
  3. Коцовський В.М. Теорія паралельних обчислень: навчальний посібник. Ужгород: ПП «АУТДОР-Шарк», 2021. 188 с.
  4. Семеренко, В. П. Технології паралельних обчислень : навчальний посі-бник / Семеренко В. П. – Вінниця : ВНТУ, 2018. – 104 ст.
  5. Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., and Melon, R. (2000). Parallel Programming in OpenMP. San-Francisco, CA: Morgan Kaufmann Publishers.
  6. OpenMP Common Core: Making OpenMP Simple Again – Tim Mattson, Helen He, Alice Koniges (2019).
  7. William Gropp Ewing Lusk, Anthony Skjellum. Using MPI, third edition: Portable Parallel Programming with the Message-Passing Interface (Scientific and Engineering Computation) Paperback – November 7, 2014
  8. Edward Kandrot. CUDA by Example: An Introduction to General-Purpose GPU Programming. Michigan, April 2012.
  9. Dr. Brian Tuomanen. Hands-On GPU Programming with Python and CUDA: Explore high-performance parallel computing with CUDA 1st Edition. Packt Publishing; 1st edition. November 27, 2018
  10. Tom Deakin, Timothy G. Mattson. Programming Your GPU with OpenMP. The MIT Press, November 7, 2023
  11.  Timothy G. Mattson, Yun (Helen) He and Alice E. Koniges. The OpenMP Common Core. Making OpenMP Simple Again. The MIT Press, November 19, 2019
  12.  Л.М. Олещенко Технології оброблення великих даних – Київ: КПІ ім. Ігоря Сікорського, 2021. – 227 с.

Додаткова література (Інтернет-ресурси):

  1. HTCondor Version 10.2.1 Manual. Available at: https://htcondor.readthedocs.io/en/latest/index.html
  2. OpenMP Reference Guide. Available at: https://www.openmp.org/resources/refguides/
  3. OpenMPI Documentation. Available at: https://www.open-mpi.org/doc/
  4. CUDA Toolkit Documentation 12.3 Update 1. Available at: https://docs.nvidia.com/cuda/ 
  5. Hadoop 3.3.6 Documentation. Available at: https://hadoop.apache.org/docs/stable/

Силабус: з навчальної дисципліни "Паралельні та розподілені обчислення" для ОПП “Комп’ютерні науки”

Завантажити силабус