МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Параллельные и распределенные вычислительные системы
рабочая программа дисциплины

Закреплена за кафедройКафедра цифровых технологий и бизнес-аналитики
Направление подготовки09.03.03. Прикладная информатика
ПрофильПрикладная информатика в экономике. ФГОС3++
Форма обученияЗаочная
Общая трудоемкость2 ЗЕТ
Учебный планz09_03_03_ПИЭ-2-2020
Часов по учебному плану 72
в том числе:
аудиторные занятия 10
самостоятельная работа 58
контроль 4
Виды контроля по курсам
зачеты: 2

Распределение часов по курсам

Курс 2 Итого
Вид занятий УПРПДУПРПД
Лекции 4 4 4 4
Лабораторные 6 6 6 6
Сам. работа 58 58 58 58
Часы на контроль 4 4 4 4
Итого 72 72 72 72

Программу составил(и):
канд.техн.наук, доцент, Стерлягов С.П.

Рецензент(ы):
канд.физ.-мат.наук, доцент, Патудин В.М.

Рабочая программа дисциплины
Параллельные и распределенные вычислительные системы

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования по направлению подготовки 09.03.03 Прикладная информатика (уровень бакалавриата) (приказ Минобрнауки России от 19.09.2017г. №922)

составлена на основании учебного плана:
09.03.03 Прикладная информатика
утвержденного учёным советом вуза от 30.06.2020 протокол № 6.

Рабочая программа одобрена на заседании кафедры
Кафедра цифровых технологий и бизнес-аналитики

Протокол от 14.06.2019 г. № 12
Срок действия программы: 2020-2021 уч. г.

Заведующий кафедрой
А.Ю. Юдинцев, канд.физ.-мат.наук, доцент

Визирование РПД для исполнения в очередном учебном году

Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2020-2021 учебном году на заседании кафедры

Кафедра цифровых технологий и бизнес-аналитики

Протокол от 14.06.2019 г. № 12
Заведующий кафедрой А.Ю. Юдинцев, канд.физ.-мат.наук, доцент

1. Цели освоения дисциплины

1.1.Освоение базовых знаний в области архитектуры современных многопроцессорных вычислительных систем, параллельной обработки информации, технологий организации параллельных вычислений на многопроцессорных вычислительных комплексах с распределенной или общей оперативной памятью.
Для достижения поставленной цели выделяются задачи курса:
• Изучение типов распределенных вычислительных систем;
• Изучение основных архитектур параллельных вычислительных комплексов:
• Изучение теоретических основ параллельных вычислений, параллельных алгоритмов;
• Изучение основных технологий параллельных и распределенных вычислений:
• Изучение современных методов и средств, использующихся при эксплуатации распределенных вычислительных систем;
• Изучение тенденций развития методов и средств организации распределенных вычислений.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: ФТД.В

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ПК-2: Способен разрабатывать и адаптировать прикладное программное обеспечение
ОПК-7: Способен разрабатывать алгоритмы и программы, пригодные для практического применения;
ОПК-1: Способен применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности;
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.- цели организации распределенных вычислений и вычислительных систем,
- типы распределенных вычислительных систем,
- требования к организации распределенных вычислений,
- основы методов и средств организации распределенных вычислений,
- понятие грид и принципы организации грид-систем
- понятие облачных вычислений,
- основные направления развития высокопроизводительных компьютеров;
- основные методики измерения производительности вычислительных систем;
- основные классификации многопроцессорных вычислительных систем;
- основные технологии и модели параллельного программирования;
- основы методов и средств решения задач на распределенных вычислительных системах.
3.2.Уметь:
3.2.1.- использовать теоретические основы параллельных и распределенных вычислительных систем в преподавательской и научно-исследовательской профессиональной деятельности;
- формулировать требования к организации распределенных вычислений,
- использовать современное программное обеспечение для организации распределенных вычислительных систем,
- разрабатывать распределенные вычислительные системы,
- проводить тестирование вычислительных комплексов с параллельной архитектурой;
- определять степень параллельного алгоритма, ускорение и эффективность на реальных вычислительных системах;
- проводить распараллеливание простейших алгоритмов;
- организовывать распределенное решение вычислительных задач;
- профессионально интерпретировать, описывать и представлять результаты научно-педагогической деятельности в области информатики.
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.- начальными навыками построения распределенных вычислительных систем;
- основами технологии параллельного программирования для вычислительных систем с общей и распределенной оперативной памятью на основе OpenMP и MPI;
- навыком построения параллельных аналогов вычислительных алгоритмов.
- проектирования исследовательской работы в рамках студенческого и научного коллективов.

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Курс Часов Компетенции Литература
Раздел 1. Теоретические основы параллельных и распределенных вычислительных систем
1.1. Принципы построения параллельных вычислительных систем Лекции 2 1 ПК-2, ОПК-7, ОПК-1 Л1.1, Л1.2, Л2.1, Л2.2, Л2.3, Л2.4
1.2. GRID-системы как суперсети и распределенные вычисления на их основе Лекции 2 0.5 ПК-2, ОПК-7, ОПК-1 Л1.1, Л1.2, Л2.1, Л2.4
1.3. Основы параллельных вычислений для многопроцессорных вычислительных систем Лекции 2 0.5 ПК-2, ОПК-7, ОПК-1 Л1.1, Л1.3, Л1.4, Л2.2, Л2.3
1.4. Программная система ParaLab как средство изучения и исследования методов параллельных вычислений Лабораторные 2 4 ПК-2, ОПК-7, ОПК-1 Л2.1, Л2.4
1.5. Изучение дополнительной литературы по дисциплине и Интернет-источников Сам. работа 2 10 ПК-2, ОПК-7, ОПК-1 Л1.1, Л1.2, Л2.1, Л2.2, Л2.3, Л2.4
1.6. Подготовка к сдаче практических заданий Сам. работа 2 10 ПК-2, ОПК-7, ОПК-1 Л1.1, Л2.1, Л1.3, Л1.4, Л2.2, Л2.3, Л2.4
Раздел 2. Основы разработки параллельных алгоритмов и программ
2.1. Принципы разработки параллельных алгоритмов и программ. Технология OpenMP Лекции 2 1 ПК-2, ОПК-7, ОПК-1 Л2.1, Л1.3, Л1.4, Л2.2, Л2.3, Л2.4
2.2. Принципы разработки параллельных алгоритмов и программ. Технология MPI Лекции 2 1 ПК-2, ОПК-7, ОПК-1 Л1.2, Л2.1, Л1.3, Л2.2, Л2.3, Л2.4
2.3. Тенденции развития средств организации распределенных вычислений Лабораторные 2 2 ПК-2, ОПК-7, ОПК-1 Л1.1, Л1.2, Л2.1, Л1.3, Л2.2, Л2.3, Л2.4
2.4. Изучение дополнительной литературы по дисциплине и Интернет-источников Сам. работа 2 8 ПК-2, ОПК-7, ОПК-1 Л1.1, Л1.2, Л2.1, Л1.3, Л2.2, Л2.3, Л2.4
2.5. Подготовка к сдаче практических заданий Сам. работа 2 14 ПК-2, ОПК-7, ОПК-1 Л2.1, Л1.3, Л1.4, Л2.2, Л2.3, Л2.4
2.6. Подготовка к тесту по дисциплине и его прохождение Сам. работа 2 16 ПК-2, ОПК-7, ОПК-1 Л1.1, Л1.2, Л2.1, Л2.2, Л2.3, Л2.4

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания
см. приложение
5.2. Темы письменных работ (эссе, рефераты, курсовые работы и др.)
см. приложение
5.3. Фонд оценочных средств
см. приложение
Приложения
Приложение 1.   ФОС ПРВС.doc

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Бройдо В.Л., Ильина О.П. Вычислительные системы, сети и телекоммуникации: учеб. пособие для вузов СПб.: Питер, 2011
Л1.2 В. Г. Олифер, Н. А. Олифер Компьютерные сети. Принципы, технологии, протоколы: учеб. пособие для вузов Питер, 2005
Л1.3 А. А. Малявко Параллельное программирование на основе технологий openmp, mpi, cuda: учебное пособие для академического бакалавриата М. : Издательство Юрайт, 2015 // ЭБС "Юрайт" https://www.biblio-online.ru/book/46BBEB77-8697-4FF5-BE49-711BB1388D50
Л1.4 Энтони Уильямс Параллельное программирование на C++ в действии. Практика разработки многопоточных программ: Учебные пособия Издательство "ДМК Пресс", 2012 https://e.lanbook.com/book/4813
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Воеводин В.В., Воеводин Вл.В. Параллельные вычисления: для бакалавров и магистров БХВ -Петербург, 2002 https://booksee.org/book/589570
Л2.2 Биллиг В. А. Параллельные вычисления и многопоточное программирование: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 http://biblioclub.ru/index.php?page=book_red&id=428948
Л2.3 Туральчук К. А. Параллельное программирование с помощью языка C#: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 http://biblioclub.ru/index.php?page=book_red&id=429098
Л2.4 Николаев Е. И. Параллельные вычисления: Учебники и учебные пособия для ВУЗов СКФУ, 2016 http://biblioclub.ru/index.php?page=book_red&id=459124
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 http://www.rsl.ru РГБ Российская государственная библиотека
Э2 http://www.gpntb.ru ГПНТБ Государственная публичная научно-техническая библиотека
Э3 http://ban.pu.ru БАН Библиотека Академии наук
Э4 http://www.nlr.ru РНБ Российская национальная библиотека
Э5 http://www.elibrary.ru Научная электронная библиотека РФФИ
Э6 http://www.lib.msu.su Библиотека МГУ
Э7 http://www.tests.specialist.ru/ Центр компьютерного обучения МГТУ им. Н.Э.Баумана.
Э8 Параллельные вычисления в России - http://parallel.ru
Э9 Информационный ресурс Интернет с описанием стандарта MPI: http://www.mpiforum.org
Э10 Одна из наиболее распространенных реализаций MPI библиотека MPICH http://www-unix.mcs.anl.gov/mpi/mpich
Э11 Библиотека MPICH2 с реализацией стандарта MPI-2 http://www-unix.mcs.anl.gov/mpi/mpich2
Э12 Open MPI: Open Source High Performance Computing https://www.open-mpi.org/
Э13 Курс на образовательном портале АлтГУ https://portal.edu.asu.ru/course/view.php?id=6975
6.3. Перечень программного обеспечения
Visual Studio, Microsoft Windows, Microsoft Office, 7-Zip, AcrobatReader, ParaLab
6.4. Перечень информационных справочных систем
Информационная справочная система:
СПС КонсультантПлюс (инсталлированный ресурс АлтГУ или http://www.consultant.ru/).
Профессиональные базы данных:
1. Электронная база данных «Scopus» (http://www.scopus.com);
2. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/);
3. Научная электронная библиотека elibrary (http://elibrary.ru)

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)
Помещение для самостоятельной работы помещение для самостоятельной работы обучающихся Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ
208С лаборатория информационных технологий - компьютерный класс – учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная; компьютеры: марка HP модель ProOne 400 G2 20-in Non-Touch AiO - 15 единиц
304С лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доска магнитно-маркерная; компьютеры: марка AsusTeK Computer INC модель P8B75-M; мониторы: марка ASUS модель VW224 - 15 единиц; плакат "Компьютер и безопасность"

8. Методические указания для обучающихся по освоению дисциплины

Потребность решения сложных прикладных задач с большим объемом вычислений и принципиальная ограниченность максимального быстродействия «классических» - по схеме фон Неймана - ЭВМ привели к появлению многопроцессорных вычислительных систем (МВС). Особую значимость параллельные вычисления приобрели с переходом компьютерной индустрии на массовый выпуск многоядерных процессоров.
Суперкомпьютерные технологии и высокопроизводительные вычисления с использованием параллельных вычислительных систем становятся важным фактором научно-технического прогресса; их применение принимает всеобщий характер.
Знание современных тенденций развития ЭВМ и аппаратных средств для достижения параллелизма, умение разрабатывать модели, методы и программы параллельного решения задач обработки данных следует отнести к числу важных квалификационных характеристик современного специалиста по прикладной математике, информатике и вычислительной технике.
Курс посвящен введению в проблематику многопроцессорных вычислительных систем и параллельного программирования. Рассматриваются вопросы оценки производительности и классификации многопроцессорных вычислительных систем, а также параллельное программирование на базе моделей OpenMP и MPI.

При изучении дисциплины предполагается, что слушатель имеет представление об архитектуре последовательных ЭВМ, периферийных и внутренних устройствах, обладает навыками программирования на языке С/С++/Fortran.

Дисциплина предусматривает проведение следующих видов учебных занятий: видеолекции, вебинары, самостоятельная работа слушателей в системе Moodle.

Текущий контроль осуществляется в форме проверки практических заданий, выполненных слушателями по каждой теме учебной дисциплины.

Практические задания
Выполнить оценку эффективности параллельных методов для разных топологий многопроцессорных вычислительных систем на основе использования программной лаборатории ParaLab как интегрированной системы для проведения вычислительных экспериментов с параллельными методами:
Провести эксперименты с разными параллельными методами и сравнить их эффективность. Определить наиболее оптимальную архитектуру вычислительной системы для каждого метода в отдельности:
1. Для задачи умножения матрицы на вектор
2. Для задачи матричного умножения
3. Для задачи сортировки данных
4. Для задач обработки графов
Для выполнения численных экспериментов необходимо в среде ParaLab выполнить следующие действия для каждой из четырех задач:
• Создать модель многопроцессорной вычислительной системы (выбор топологии, задание количества и производительности процессоров, выбор метода передачи данных и задание коммуникационных характеристик сети),
• Определить класс решаемой задачи и задать параметры задачи,
• Выбрать параллельный метод решения задачи и настроить значения его параметров,
• Установить графические индикаторы для наблюдения за процессом параллельных вычислений (состояние данных на процессорах системы, передача информации по сети, текущая оценка решения исходной вычислительной задачи),
• Провести эксперимент в режиме имитации вычислений серийным способом проведения экспериментов для разных вариантов топологии вычислительной системы, параметров задачи, количества процессоров и т.п.,
• Проанализировать результаты с использованием сведений из журнала экспериментов; оценить время решения задач в зависимости от размерности задачи и количества процессоров; построить зависимости ускорения и эффективности параллельных вычислений,
• Проведение эксперимент в режиме параллельных вычислений в виде множества независимых процессов на одном процессоре.
При выполнении заданий руководствоваться таблицей выполнимости методов при разных топологиях в ПараЛаб.