DOCX, 58 Кб - Высшая школа экономики

advertisement
Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"
Факультет прикладной математики и кибернетики МИЭМ
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
Автор программы: B.В. Морозов, к. ф.-м. н., доцент, morozov@ihed.ras.ru
Одобрена на заседании кафедры прикладной математики «30» июня 2014 г.
Зав. кафедрой
Карасев М. В.
Москва, 2014
Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы.
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
1
Область применения и нормативные ссылки
Настоящая программа учебной дисциплины устанавливает минимальные требования к
знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных
ассистентов и студентов по направлению 231300.62 «Прикладная математика», обучающихся
по программе подготовки бакалавра «Прикладная математика», изучающих дисциплину «Архитектура вычислительных сред».
Программа разработана в соответствии с:
 ФГОС 231300 Прикладная математика 62 бакалавр.
 Рабочим учебным планом университета по направлению 231300.62 «Прикладная математика» подготовки бакалавра по программе «Прикладная математика», утвержденным в 2014г.
2
Цели освоения дисциплины
Целями освоения дисциплины «Архитектура вычислительных сред» является ознакомление студентов с принципами работы современных процессоров, вычислительных серверов,
суперкомпьютерных кластеров и грид-сетей, основами построения параллельных архитектур и
коммуникационных сетей, методами программирования и выполнения программ на данных системах, перспективных направлениях развития вычислительной техники.
В результате выполнения заданий по курсу студенты приобретают навыки:
 определения оптимальной конфигурации вычислительной системы в зависимости от
решаемой задачи;
 проектирования новых вычислительных систем из имеющихся компонентов;
 работы на суперкомпьютерных вычислительных комплексах в качестве пользователя;
 создания параллельных программ для многоядерных процессоров и суперкомпьютерных кластеров (систем с распределенной памятью);
 распараллеливания существующих последовательных программ с помощью специализированных компиляторов и/или библиотек;
3
Компетенции обучающегося, формируемые в результате освоения дисциплины
В результате освоения дисциплины студент должен:
 знать характеристики современных суперкомпьютерных систем, принципы работы
современных процессоров, векторных ускорителей, оперативной памяти и других базовых устройств вычислительной техники, архитектуру многопроцессорных вычислительных систем, методы создания и выполнения программ
 уметь работать на современных вычислительных системах в качестве пользователя,
определять оптимальную конфигурацию вычислительной системы в зависимости от
решаемой задачи, анализировать эффективность применения различных сред программирования для решаемой задачи;
 приобрести опыт работы с типовым программным обеспечением суперкомпьютерных кластеров, создания и выполнения простейших параллельных программ;
В результате освоения дисциплины студент осваивает следующие компетенции:
А) общекультурные (ОК):
 владеть культурой мышления, способен к обобщению, анализу, восприятию информации
(ОК-1);
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
 уметь логически верно, аргументировано и ясно строить устную и письменную речь
(ОК-2);
 готовностью к кооперации с коллегами (ОК-6);
 способностью оформлять, представлять и докладывать результаты выполненной работы
(ОК-14);
 уметь создавать и редактировать тексты профессионального назначения (ОК-15);
 способностью использовать для решения коммуникативных задач современные технические средства и информационные технологии (ОК-16).





4
Б) профессиональные (ПК):
готовность к самостоятельной работе (ПК-1);
способность использовать современные прикладные программные средства и осваивать
современные технологии программирования (ПК-2);
знать основные положения, законы и методы естественных наук (ПК-11);
готовность применять математический аппарат для решения поставленных задач
(ПК-12);
способность самостоятельно изучать новые разделы фундаментальных наук (ПК-14).
Место дисциплины в структуре образовательной программы
Настоящая дисциплина является дисциплиной по выбору и относится к вариативной части профессионального цикла.
Изучение данной дисциплины базируется на следующих дисциплинах:
 «Дифференциальные уравнения»,
 «Программирование для ЭВМ»,
 «Математический анализ»,
 «Численные методы».
Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и
компетенциями:
 навыками работы с компьютером в качестве пользователя;
 знанием и практическими навыками разработки программ на алгоритмических языках C, С++ или Fortran;
 начальными знаниями о работе в ОС Linux с интерфейсом командной строки;
 знаниями основ математического анализа;
 навыками решения типовых задач курса «Численные методы»;
 навыками решения типовых задач курса «Дифференциальные уравнения»;
Основные положения дисциплины могут быть использованы в дальнейшем при изучении дисциплины «Квантовая информатика».
5
№
1
2
3
4
Тематический план учебной дисциплины
Название раздела
Принципы работы суперкомпьютеров
Технологии программирования систем с
общей памятью
Технологии программирования систем с
распределенной памятью
Параллельные алгоритмы
Всего
часов
21
34
Аудиторные часы
ПрактиЛекСемические
ции
нары
занятия
3
8
Самостоятельная
работа
10
4
10
20
32
8
4
20
39
8
6
25
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
Всего
6
34
17
75
Формы контроля знаний студентов
Тип контроля
Текущий
Итоговый
6.1
126
Форма контроля
Отсутствует
Экзамен
4 курс
1-й семестр
В конце 1-го семестра
Параметры
Устный экзамен на 120 минут. Включает 5 вопросов
по всем темам курса различного уровня сложности.
Критерии оценки знаний, навыков
Оценки по всем формам текущего контроля выставляются по 10-ти балльной шкале.
Порядок формирования оценок по дисциплине
Преподаватель оценивает работу студентов на практических занятиях, основываясь на
результатах выполнения ими 8-ми обязательных и одного или нескольких дополнительных
практических заданий. Успешное выполнение одного задания оценивается в один балл.
Самостоятельная работа студентов состоит в создании и программной реализации параллельного алгоритма по индивидуальному заданию, которое каждый из студентов получается
в середине семестра. При защите задания на практическом занятии студент должен представить
текст программы, продемонстрировать ее работоспособность и предъявить полученные с ее
помощью результаты в виде таблиц и графиков. При этом студент должен ответить на вопросы
преподавателя о назначении тех или иных блоков кода в тексте программы и объяснить смысл
полученных результатов.
Накопленная оценка за текущий контроль учитывает результаты студента по текущему
контролю следующим образом:
6.2
Онакопленная= 0,7 * Оауд + 0,3 * Осам.работа
Способ округления накопленной оценки текущего контроля: в пользу студента.
Результирующая оценка за дисциплину рассчитывается следующим образом:
Орезульт = 0,5* Онакопл + 0,5 * Оэкз
Способ округления накопленной оценки итогового контроля в форме экзамена: в пользу
студента.
На экзамене студент может получить дополнительный вопрос (дополнительную практическую задачу, решить к пересдаче домашнее задание), ответ на который оценивается в 1 балл.
7
Содержание дисциплины
Содержание дисциплины разбито на разделы, каждый включает в себя 3-4 темы по которым проводится одна или две лекции и одно практическое занятие.
1. Раздел 1. Этапы развития вычислительной техники, классификация вычислительных систем.
Тема 1. История развития вычислительной техники. Поколения вычислительной техники. Рост быстродействия и расширение спектра применения вычислительной техники. (2
часа, 1 лекция)
Тема 2. Персональные компьютеры и суперкомпьютеры. Обзор высокопроизводительных систем в России и за рубежом. Обсуждение последних редакций рейтингов Top-500
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
и Top-50. Качественный переход от последовательных к массивно-параллельным архитектурам и алгоритмам. (2 часа, 1 лекция)
Тема 3. Элементная база современной вычислительной техники. Базовая архитектура
вычислительного модуля: процессор, память, устройства ввода-вывода, шины передачи
данных, дополнительные устройства. Классическая архитектура фон Неймана, наборы
команд, хранение команд и данных, типы памяти. (2 часа, 1 лекция)
Тема 4. Скалярная, суперскалярная и векторная архитектура. RISC-процессоры. Параллелизм на уровне процессорного ядра. (2 часа, 1 лекция)
Литература по разделу:
1. Жмакин, А. П. Архитектура ЭВМ. БХВ-Петербург, 2006. - 315 с.
2. Максимов Н. В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем. Форум, Инфра-М, 2013. - 512 с.
3. Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем. СПб. Питер, 2006. - 718 с.
4. Семенов, С. Суперкомпьютеры : Россия в межстрановом сопоставлении. Экономист,
N.2, 2008. - С. 21-30.
5. Сайт Лаборатории параллельных информационных технологий НИВЦ МГУ:
http://parallel.ru
2. Раздел 2. Архитектура процессоров и вычислительных модулей.
Тема 1. Архитектура современных процессоров: АЛУ, адресация памяти, конвейерная
обработка команд, предсказание переходов, кэш-память, внутренние шины данных. (2
часа, 1 лекция)
Тема 2. Язык ассемблера. Базовые команды и примеры программ с использованием ассемблера x86. Компиляция и выполнение программ. Прерывания. Защита данных. Виртуальная память. Функции операционной системы. (2 часа, 1 лекция)
Тема 3. Многоядерные процессоры и многопроцессорные системы. Таксономия Флинна.
Системы с общей и распределенной памятью. Модели взаимодействия с памятью UMA и
NUMA. Перспективы наращивания числа ядер, проблема когерентности кэша. Поддержка параллелизма на уровне ОС. (2 часа, 1 лекция)
Тема 4. Графические и векторные ускорители. Структура внутренней памяти GPU, избежание задержек, связанных с обращением к памяти. Взаимодействие центрального процессора и ускорителя. Массивно-параллельная обработка (на примере CUDA-ядер). (2
часа, 1 лекция)
Тема 5. Специализированные процессоры. Программируемые логические интегральные
схемы (ПЛИС). Разработка архитектуры и моделирование работы современных процессоров. Перспективны развития микропроцессорных архитектур. (2 часа, 1 лекция)
Литература по разделу:
1. Хорошевский В.Г. Архитектура вычислительных систем. Изд-во МГТУ им. Н. Э. Баумана, 2008. - 519 с.
2. Кулаков, В. Г. Изучение системы команд процессоров серии Intel х86.. М. МИЭМ,
2012. - 29 с
3. Боресков, А. В. Параллельные вычисления на GPU. М. Изд-во Моск. ун-та, 2012. –
333 с.
4. Соловьев, В. В. Логическое проектирование цифровых систем на основе программируемых логических интегральных схем. М. Горячая линия-Телеком, 2008. - 376 с.
3. Раздел 3. Архитектура суперкомпьютеров и вычислительных сетей.
Тема 1. Типы и топология коммуникаций между вычислительными узлами суперкомпьютерного кластера. Характеристики современных сетевых интерфейсов. Распределенное
хранение данных. (2 часа, 1 лекция)
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
Тема 2. Проблемы энергопотребления и надежности суперкомпьютеров. Мониторинг состояния кластера. Технологические ограничения повышения быстродействия компьютеров, путь к экзафлопсной производительности. (2 часа, 1 лекция)
Тема 3. Программное обеспечение суперкомпьютерного кластера. Кластеры типа
Beowulf. Системы очередей заданий (PBS, SLURM и др.). Удаленная работа на вычислительных центрах общего пользования. Работа с консольными и графическими приложениями. (2 часа, 1 лекция)
Тема 4. Грид-технологии и распределенные вычисления в Интернет (метакомпьютинг).
Виртуализация ресурсов, безопасность и аутентификация в Грид, диспетчеризация задач.
Большие данные (Big data). Модель Map-Reduce. (2 часа, 1 лекция)
Литература по разделу:
1. Бройдо, В. Л. Вычислительные системы, сети и телекоммуникации. СПб. Питер,
2006.
2. Максимов Н. В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем. Форум, Инфра-М, 2013. - 512 с.
3. Пятибратов, А. П. Вычислительные системы, сети и телекоммуникации. М. КноРус,
2013. - 372 с.
4. Robbins, S. Lessons in grid computing. John Wiley & Sons, 2006. - 363 с.
4. Раздел 4. Программирование современных вычислительных систем.
Тема 1. Особенности создания параллельных программ для систем с общей памятью.
Поддержка параллелизма на уровне операционной системы. Процессы (process) и потоки
(threads). Создание многопоточных программ с использованием базовых средств операционных систем (POSIX Threads) и технологии OpenMP. (2 часа, 1 лекция)
Тема 2. Создание параллельных программ для систем с распределенной памятью Технология MPI. Компиляция и запуск программ на вычислительных кластерах. (2 часа, 1 лекция).
Тема 3. Обзор методов программирования графических ускорителей с использованием
CUDA, OpenCL, OpenACC. Создание программ для гибридных вычислительных кластеров. (2 часа, 1 лекция)
Тема 4. Системы автоматического распараллеливания. Оценка эффективности параллельных программ. Параллельные отладчики. Примеры адаптации вычислительных архитектур для различных задач компьютерного моделирования. (2 часа, 1 лекция)
Литература по разделу:
1. Демьянович, Ю. К. Параллельные алгоритмы. Разработка и реализация. М. БИНОМ.
Лаборатория знаний, 2012. - 343 с.
2. Гергель, В. П. Современные языки и технологии параллельного программирования.
М. Изд-во Моск. ун-та, 2012. - 406 с.
3. Антонов, А. С. Технологии параллельного программирования MPI и OpenMP. М.
Изд-во Моск. ун-та, 2012. - 339 с.
4. Левин, М. П. Архитектура вычислительных сред с использованием OpenMP. М. Интернет-Университет Информационных Технологий, 2012. - 118 с.
5. Лупин С.А., Посыпкин М.А. Технологии параллельного программирования. ФОРУМ, 2013. - 205 с.
6. Сандерс Дж. Кэндрот Э. Технология CUDA в примерах. ДМК Пресс, 2011. - 231с.
8
Образовательные технологии
Курс подразумевает традиционные формы проведения занятий: лекции с разбором практических задач и демонстрацией работы программ, а также практические занятия с интерактивной формой работы со студентами. Лекционный материал представлен в виде презентаций
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
PowerPoint, демонстрируемых на проекторе. Практические занятия и самостоятельная работа
проводятся с использованием учебного суперкомпьютерного кластера, к которому студенты
получают удаленный доступ на все время преподавания дисциплины.
Методические рекомендации преподавателю
При предоставлении студентам доступа к учебному суперкомпьютерному кластеру преподаватель должен ознакомить их с правилами безопасной работы и получить расписку от каждого студента об ознакомлении и согласии с приведенными правилами.
8.1
Методические указания студентам
Студентам рекомендуется начинать работу над индивидуальным заданием сразу после
того, как оно получено и использовать практические занятия для консультации с преподавателем по возникающим вопросам. Постепенная сдача частей индивидуального задания в течении
семестра позволяет избежать грубых ошибок и увеличивает объективность оценки работы преподавателем.
8.2
9
Оценочные средства для текущего контроля и аттестации студента
9.1
Тематика заданий текущего контроля
Не предусмотрены
9.2
Вопросы для оценки качества освоения дисциплины
1. Классификация вычислительных систем, таксономия Флинна. Примеры систем различного
типа. Параллельные алгоритмы: распараллеливание по задачам и по данным.
2. Скалярная, суперскалярная и векторная архитектура. RISC-процессоры. Параллелизм на
уровне процессорного ядра.
3. Параллельные системы с общей памятью (SMP): ограничение на количество процессоров,
проблема когерентности кэша. Архитектуры UMA и NUMA.
4. Потоки и процессы в многозадачных операционных системах. Состояния и переключение
потоков операционной системой. Выделение памяти и процессорного времени. Основные
функции API POSIX Threads.
5. Принцип программирования и компиляция программ с использованием OpenMP. Общие и
локальные переменные потоков. Директивы распраллеливания.
6. Системы с распределенной памятью (MPP): особенности программирования по сравнению с
SMP системами.
7. Типичная аппаратная конфигурация и программное обеспечение вычислительного кластера.
Дополнительные функции, предоставляемые кластерным ПО.
8. Общая схема программы с использованием библиотеки MPI. Компиляция и запуск MPIпрограмм. Запуск последовательных и MPI-программ с использованием систем очередей
PBS и SLURM.
9. Концепция Грид. Структура Грид: сегмент, сайт, кластер, конечная система. Аутентификация и авторизация в Грид. Понятие виртуальной организации. Типы приложений для Грид.
Облачные вычисления (Cloud computing).
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
10. Использование графических ускорителей (GPU) для научных вычислений. Особенности архитектуры GPU. За счет чего достигается ускорение по сравнению с обычными процессорами? Основные проблемы и ограничения при написании программ для GPU.
10 Учебно-методическое и информационное обеспечение дисциплины
10.1 Базовый учебник
Максимов Н. В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем. Форум, Инфра-М, 2013. - 512 с.
10.2 Основная литература
1. Максимов Н. В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем. Форум, Инфра-М, 2013. - 512 с.
2. Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем. СПб. Питер, 2006. - 718 с.
3. Боресков, А. В. Параллельные вычисления на GPU. М. Изд-во Моск. ун-та, 2012. –
333 с.
4. Соловьев, В. В. Логическое проектирование цифровых систем на основе программируемых логических интегральных схем. М. Горячая линия-Телеком, 2008. - 376 с.
5. Пятибратов, А. П. Вычислительные системы, сети и телекоммуникации. М. КноРус,
2013. - 372 с.
6. Robbins, S. Lessons in grid computing. John Wiley & Sons, 2006. - 363 с.
7. Гергель, В. П. Современные языки и технологии параллельного программирования.
М. Изд-во Моск. ун-та, 2012. - 406 с.
10.3 Дополнительная литература
1. Хорошевский В.Г. Архитектура вычислительных систем. Изд-во МГТУ им. Н. Э. Баумана, 2008. - 519 с.
2. Жмакин, А. П. Архитектура ЭВМ. БХВ-Петербург, 2006. - 315 с.
3. Семенов, С. Суперкомпьютеры : Россия в межстрановом сопоставлении. Экономист,
N.2, 2008. - С. 21-30.
4. Сайт Лаборатории параллельных информационных технологий НИВЦ МГУ:
http://parallel.ru
5. Кулаков, В. Г. Изучение системы команд процессоров серии Intel х86.. М. МИЭМ,
2012. - 29 с
6. Демьянович, Ю. К. Параллельные алгоритмы. Разработка и реализация. М. БИНОМ.
Лаборатория знаний, 2012. - 343 с.
7. Антонов, А. С. Технологии параллельного программирования MPI и OpenMP. М.
Изд-во Моск. ун-та, 2012. - 339 с.
8. Левин, М. П. Архитектура вычислительных сред с использованием OpenMP. М. Интернет-Университет Информационных Технологий, 2012. - 118 с.
9. Лупин С.А., Посыпкин М.А. Технологии параллельного программирования. ФОРУМ, 2013. - 205 с.
10. Сандерс Дж. Кэндрот Э. Технология CUDA в примерах. ДМК Пресс, 2011. - 231с.
10.4 Справочники, словари, энциклопедии
Не используются.
10.5 Программные средства
Для успешного освоения дисциплины, студент использует следующие программные
средства:
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Архитектура вычислительных сред»
для направления 231300.62 «Прикладная математика» подготовки бакалавра
1. PuTTY – свободно-распространяемый пакет для выполнения удаленных команд на
вычислительном
кластере
по
протоколу
SSH.
Сайт
проекта:
http://www.chiark.greenend.org.uk/~sgtatham/putty/
2. WinSCP – свободно-распространяемый пакет для передачи файлов между локальным
и удаленным компьютером по протоколу SSH. Сайт проекта: http://winscp.net
3. Компиляторы с языков С и Fortran, система очередей PBS, библиотека MPI, среда
разработки CUDA а также другое системное программное обеспечение, установленное на учебном суперкомпьютерном кластере.
10.6 Дистанционная поддержка дисциплины
Не предусмотрена.
11 Материально-техническое обеспечение дисциплины
Для проведения лекций используется персональный компьютер и проектор.
Для выполнения практических заданий используется компьютерный класс с компьютерами, на которые предустановлены операционные системы Windows или Linux, программы
PuTTY и WinSCP (для ОС Windows), а также учебный суперкомпьютерный кластер, включающий 72 процессорных ядра AMD Opteron 6234, а также 6 графичеких ускорителей Nvidia Tesla
C2070.
Download