Государственное бюджетное образовательное учреждение высшего
профессионального образования Московской области
«Международный университет природы, общества и человека «Дубна»
(университет «Дубна»)
Институт системного анализа и управления
Кафедра системного анализа и управления
УТВЕРЖДАЮ
проректор по учебной работе С.В. Моржухина «_»_20 г.
Программа дисциплины Архитектура и технологии распределенных систем (наименование дисциплины) Направление подготовки 220100 Системный анализ и управление Магистерская программа «Системный анализ данных и моделей принятия решений»
Квалификация (степень) выпускника Магистр Форма обучения Очная г. Дубна, Автор программы (ученое звание, степень, ФИО полностью):
Земляная Елена Валериевна, ученое звание старший научный сотрудник, ученая степень доктор физико-математических наук (подпись) Программа составлена в соответствии с Федеральным государственным образовательным стандартом высшего профессионального образования и ПрООП ВПО по направлению подготовки 220100 «Системный анализ и управление», магистерская программа:
«Системный анализ данных и моделей принятия решений»
Программа рассмотрена на заседании кафедры Распределенных информационно-вычислительных систем (название кафедры) Протокол заседания № _ от «» 20 г.
Заведующий кафедрой, профессор_ /Кореньков В.В / (ученое звание) (подпись) (фамилия, имя, отчество) «» _ 20 г.
СОГЛАСОВАНО
Заведующий выпускающей кафедрой, профессор_ /Е.Н. Черемисина / (ученое звание) (подпись) (ФИО) «» _ 20 г.И.о. директора института, профессор_ / Е.Н. Черемисина / (ученое звание, степень) (подпись) «» _ 20 г.
Рецензент: _ (ученая степень, ученое звание, Ф.И.О., место работы, должность) «» _ 20 г.
Руководитель библиотечной системы _ / В.Г. Черепанова/ (подпись) (ФИО) «» _ 20 г.
Оглавление 1. Цель освоения дисциплины
2. Место дисциплины в структуре ООП магистратуры
3. Требования к уровню освоения содержания дисциплины
4. Объем дисциплины и виды учебной работы (час):
4.1 Структура преподавания дисциплины
4.2 Содержание разделов дисциплины
5. Образовательные технологии
6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов
7. Учебно-методическое и информационное обеспечение дисциплины
8. Материально-техническое обеспечение дисциплины
1. Цель освоения дисциплины Основными целями изучения дисциплины «Архитектура и технологии распределенных систем» является получение знаний об архитектуре современных вычислительных систем, о принципах организации параллельных и распределенных вычислений, и о современных технологиях параллельного программирования.
Дать студентам теоретические знания о классификации и направлениях развития современных высокопроизводительных систем (включая суперкомпьютеры, системы метакомпьютинга, многоядерные процессоры); о методах оценки реальной и пиковой производительности многопроцессорных систем; о принципах анализа структуры алгоритмов и программ и повышения их эффективности путем распараллеливания и векторизации вычислений.
Выработать и развить практические умения и навыки разработки параллельных алгоритмов и их компьютерной реализации на базе технологий MPI и OpenMP.
Задачи дисциплины:
Дисциплина должна обеспечить устойчивое знание об основных классах современных вычислительных систем и основных принципах организации высокопроизводительных вычислений.
В результате освоения курса студенты должны получить практические навыки работы с системами MPI и OpenMP 2. Место дисциплины в структуре ООП магистратуры Дисциплина «Архитектура и технологии распределенных систем» относится к разделу «Вариативная часть» М1.В «Обязательные дисциплины» М1В.ОД учебного плана ООП подготовки магистров по направлению 220100 «Системный анализ и управление», магистерская программа «Системный анализ данных и моделей принятия решений».
Перечень дисциплин, усвоение которых студентами необходимо для изучения дисциплины «Архитектура и технологии распределенных систем»:
- Программирование на С++ - Численные методы - Работа в OS Linux\Unix Формы работы студентов в ходе изучения дисциплины предусмотрены семинарские занятия, выполнение самостоятельных заданий.
Самостоятельная работа студентов, предусмотренная учебным планом выполняется в ходе семестра в форме разработки и компьютерной реализации параллельных алгоритмов.
Отдельные темы теоретического курса прорабатываются студентами самостоятельно в соответствии с планом самостоятельной работы и конкретными заданиями преподавателя с учетом индивидуальных особенностей студентов.
Виды текущего контроля – проверка самостоятельных и домашних заданий, устный опрос.
Форма итогового контроля экзамен 3. Требования к уровню освоения содержания дисциплины В результате изучения дисциплины студенты должны иметь общее представление об основных классах современных вычислительных систем; основных технологиях параллельного программирования; об основных принципах разработки параллельных алгоритмов и организации высокопроизводительных вычислений.
Компетенции обучающегося, формируемые в результате освоения дисциплины «Архитектура и технологии распределенных систем».
Список компетенций:
ПК-1 - способность вскрыть математическую, естественнонаучную и техническую сущность проблем, возникающих в ходе профессиональной деятельности, провести их качественно-количественный анализ ПК-3 - способность анализировать, синтезировать и критически резюмировать информацию ПК-8 - способность разработать и реализовать проекты по системному анализу сложных систем на основе современных информационных технологий (Web- и CALSтехнологий) ПК-10 - способность выбирать методы и разрабатывать алгоритмы решения задач управления сложными многомерными объектами управления ПК-11 - способность применять современные технологии создания сложных комплексов с использованием CASE-средств, контролировать качество разрабатываемых систем Знание:
Результат обучения Компетенция Образовательная Вид контроля современных вычислительных систем;
параллельного программирования умения:
Результат обучения компетенция Образовательная Вид контроля технологий MPI и OpenMP применение:
OpenMP владение:
анализ:
Результат обучения компетенция Образовательная Вид контроля алгоритмов и программ Оценка Результат обучения компетенция Образовательная Вид контроля Оценка эффективности ПК-3, ПК-7, ПК- С2,С21, С23, С26, Устный опрос, параллельных алгоритмов и программ 4. Объем дисциплины и виды учебной работы (час):
Заполнить согласно учебному плану (http://saudubna.ru/learningwork/uch-plans) Общая трудоемкость дисциплины составляет 4 зачетные единицы, 144 часов, из них 51 часа аудиторной нагрузки.
Общая трудоемкость Аудиторные занятия:
Лекции Практические занятия (ПЗ) Лабораторные работы (ЛР) Самостоятельная работа:
Вид итогового контроля 4.1 Структура преподавания дисциплины Содержание раздела вычислительных обработки данных повышения эффективности распараллеливания и векторизации вычислений 4.2 Содержание разделов дисциплины Первый раздел «Архитектура распределенных и параллельных вычислительных систем»
включает основные сведения об архитектуре, классификации и направлениях развития современных высокопроизводительных, теоретические и практические методы оценки производительности многопроцессорных систем.
Второй раздел «Технологии параллельной и распределенной обработки данных»
посвящен современным технологиям параллельного программирования и методам организации распределенных вычислений. Этот раздел включает практическое освоение технологий параллельного программирования на базе MPI и ОpenMP.
Третий раздел связан с методами анализа структуры алгоритмов и программ для выявления потенциала параллелизма, методами повышения эффективности программ путем распараллеливания и векторизации вычислений, принципами автоматического преобразования программ на основе графовых моделей.
5. Образовательные технологии В учебном процессе широко используются компьютеные презентации, активные и интерактивные формы (обсуждение отдельных разделов дисциплины, устный опрос), практическое освоение технологий параллельного программирования на многопроцессорном кластере ЛИТ ОИЯИ. В сочетании с внеаудиторной работой это способствует формированию и развитию профессиональных навыков обучающихся.
Перечень обязательных видов работы студента:
посещение семинарских занятий;
ответы на теоретические вопросы на семинаре;
выполнение практических заданий на семинаре;
выполнение домашних работ Интерактивные образовательные технологии, используемые в аудиторных занятиях При изучении теоретической части курса на семинарах предусматривается заложение материала в виде презентации. Разделы практической части дисциплины изучаются с использованием демонстраций на многопроцессорном кластере ЛИТ ОИЯИ.
Практические задания студенты также выполняют в режиме удаленного доступа на многопроцессорном кластере ЛИТ ОИЯИ.
Список семинаров С1 История появления параллелизма в архитектуре 1- вычислительных систем. Скалярная, конвейерная и параллельная обработка данных. Классификация и основные направления развития современных высокопроизводительных вычислительных систем.
С2 Пиковая и реальная производительность. Закон Амдала и 1- его следствия. Факторы, влияющие на производительность. Методы оценки эффективности вычислительных систем (бенчмарки).
С3 Векторно-конвейерные вычислительные системы. CRAY 1- C90: общая характеристика, параллелизм в архитектуре, векторная обработка данных. Оценка производительности векторно-конвейерных систем.
Факторы, снижающие производительность.
С4 Массивно-параллельные вычислительные системы. 3- Характеристика CRAY T3D/T3E: вычислительные узлы, процессорные элементы, коммуникационная сеть, аппаратная поддержка синхронизации параллельных процессов. Оценка производительности.
С5 Компьютеры с общей памятью. Иерархия памяти. 3- NUMA и ccNUMA архитектуры. Компьютеры Cm*, BBN Butterfly; Hewlett-Packard Superdome.
С6 Параллелизм в архитектуре современных процессоров 3- (суперскалярность, VILW, многоядерность).
Спецпроцессоры (CELL, GPU).
С7 Вычислительные кластеры. Российские кластерные 5- С8 Технология MPI. общая структура, общие процедуры, 5- группы, коммуникаторы, типы данных. ПР С9 Синхронное и асинхронное взаимодействие процессов, 5- объединение запросов на взаимодействие. ПР С12 Технология MPI: работа с группами процессов, 7- виртуальные топологии.
С13 Параллельная реализация умножения матрицы на вектор 9- С14 Параллельная реализация численного интегрирования 9- С15 OpenMP: общая концепция. Основные конструкции для 9- организации параллельных и последовательных секций, для распределения работы между нитями. ПР С16 OpenMP: синхронизациz нитей и работы с общими и 11- локальными данными, ПР С17 Linda: общая концепция, функции для работы с 11- пространством кортежей.
С19 Библиотека ScaLAPACK; коммуникационная система 13- ROUTER, технологии T-система, НОРМА С20 параллельные вычисления на графических процессорах 13- С21 Графовые модели программ. Граф алгоритма. Принцип 13- С22 Проект V-Ray для автоматизированного анализа 15- структуры и преобразования программ.
С23 Масштабируемость распределенных систем. Модели 15- вычислений. Парадигмы параллельного программирования.
С24 GRID и метакомпьютинг. Особенности глобально 15- распределенных сред.
С25 Технологии решения больших задач на распределенных системах. Проект X-Com.
С26 Способы векторизации и распараллеливания программ на примерах конкретных алгоритмов.
Самостоятельные практические работы ПР2 Организация MPI-обмена между отдельными ПР3 Организация коллективной рассылки данных ПР4 Применение процедуры совмещенного обмена ПР5 Создание параллельной программы умножения ПР6 Создание параллельной программы численного ПР8 Организация параллельной секции с заданным Домашние работы:
Д3 Российские кластерные проекты в списке Тор500 Д4 Концепция distributed shared memory (DSM) 6. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины и учебно-методическое обеспечение самостоятельной работы студентов Организация самостоятельной работы Самостоятельная работа студентов предполагается в виде:
• изучения отдельных вопросов тематического плана дисциплины;
• подготовка к практическим занятиям;
• выполнение домашних работ;
• выполнение самостоятельных практических заданий;
• подготовка к экзамену Вопросы к экзамену по дисциплине «Архитектура и технологии вычислительных систем»
1. История появления параллелизма в архитектуре вычислительных систем.
Скалярная, конвейерная и параллельная обработка данных. Основные направления развития современных высокопроизводительных вычислительных систем.
2. Классификация вычислительных систем (Флинн, Хокни и др.).
3. Методы оценки эффективности вычислительных систем (бенчмарки).
4. Пиковая и реальная производительность. Закон Амдала и его следствия. Факторы, влияющие на производительность.
5. Векторно-конвейерные вычислительные системы. CRAY C90: общая характеристика, параллелизм в архитектуре, векторная обработка данных.
Факторы, влияющие на производительность.
6. Параллельные системы с распределенной памятью. Характеристика CRAY T3D/T3E: вычислительные узлы, процессорные элементы, коммуникационная сеть, аппаратная поддержка синхронизации параллельных процессов. Факторы, влияющие на производительность.
7. Вычислительные кластеры: характерные особенности. Проект Blue\Gene.
Российские кластерные проекты.
8. Концепция GRID. Метакомпьютинг: особенности распределенных вычислительных сред.
9. Компьютеры с общей памятью. NUMA и ccNUMA архитектуры. Кэшкогерентность, согласование памяти. Компьютеры Cm*, BBN Butterfly; HewlettPackard Superdome.
10. Параллелизм в архитектуре современных процессоров (параллелизм на уровне потоков; параллелизм на уровне инструкций; суперскалярность; VILW;
многоядерность; RISC; SSE). Спецпроцессоры (CELL, GPU).
11. Технология MPI: общая структура, общие процедуры, группы, коммуникаторы, типы данных. Синхронное и асинхронное взаимодействие процессов, коллективные операции, объединение запросов на взаимодействие, совмещение приема\передачи.
12. MPI: работа с группами процессов, виртуальные топологии, пересылка разнотипных данных.
13. OpenMP: общая концепция. Основные конструкции для организации параллельных и последовательных секций, для распределения работы между нитями, для синхронизации нитей и работы с общими и локальными данными.
14. Граф алгоритма. Каноническая параллельная форма графа. Концепция неограниченного параллелизма. Принцип сдваивания.
15. Проект V-Ray. Графовые модели программ. Эквивалентные преобразования 16. Параллельные вычисления на графических процессорах (CUDA) 17. Технология параллельного программирования DVM 18. Технология параллельного программирования T-система 19. Технология параллельного программирования NORMA 20. Технология параллельного программирования PVM.
21. Технология параллельного программирования Linda: общая концепция, функции для работы с пространством кортежей.
22. Технология параллельного программирования Router 23. Библиотека ScaLAPACK 24. Проект Х-Com 25. Модели вычислений. Парадигмы параллельного программирования.
Пример экзаменационного билета (1) История появления параллелизма в архитектуре вычислительных систем.
(2) Технология MPI: коллективные операции 7. Учебно-методическое и информационное обеспечение дисциплины Основная литература С.А,Лупин, М.А.Посыпкин. Технологии параллельного программирования.
М: «Форум», 2008. - 208с.
В.П.Гергель. Теория и практика параллельных вычислений. М.Ж БИНОМ – А.В.Старченко,Е.А.Данилкин,В.И.Лаева,С.А.Проханов. Практикум по методам параллельных вычислений. М.: Изд-во МГУ, 2010 – 200с. (серия «Суперкомпьютерное образование») Дополнительная литература Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВПетербург, 2004. - 608 с.
А.В.Линев, Д.К.Боголепов, С.И.Бастраков. Технологии параллельного программирования для процессоров носых архитектур. Ред. В.П.Гергеля. М.Ж Изд-во МГУ, 2010 – 160с. (серия «Суперкомпьютерное образование») А.О.Лацис. Как построить и использовать суперкомпьютер. М.: Бестселлер Интернет-ресурсы Материалы информационно-аналитического центра www.parallel.ru и сайта по информационным технологиям www.citforum.ru.
8. Материально-техническое обеспечение дисциплины Условия в которых должны проводиться занятия (аудитории, комп. Классы, лаборатории и т.д.) Компьютерный класс с доступом в Интернет.
Возможность показа компьютерных презентаций Возможность удаленного доступа на LINUX-кластер ОИЯИ