Приложение - Саратовский Государственный Университет им. Н.Г.

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Саратовский государственный университет имени Н.Г. Чернышевского
Факультет компьютерных наук и информационных технологий
УТВЕРЖДАЮ
_______________________
"_____"__________________20___ г.
ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ
Параллельные вычисления
Направление подготовки
010300 – Фундаментальная информатика и информационные технологии
Профиль подготовки
Информатика и компьютерные науки
Квалификация (степень) выпускника
Бакалавр
Форма обучения
Очная
Саратов
2011
1. Цели освоения дисциплины.
Целью освоения дисциплины «Параллельные вычисления» является
изучение принципов построения параллельных вычислительных систем,
основ теории параллельных вычислений, принципов параллельного и
распределенного программирования, а также методов, способов и средств
разработки программ для многопроцессорных вычислительных систем в
рамках параллельного и распределенного программирования.
2. Место дисциплины в структуре ООП бакалавриата.
Данная учебная дисциплина входит в раздел «Математический и
естественнонаучный цикл. Дисциплины по выбору» ФГОС-3.
Для изучения дисциплины необходимы компетенции, сформированные
у обучающихся в результате изучения дисциплин «Введение в
информационные
технологии»,
«Основы
программирования»,
«Моделирование информационных процессов».
Сформированные в процессе изучения дисциплины «Параллельные
вычисления» компетенции, необходимы студенту при изучении дисциплин
«Технология
параллельных
и
распределенных
вычислений»,
«Информационная безопасность и защита информации», «Введение в GRIDтехнологии».
3. Компетенции
освоения дисциплины:
обучающегося,
формируемые
в
результате
Данная дисциплина способствует формированию следующих
компетенций:
способность профессионально владеть базовыми математическими
знаниями и информационными технологиями, эффективно применять их для
решения научно-технических задач и прикладных задач, связанных с
развитием и использованием информационных технологий (ПК-8);
детальное знание парадигм и методологий программирования,
особенностей языков программирования общего и специального назначения,
наиболее широко используемых средств программирования (ПК-18);
способность решать задачи производственной и технологической
деятельности на высоком профессиональном уровне, включая: разработку
алгоритмических и программных решений в области системного и
прикладного
программирования;
разработку
математических,
информационных и имитационных моделей по тематике выполняемых
опытно-конструкторских работ и проектов; создание информационных
ресурсов глобальных сетей, образовательного контента, прикладных баз
данных; разработку тестов и средств тестирования систем и средств на
соответствие
стандартам
и
исходным
требованиям;
разработку
эргономичных человеко-машинных
профилизацией (ПК-28);
интерфейсов
в
соответствии
с
В результате освоения дисциплины обучающийся должен:
знать:
 базовые принципы параллельной обработки данных, основные классы
параллельных вычислительных систем, особенности их архитектуры и
программирования, методы оценки производительности,
 иметь представление о вычислительно сложных задачах из разных
областей, понимать проблему отображения программ и алгоритмов на
архитектуру параллельных компьютеров
 основы параллельных методов решения задач;
уметь:
 решать задачи на параллельных вычислительных системах,
 определять параллельную структуру программ и алгоритмов,
 оценивать параллельную сложность и эффективность методов решения
задач;
владеть:
 основами технологий параллельного программирования,
 понятием информационной структуры программ и алгоритмов.
4. Структура и содержание дисциплины.
Общая трудоемкость дисциплины составляет 5 зачетных единиц, 180 часов.
№
п/п
Раздел
дисциплины
Семе
стр
Неделя
семестра
Виды учебной работы,
включая
самостоятельную работу
студентов и
трудоемкость (в часах)
Лек
1
2
3
4
5
Лаб
Сам
Введение в предмет
Компьютеры с
общей и
распределенной
памятью
Компьютеры с
общей памятью
Компьютеры с
распределенной
памятью
6
6
1-2
3
2
1
6
3
10
5
6
4
1
3
5
6
5-6
2
6
10
Векторноконвейерные
6
7
1
3
5
Формы
текущего
контроля
успеваемости
(по неделям
семестра)
Формы
промежуточно
й аттестации
(по
семестрам)
6
7
8
9
10
компьютеры
Параллелизм на
уровне машинных
команд
Параллельные
вычислительные
системы,
перспективы
Методы оценки
производительности
параллельных
вычислитель
ных систем
Технологии
параллельного
программирования
Введение в теорию
анализа структуры
программ и
алгоритмов
Промежуточная
аттестация
Итого
6
8
1
3
5
6
9
1
3
5
6
10
1
3
5
6
11-14
4
12
20
6
15
1
3
5
Контрольная
работа №1 (на
10 неделе)
Контрольная
работа №2 (на
15 неделе)
Экзамен
15
45
75
45
Введение в предмет.
Введение, проблематика курса, суперкомпьютеры, параллельные
вычисления, вычислительная сложность реальных задач, параллелизм и
конвейерность, история параллелизма в архитектуре вычислительных
систем. Этапы решения задач на параллельных вычислительных системах.
Компьютеры с общей и распределенной памятью.
Компьютеры с общей и распределенной памятью, общая схема,
достоинства и недостатки, две задачи параллельных вычислений. SMP,
NUMA, ccNUMA ахитектуры, примеры.
Компьютеры с общей памятью.
Архитектура компьютеров с общей памятью. Архитектура
многоядерных процессоров. Причины снижения производительности
компьютеров с общей памятью.
Компьютеры с распределенной памятью.
Архитектура компьютеров с общей памятью. Вычислительные
кластеры. Сети в компьютерах с распределенной памятью. Латентность и
пропускная способность. Метакомпьютинг, грид-технологии, облачные
вычисления. Причины снижения производительности компьютеров с
распределенной памятью.
Векторно-конвейерные компьютеры.
Понятие векторной обработки. Архитектура векторно-конвейерных
компьютеров. Векторизация программ. SSE/Altivec инструкции в
современных процессорах. Причины снижения производительности
векторно-конвейерных компьютера.
Параллелизм на уровне машинных команд.
Суперскалярные архитектуры, компьютеры с широким командным
словом (VLIW), концепция EPIC. Мультитрейдовость/гипертрейдинг.
Параллельные вычислительные системы, перспективы.
Формирования классов параллельных вычислительных систем.
Проблемы создания компьютеров экзафлопного уровня производительности.
Методы оценки производительности параллельных вычислитель
ных систем.
Введение единого числового параметра: MIPS, Mflops. Пиковая и
реальная производительность компьютеров. Тест Linpack и его варианты.
Наборы взаимодополняющих тестовых программ: STREAM, PCB, NPB,
HPCC, APEX. Универсальность и специализация компьютеров,
производительность спецпроцессоров.
Технологии параллельного программирования.
Схемы параллельных программ и вычислительного процесса: SPMD,
Мастер/Рабочие. Обзор технологий параллельного программирования.
Технологии
параллельного
программирования:
эффективность,
продуктивность,
переносимость.
Технологии
параллельного
программирования MPI (Send/Recv и Put/Get, MPI и MPI-2), OpenMP, Linda:
структура параллельной программы, базовые конструкции, достоинства и
недостатки, связь с архитектурой компьютера. Вспомогательный
инструментарий для создания эффективных параллельных программ.
Введение в теорию анализа структуры программ и алгоритмов.
Графовые модели программы. Граф управления и информационный
граф программы, информационная и операционная история реализации программ. Взаимосвязь графовых моделей. Граф алгоритма. Информационная
независимость операций и возможность их параллельного исполнения.
Длина критического пути графа алгоритма как мера степени параллельности.
Ярусно-параллельная
форма
графа
алгоритма.
Эквивалентные
преобразования программ.
5. Образовательные технологии
При проведении занятий по данному курсу используются следующие
активные и интерактивные формы: организация дискуссий и обсуждений
спорных вопросов, использование метода мозгового штурма, использование
мультимедийных презентаций.
6. Учебно-методическое обеспечение самостоятельной работы
студентов. Оценочные средства для текущего контроля успеваемости,
промежуточной аттестации по итогам освоения дисциплины.
7. Учебно-методическое и информационное обеспечение дисциплины.
а) основная литература:
1. Воеводин В. В., Воеводин В. В. Параллельные вычисления – СПб. :
БХВ-Петербург, 2004. – 599 с.
2. Гергель В. П. Теория и практика параллельных вычислений – М. :
Интернет-Ун-т Информ. Технологий : БИНОМ. Лаб. знаний, 2007. 423 с.
б) дополнительная литература:
3. Антонов А. С. Параллельное программирование с использованием
технологии OpenMP: Учебное пособие. – М.: Изд-во МГУ, 2009. – 77 с.
4. Антонов А.С. Параллельное программирование с использованием
технологии MPI: Учебное пособие. – М.: Изд-во МГУ, 2004. – 71 с.
5. Эндрюс Г. Р. Основы многопоточного, параллельного и
распределённого программирования /Под ред. А. Б. Ставровского. –
М.; СПб.; Киев : Вильямс, 2003. - 505 с.
8. Материально-техническое обеспечение дисциплины.

лекционная аудитория с мультимедийным оборудованием с выходом в
Интернет,

компьютерные классы с программным обеспечением под управлением
операционной системы Microsoft
Windows 7 или Linux с
подключением к Internet, рассчитанные на обучение группы студентов
из 8 – 12 человек, удовлетворяющие санитарно-гигиеническим
требованиям;

Компилятор языка С++ (Microsoft, GCC), среда разработки на языке
C++ (Visual Studio 2010, Emacs).
Программа составлена в соответствии с требованиями ФГОС ВПО с
учетом рекомендаций и Примерной ООП ВПО по направлению 010300
Фундаментальная информатика и информационные технологии и профилю
подготовки Информатика и компьютерные науки.
Автор
Зав. кафедрой
___________ В.Г. Самойлов
Программа одобрена на заседании базовой кафедры «Технологии
программирования» от «15» апреля 2011 года, протокол № 7.
Заведующий базовой кафедрой
«Технологии программирования»
___________ В.Г. Самойлов
Декан факультета КНиИТ,
Доцент
___________ А. Г. Федорова
Download