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

Параллельные и распределенные вычислительные системы

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

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

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

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

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

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

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

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

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

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

Заведующий кафедрой
Псарев Владимир Иванович


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

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

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

Протокол от 14.06.2019 г. № 12
Заведующий кафедрой Псарев Владимир Иванович


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

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

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

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

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

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

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

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

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

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Бройдо В.Л., Ильина О.П. Вычислительные системы, сети и телекоммуникации: учеб. пособие для вузов СПб.: Питер, 2011
Л1.2 В. Г. Олифер, Н. А. Олифер Компьютерные сети. Принципы, технологии, протоколы: учеб. пособие для вузов Питер, 2005
Л1.3 Энтони Уильямс Параллельное программирование на C++ в действии. Практика разработки многопоточных программ: Учебные пособия Издательство "ДМК Пресс", 2012 e.lanbook.com
Л1.4 А. А. Малявко Параллельное программирование на основе технологий openmp, mpi, cuda: учебное пособие для академического бакалавриата М. : Издательство Юрайт, 2015 // ЭБС "Юрайт" www.biblio-online.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Воеводин В.В., Воеводин Вл.В. Параллельные вычисления: для бакалавров и магистров БХВ -Петербург, 2002 booksee.org
Л2.2 Биллиг В. А. Параллельные вычисления и многопоточное программирование: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 biblioclub.ru
Л2.3 Туральчук К. А. Параллельное программирование с помощью языка C#: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 biblioclub.ru
Л2.4 Николаев Е. И. Параллельные вычисления: Учебники и учебные пособия для ВУЗов СКФУ, 2016 biblioclub.ru
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Open MPI: Open Source High Performance Computing https://www.open-mpi.org/
Э2 Библиотека MPICH2 с реализацией стандарта MPI-2 http://www-unix.mcs.anl.gov/mpi/mpich2
Э3 Одна из наиболее распространенных реализаций MPI библиотека MPICH http://www-unix.mcs.anl.gov/mpi/mpich
Э4 Информационный ресурс Интернет с описанием стандарта MPI: http://www.mpiforum.org
Э5 Параллельные вычисления в России - http://parallel.ru
Э6 http://www.tests.specialist.ru/ Центр компьютерного обучения МГТУ им. Н.Э.Баумана.
Э7 http://www.lib.msu.su Библиотека МГУ
Э8 http://www.elibrary.ru Научная электронная библиотека РФФИ
Э9 http://www.nlr.ru РНБ Российская национальная библиотека
Э10 http://ban.pu.ru БАН Библиотека Академии наук
Э11 http://www.gpntb.ru ГПНТБ Государственная публичная научно-техническая библиотека
Э12 http://www.rsl.ru РГБ Российская государственная библиотека
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. Материально-техническое обеспечение дисциплины

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

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

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

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

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

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

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