Суперкомпьютерное моделирование. И.В. Морозов. исп

advertisement
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра
Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"
Факультет прикладной математики и кибернетики МИЭМ
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02 «Прикладная математика и информатика» подготовки магистра
для магистерской программы «Математические методы естествознания и компьютерные
технологии»
Автор программы: И.В. Морозов, к. ф.-м. н., доцент, morozov@ihed.ras.ru
Одобрена на заседании кафедры прикладной математики « 4 » марта 2014 г.
Зав. кафедрой
Карасев М. В.
Рекомендована секцией УМС [Введите название секции УМС] «___»____________ 20 г
Председатель [Введите И.О. Фамилия]
Утверждена УС факультета [Введите название факультета] «___»_____________20 г.
Ученый секретарь [Введите И.О. Фамилия] ________________________ [подпись]
Москва, 2014
Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы.
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра
1
Область применения и нормативные ссылки
Настоящая программа учебной дисциплины устанавливает минимальные требования к
знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных
ассистентов и студентов направления подготовки 01.04.02 «Прикладная математика и информатики», обучающихся по магистерской программе «Математические методы естествознания и компьютерные технологии» и изучающих дисциплину «Суперкомпьютерное моделирование».
Программа разработана в соответствии с:
 Образовательным стандартом государственного образовательного бюджетного учреждения высшего профессионального образования «Государственный университет –
Высшая школа экономики», в отношении которого установлена категория «Национальный исследовательский университет»;
 Образовательной программой «Математические методы естествознания и компьютерные технологии» для направления 01.04.02 «Прикладная математика и информатика» подготовки магистра;
 Рабочим учебным планом университета по направлению 01.04.02 «Прикладная математика и информатика» подготовки магистра по программе «Математические методы
естествознания и компьютерные технологии», утвержденным в 2014г.
2
Цели освоения дисциплины
Целями освоения дисциплины «Суперкомпьютерное моделирование» является ознакомление студентов с архитектурой и принципами работы современных суперкомпьютеров и Гридсистем, технологиями параллельного программирования для систем с общей и распределенной
памятью, особенностями использования суперкомпьютеров для решения различных задач математического моделирования в естественных науках.
В результате выполнения заданий по курсу студенты приобретают навыки:
 работы на суперкомпьютерных вычислительных системах в качестве пользователя;
 создания параллельных программ для многоядерных процессоров (систем с общей
памятью);
 создания параллельных программ для суперкомпьютерных кластеров (систем с распределенной памятью);
 отладки параллельных программ;
 распараллеливания существующих последовательных программ с помощью специализированных компиляторов и/или библиотек;
 получение навыков по применению методов дисциплины в задачах компьютерного
моделирования и обработки данных.
3
Компетенции обучающегося, формируемые в результате освоения
дисциплины
В результате освоения дисциплины студент должен:
 знать области применения современных суперкомпьютеров;
 знать архитектуру и основные характеристики суперкомпьютерных систем;
 знать основные принципы работы графических и других векторных ускорителей;
 уметь создавать новые параллельные программы и адаптировать существующие программы для работы на параллельных архитектурах;
 приобрести навыки отладки параллельных программ;
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра


знать принципы построения грид-сетей и систем облачных вычислений;
иметь навыки работы с программным обеспечением суперкомпьютерных кластеров;
В результате освоения дисциплины студент осваивает следующие компетенции:
Формы и методы обучения,
способствующие формированию и развитию компетенции
Лекции, самостоятельная
работа
Код по
ФГОС/
НИУ
Дескрипторы – основные признаки освоения (показатели достижения результата)
Способен рефлексировать
(оценивать и перерабатывать) освоенные научные
методы и способы деятельности.
Способен анализировать,
верифицировать, оценивать полноту информации
в ходе профессиональной
деятельности, при необходимости восполнять и синтезировать недостающую
информацию
СК-М1
Демонстрирует знание областей
применения, архитектуры и
принципов работы суперкомпьютеров, а также методов параллельного программирования
Применяет полученные знания
для создания параллельных программ и выполнения их на многопроцессорных серверах и суперкомпьютерных кластерах
Способен анализировать и
воспроизводить смысл
междисциплинарных текстов с использованием
языка и аппарата прикладной математики
ИКМ2.1пм
и
Использует знания о вычислиЛекции, практические занятельных методах и теории графов тия и самостоятельная рабодля создания оптимальных пата
раллельных алгоритмов в задачах
математического моделирования
Способен строить и решать математические модели в соответствии с
направлением подготовки
и специализацией
ИКМ7.2пм
и
Использует знания о параллельных методах для создания и отладки параллельных программ
Лекции, практические занятия и самостоятельная работа
Способен понимать и применять в исследовательской и прикладной деятельности современный
математический аппарат
ИКМ7.3пм
и
Создает, дорабатывает и/или использует параллельные программы для решения задач математического моделирования, интерпретирует полученные данные
Практические занятия, выполнение домашних работ
Компетенция
4
СК-М6
Практические занятия, выполнение домашних работ
Место дисциплины в структуре образовательной программы
Настоящая дисциплина относится к базовым по данному направлению обучения.
Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и
компетенциями:
 навыками работы с компьютером в качестве пользователя;
 знанием и практическими навыками разработки программ на алгоритмических языках C или Fortran;
 знаниями основ математического анализа;
 навыками решения типовых задач курса «Вычислительная математика».
Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин:
 Моделирование наноустройств;
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра


5
Интегрированные компьютерные системы математических расчетов;
Многомасштабное моделирование.
Тематический план учебной дисциплины
Аудиторные часы
№
1
2
3
6
Архитектура и принципы работы суперкомпьютеров
Параллельное программирование для систем с общей памятью
Параллельное программирование для систем с распределенной памятью
Всего
180
Лекции
30
Семинары
Практические
занятия
30
Самостоятельная
работа
120
Формы контроля знаний студентов
Тип кон- Форма
троля
контроля
Текущий Домашнее
задание
Экзамен
Итоговый
6.1
Всего
часов
Название раздела
Экзамен
1 год
3
4
4-10
неделя
Х
Х
Параметры
Домашнее задание состоит из четырех практических
заданий по созданию программы моделирования, использующих использующей технологии параллельного программирования для систем с общей или распределенной памятью.
Задание выдается на 4-й неделе, его выполнение задания контролируется на семинарах на протяжении всего семестра. Выполненное задание в письменном виде
должно включать в себя тексты программ и полученные с ее помощью результаты в виде таблиц и графиков. Устная защита проходит на семинаре с демонстрацией работы программы на компьютере и обоснованием полученных результатов.
Письменная работа по разделам «Архитектура и принципы работы суперкомпьютеров», «Параллельное программирование для систем с общей памятью» и «Параллельное программирование для систем с распределенной памятью» включает в себя набор из 4-6 кратких вопросов по теоретическому материалу.
Устный экзамен на 120 минут. Включает от 3 до 5 вопросов по всем темам курса различного уровня сложности.
Критерии оценки знаний, навыков
Оценки по всем формам текущего контроля выставляются по 10-ти балльной шкале.
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра
7
Содержание дисциплины
Содержание дисциплины разбито на разделы, каждый включает в себя 4 темы по которым проводится одна или две лекции и один или два практических занятия.
1. Раздел 1. Архитектура и принципы работы суперкомпьютеров.
Тема 1. Обзор высокопроизводительных систем в России и за рубежом. Обсуждение последних редакций рейтингов Top-500 и Top-50. Качественный переход от последовательных к массивно-параллельным архитектурам и алгоритмам. Технологические ограничения повышения быстродействия компьютеров, путь к экзафлопсной производительности. Проблемы энергопотребления и надежности суперкомпьютеров.
Тема 2. Классификация вычислительных систем. Параллелизм по задачам и по данным.
Системы с общей и распределенной памятью.
Тема 3. Ускорение векторных операций, графические ускорители (GPU). Структура
внутренней памяти GPU и избежание задержек, связанных с обращением к памяти.
Средства разработки программ для GPU, технологии CUDA и OpenCL.
Тема 4. Грид-технологии и распределенные вычисления в Интернет (метакомпьютинг).
Облачные вычисления (Cloud computing). Виртуализация ресурсов, безопасность и
аутентификация в Грид, диспетчеризация задач и ресурсов.
Литература по разделу:
1. Гергель В.П. Теория и практика параллельных вычислений. Учебное пособие. М: Бином, 2007.
2. Суперкомпьютерные технологии в науке, образовании и промышленности / Под ред.:
В.А. Садовничего, академика Г.И. Савина, Вл.В. Воеводина. М.: МГУ, 2009.
3. Forster I., Kesselman C. (eds). The Grid: Blueprint for a new computing infrastructure. San
Francisco: Morgan Kaufman, 1999.
4. И. Д. Котляров. Сети Грид // Прикладная информатика №1 (13) 2008.
5. Устинов В.А., Клементьев И.П. Введение в облачные вычисления. М.: Интуит, 2011.
6. Сайт Лаборатории параллельных информационных технологий НИВЦ МГУ
http://parallel.ru
7. Интернет-портал по Грид технологиям http://www.gridclub.ru
8. Сандерс Дж., Кэндрот Э. Технология CUDA в примерах: введение в программирование графических процессоров. М.: ДМК Пресс, 2011.
9. Боресков А. В., Харламов А. А. Основы работы с технологией CUDA. М.: ДМК
Пресс, 2012.
10. А. В. Боресков и др. Предисл.: В. А. Садовничий. Параллельные вычисления на GPU.
Архитектура и программная модель CUDA: Учеб. пособие. М.: МГУ, 2012.
2. Раздел 2. Параллельное программирование для систем с общей памятью.
Тема 1. Внутренний параллелизм современных процессоров, скалярная и суперскалярная
архитекутры, конвейер команд. Многоядерные процессоры. Модели взаимодействия с
памятью UMA и NUMA. Перспективы наращивания числа ядер, проблема когерентности
кэша.
Тема 2. Особенности создания параллельных программ для систем с общей памятью.
Поддержка параллелизма на уровне операционной системы. Процессы (process) и потоки
(threads). Создание многопоточных программ с использованием базовых средств операционных систем Windows (Win32 API) и Linux (POSIX Threads).
Тема 3. Проблемы недостаточной синхронизация потоков. Детерминированность результатов работы программы. Локальные и общие переменные потоков, безопасный доступ к
общим переменным. Побочные эффекты, реентерабельность процедур. Объекты синхронизации потоков: взаимное исключение, семафор, событие. Избыточная синхронизации
потоков, тупики.
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра
Тема 4. Распараллеливание программ с использованием технологии OpenMP. Использование высокоуровневых библиотек и параллельных языков программирования. Автоматическое распараллеливанием программ. Отладка параллельных программ.
Литература по разделу:
1. Карпов В.Е., Коньков К.А. Основы операционных систем. М.: Интуит, 2004.
2. Федотов И.Е. Модели параллельного программирования. М.: Солон-Пресс, 2012.
3. Butenhof D.R. Programming with POSIX Threads. Addison-Wesley, 1997.
4. Левин М.П. Параллельное программирование с использованием OpenMP. М: Интуит,
2012.
5. Антонов А.С. Параллельное программирование с использованием технологии
OpenMP. М.: МГУ, 2009
6. Официальная документация и учебные пособия по OpenMP: http://www.openmp.org,
http://www.llnl.gov/computing/tutorials/openMP
3. Раздел 3. Параллельное программирование для систем с распределенной памятью.
Тема 1. Программное обеспечение суперкомпьютерного кластера. Кластеры типа
Beowulf. Использование системы управления очередями задач PBS, SLURM, ИПМ РАН.
Тема 2. Технология MPI. Классификация функций MPI и основные понятия. Компиляция
и запуск программ. Функции двухточечного обмена сообщениями. Функции коллективного обмена сообщениями.
Тема 3. Односторонняя и двухсторонняя модели обмена сообщениями. Дополнительные
возможности стандарта MPI-2.
Тема 4. Теоретические основы параллельных алгоритмов. Понятия загруженности, производительности и ускорения. Информационная зависимость операций, графы исполнения, минимальные графы. Эффективность распараллеливания типичных алгоритмов
компьютерного моделирования.
Литература по разделу:
1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. М.: БХВ-СанктПетербург, 2004.
2. Антонов А.С. Александр Антонов: Технологии параллельного программирования
MPI и OpenMP. Учебное пособие. М.: МГУ, 2013
3. Корнеев В.Д. Параллельное программирование в MPI. Новосибирск: Изд-во ИВМиМГ СО РАН, 2002.
4. Шпаковский Г. И., Верхотуров А. Е., Серикова Н. В. Руководство по работе на вычислительном кластере. Учебное пособие. Минск.: БГУ, 2004.
5. Богачёв К.Ю. Основы параллельного программирования, М: Бином, 2003.
6. D.H.M. Spector. Building Linux Clusters. O'Reilly Media, 2000.
7. Официальная документация и учебные пособия по MPI: http://www.mcs.anl.gov/mpi,
http://www.lam-mpi.org
8
Порядок формирования оценок по дисциплине
Преподаватель оценивает работу студентов на практических занятиях (Оауд), основываясь на результатах выполнения ими четырех основных и одного из трех дополнительных практических заданий на выбор. Успешное выполнение одного задания оценивается в два балла.
Домашняя работа студентов состоит в создании и программной реализации параллельного алгоритма по индивидуальному заданию, которое каждый из студентов получается в середине семестра. При защите задания на практическом занятии студент должен представить текст
программы, продемонстрировать ее работоспособность и предъявить полученные с ее помощью
результаты в виде таблиц и графиков. При этом студент должен ответить на вопросы препода-
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра
вателя о назначении тех или иных блоков кода в тексте программы и объяснить смысл полученных результатов.
Накопленная оценка за текущий контроль учитывает результаты студента по текущему
контролю следующим образом:
Онакопленная = 0,5 * Оауд + 0,5 * Одом.работа
Итоговая оценка промежуточной аттестации (Опромежуточная) учитывает результаты студента по текущему контролю (Онакопленная) и результаты промежуточного письменного экзамена, оценка за который выставляет как доля правильных ответов на вопросы, умноженная на 10
(Опром.экз.):
Опромежуточная = 0,6 * Онакопленная + 0,4 * Опром.экз.
Способ округления оценки промежуточной аттестации: в пользу студента.
Итоговая оценка К по 10-балльной шкале формируется как взвешенная сумма:
Оитоговая = 0,5 * Онакопленная + 0,5 * Оитог.экз.
Способ округления накопленной оценки и итогового контроля в форме экзамена: в пользу студента.
На экзамене студент может получить дополнительный вопрос (дополнительную практическую задачу, решить к пересдаче домашнее задание), ответ на который оценивается в 1 балл.
9
Учебно-методическое и информационное обеспечение дисциплины
9.1
Базовый учебник
Гергель В.П. Теория и практика параллельных вычислений. Учебное пособие. М: Бином,
2007.
Электронная версия доступна на сайте http://www.intuit.ru/studies/courses/1156/190/info
9.2
Основная литература
1. Антонов А.С. Александр Антонов: Технологии параллельного программирования
MPI и OpenMP. Учебное пособие. М.: МГУ, 2013
2. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. М.: БХВ-СанктПетербург, 2004.
3. Карпов В.Е., Коньков К.А. Основы операционных систем. М.: Интуит, 2004.
9.3
Дополнительная литература
1. Суперкомпьютерные технологии в науке, образовании и промышленности / Под ред.:
В.А. Садовничего, академика Г.И. Савина, Вл.В. Воеводина. М.: МГУ, 2009.
2. Forster I., Kesselman C. (eds). The Grid: Blueprint for a new computing infrastructure. San
Francisco: Morgan Kaufman, 1999.
3. И. Д. Котляров. Сети Грид // Прикладная информатика №1 (13) 2008.
4. Устинов В.А., Клементьев И.П. Введение в облачные вычисления. М.: Интуит, 2011.
5. Сайт Лаборатории параллельных информационных технологий НИВЦ МГУ
http://parallel.ru
6. Интернет-портал по Грид технологиям http://www.gridclub.ru
7. Сандерс Дж., Кэндрот Э. Технология CUDA в примерах: введение в программирование графических процессоров. М.: ДМК Пресс, 2011.
8. Боресков А. В., Харламов А. А. Основы работы с технологией CUDA. М.: ДМК
Пресс, 2012.
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Суперкомпьютерное моделирование»
для направления 01.04.02«Прикладная математика и информатика» подготовки магистра
9. А. В. Боресков и др. Предисл.: В. А. Садовничий. Параллельные вычисления на GPU.
Архитектура и программная модель CUDA: Учеб. пособие. М.: МГУ, 2012.
4. Федотов И.Е. Модели параллельного программирования. М.: Солон-Пресс, 2012.
5. Butenhof D.R. Programming with POSIX Threads. Addison-Wesley, 1997.
6. Левин М.П. Параллельное программирование с использованием OpenMP. М: Интуит,
2012.
7. Антонов А.С. Параллельное программирование с использованием технологии
OpenMP. М.: МГУ, 2009
8. Официальная документация и учебные пособия по OpenMP: http://www.openmp.org,
http://www.llnl.gov/computing/tutorials/openMP
8. Корнеев В.Д. Параллельное программирование в MPI. Новосибирск: Изд-во ИВМиМГ СО РАН, 2002.
9. Шпаковский Г. И., Верхотуров А. Е., Серикова Н. В. Руководство по работе на вычислительном кластере. Учебное пособие. Минск.: БГУ, 2004.
10. Богачёв К.Ю. Основы параллельного программирования, М: Бином, 2003.
11. D.H.M. Spector. Building Linux Clusters. O'Reilly Media, 2000.
12. Официальная документация и учебные пособия по MPI: http://www.mcs.anl.gov/mpi,
http://www.lam-mpi.org
Download