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

Код модулів:

Тип модулів: нормативні

Семестр: сьомий, восьмий

Обсяг модулів: загальна кількість годин – 162 (кредитів ЄKTC – 5,4), аудиторні години – 56 (лекції – 24 години, лабораторні роботи – 20 годин, практичні заняття – 12 годин).

Лектор: к.т.н., доцент Славко Олена Геннадіївна

Результати навчання:

У результаті вивчення модулю студент повинен:

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

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

Спосіб навчання (аудиторне, дистанційне навчання): аудиторне.

Необхідні обов’язкові попередні та супутні модулі:

  • обчислювальна техніка;

  • комп’ютерні системи;

  • програмування;

  • архітектура комп’ютерів.

Зміст навчальних модулів:

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

Модуль 2: технології паралельного програмування (задача розміщення, оптимізація обміну даними, засоби опису паралельних процесів), технології взаємодії та синхронізації процесів (засоби взаємодії та синхронізації процесів, задача взаємного виключення).

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

1. Бекон Д. Операционные системы / Бекон Д., Харрис Т.; пер. с англ. – СПб.: Питер; Киев: Издательская группа BHV, 2004. – 800 с.

2. Вальковский В.А. Распараллеливание алгоритмов и программ. Структурный подход / В.А. Вальковский. – М.: Радио и связь, 1989. – 176 с.

3. Воеводин В.В. Параллельные  вычисления / В.В. Воеводин, В.В. Воеводин. – СПб.: БХВ-Петербург, 2002. – 608 с.

4. Гергель В.П. Основы  параллельных вычислений для многопроцессорных вычислительных систем. Учебное пособие / В.П. Гергель, Р.Г. Стронгин. – Нижний Новгород: Изд-во ННГУ, 2003. – 184 с.

5. Кейслер С. Проектирование операционных систем для малых ЭВМ / С. Кейслер; пер. с англ. – М.: Мир, 1986. – 680 с.

6. Корнеев В.Д. Параллельное программирование в MPI / В.Д. Корнеев. – Новосибирск: Изд-во СО РАН, 2000. – 213 с.

7. Немнюгин С.А. Параллельное программирование для многопроцессорных вычислительных систем / С.А. Немнюгин, О.Л. Стесик. – СПб.: БХВ-Петербург, 2002. – 400с.

8. Ортега Дж. Введение в параллельнные и векторные методы решения линейных систем / Дж. Ортега; пер. с англ. – М.: Мир, 1991. – 367 с.

9. Рихтер Дж. Windows  для  профессионалов: создание эффективных Win32-приложений с учетом специфики 64-разрядной версии Windows / Дж. Рихтер; пер. с англ. – СПб.: «Русская Редакция», 2000. – 752 с.

10. Стивенс У. Unix: Разработка сетевых приложений / У. Стивенс; пер. с англ. – СПб: Питер, 2004. – 1086 с.

11. Таненбаум Э. Распределенные системы. Принципы и парадигмы. Серия «Классика computer science». / Э. Таненбаум, Ван Стеен; пер. с англ. – СПб.: Питер, 2003. – 877 с.

12. Таненбаум Э. Современные операционные системы / Э. Таненбаум; пер. с англ. – СПб.: Питер, 2007 г. – 1040 с.

13. Хьюз К. Параллельное и распределенное программирование на C++ / К. Хьюз Т. Хьюз; пер. с англ. – М.: Издательский дом «Вильямс», 2004. – 672 с.

14. Теренс Ч. Системное программирование на С++ для UNIX. / Ч. Теренс.; пер. с англ. СПб: БХВ-Петербург, 1999. – 592 с.

15. Шоу A. Логическое  проектирование операционных  систем. / A. Шоу; пер. с англ. – М.: Мир, 1981. – 360 с.

16. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования / Эндрюс, Грегори Р.; пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 512 с.

Форми і методи навчання:

Лекції, лабораторні заняття, практичні заняття, консультації, самостійна робота.

Методи і критерії оцінювання:

  • Поточний контроль (30 %): контроль знань під час лабораторних і практичних занять, перевірка контрольних робіт;

  • Підсумковий контроль (70 %): залік, іспит.

Мова навчання: українська.

Викладачі: 
Зображення користувача ogslavko.

Славко Олена