Информационно-аналитический портал
Высокопроизводительные
вычисления на WINDOWS-кластерах
   

 
 
  Главная
  Новости
  Как создать Windows-кластер
  Компьютеры
  Технологии
  Параллельное программирование
  Библиотеки, пакеты, приложения
  Метакомпьютинг, GRID
  Обучение
  Учебные курсы  
  Исследования
 
  
Логин:    
Пароль:    
Запомнить:
 Забыли пароль? Регистрация 
  
 
Microsoft HPC RussiaОбучениеУчебные курсыТеория и практика параллельных вычислений
 

Теория и практика параллельных вычислений

Цель

Цель курса состоит в изучении математических моделей, методов и технологий параллельного программирования для многопроцессорных вычислительных систем в объеме, достаточном для успешного начала работ в области параллельного программирования.

Краткий обзор курса

Излагаемый набор знаний и умений составляет теоретическую основу для методов разработки сложных программ и включают такие темы, как:

  1. Цели и задачи параллельной обработки данных,
  2. Принципы построения параллельных вычислительных систем,
  3. Моделирование и анализ параллельных вычислений,
  4. Принципы разработки параллельных алгоритмов и программ,
  5. Системы разработки параллельных программ,
  6. Параллельные численные алгоритмы для решения типовых задач вычислительной математики.

Изучение курса поддерживается расширенным лабораторным практикумом.

Автор курса

Гергель В.П., профессор, д.т.н., e-mail: gergel@unn.ru

Авторский коллектив

Требования к слушателям

Предполагается знание учебного материала курсов:

  • CS101 "Введение в методы программирования",
  • CS105 "Дискретная математика",
  • CS220 "Архитектура ЭВМ",
  • CS225"Операционные системы",
  • CS304 "Методы вычислений".

При выполнении практических и лабораторных заданий требуется владение методами программирования на алгоритмическом языке С.

Общее описание курса(36 часов)

  • Цели и задачи введения параллельной обработки данных (1 час)
  • Принципы построения параллельных вычислительных систем (3 часа)
  • Модели вычислений и методы анализа эффективности (4 часа)
  • Анализ коммуникационной трудоемкости параллельных алгоритмов (4 часа)
  • Технология разработки параллельных программ для многопроцессорных систем с распределенной памятью (стандарт передачи сообщений MPI) (6 часов)
  • Технология разработки параллельных программ для многопроцессорных систем с общей памятью (стандарт OpenMP) (4 часа)
  •  Принципы разработки параллельных методов (2 часа)
  • Параллельные численные алгоритмы для решения типовых задач вычислительной математики (8 часа)
  • Модели функционирования параллельных программ (4 часа)

См.Расширенное описание курса

Общее описание лабораторного практикума

  • Разработка параллельных программ для вычислительных систем с распределенной памятью с использованием интерфейса передачи сообщений MPI  (4 часа)
  •  Разработка параллельных программ для вычислительных систем с общей памятью с использованием технологии ОрепМР  (4 часа)
  • Практикум по оценке эффективности параллельных методов с использованием системы ПараЛаб  (2 часа)
  • Практикум по разработке параллельных алгоритмов и программ для решения задач вычислительной математики  (14 часов)
  • Практикум по методам параллельных вычислений для решения дифференциальных уравнений в частных производных  (4 часа)
  • Практикум по использованию библиотек параллельных методов для решения сложных научно-технических задач  (4 часа)
  • Практикум по методам параллельных вычислений для решения задач многомерной многоэкстремальной оптимизации  (4 часа)

См.Расширенное описание лабораторного практикума

Проведение лабораторного практикума с использованием системы ПараЛаб

Контрольные вопросы

Задания и упражнения

Задания для самостоятельной работы

При прохождении лабораторного практикума помимо выполнения упражнений под руководством преподавателя каждый студент самостоятельно осуществляет решение трех заданий разного уровня сложности:

  • Два из этих упражнений связаны с разработкой параллельных программ для систем с общей и распределенной памятью и направлены на практическое освоение технологий OpenMP и MPI соответственно. Задания для такого вида упражнений берутся из разделов 4 и 5 учебных материалов курса.
  • Третье упражнение состоит в разработке параллельной программы для одного из алгоритмов, рассмотренных в разделах 7-12 учебных материалов курса.

Курсовой проект (зачетная работа)

Обучение в рамках данного курса завершается подготовкой курсового проекта (зачетной работой). В рамках данной работы студентами должен быть выполнен полный цикл разработки параллельной программы достаточно высокого уровня сложности.

См.Правила выполнения курсового проекта (зачетной работы)

Экзамен

Экзамен по курсу проводится в устной форме. Вопросы и задачи экзамена формируются на основе учебных материалов курса. Итоговая оценка выставляется с учетом всех результатов обучения по курсу:

  • Участие в лекционных занятиях – 10%,
  • Работа на практических и лабораторных занятиях - 10%,
  • Выполнение самостоятельных заданий - 20%,
  • Выполнение зачетного задания - 30%,
  • Экзамен - 30%.

Литература

Учебные материалы к курсу

Гергель, В.П., Стронгин, Р.Г. (2003, 2 изд.). Основы параллельных вычислений для многопроцессорных вычислительных систем. - Н.Новгород, ННГУ.

Воеводин В.В., Воеводин Вл.В. (2002). Параллельные вычисления. – СПб.: БХВ-Петербург.

Немнюгин С., Стесик О. (2002). Параллельное программирование для многопроцессорных вычислительных систем – СПб.: БХВ-Петербург.

Таненбаум Э. (2002) . Архитектура компьютера. – СПб.: Питер.

Quinn, M. J. (2004). Parallel Programming in C with MPI and OpenMP. – New York, NY: McGraw-Hill.

Grama, A., Gupta, A., Kumar V. (2003, 2nd edn.). Introduction to Parallel Computing. – Harlow, England: Addison-Wesley.

Pacheco, P. (1996). Parallel Programming with MPI. - Morgan Kaufmann.

Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., and Melon, R. (2000). Parallel Programming in OpenMP. Morgan Kaufmann Publishers.

Culler, D., Singh, J.P., Gupta, A. (1998) Parallel Computer Architecture: A Hardware/Software Approach. - Morgan Kaufmann.

Tanenbaum, A. (2001). Modern Operating System. 2nd edn. – Prentice Hall (русский перевод Таненбаум Э. Современные операционные системы. – СПб.: Питер, 2002)

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

Описание курса в соответствии с рекомендациями CC 2001

AL4 Распределенные алгоритмы 3 осн. часа ( из 3)
AL11 Параллельные алгоритмы 4 осн. часов
AR7 Многопроцессорные архитектуры 1 осн. часов (из 3)
AR8 Улучшение производительности 2 осн. часа
OS3 Параллелизм 4 осн. часа (из 6)
NC1 Введение в распределенные вычисления 2 осн. часов (из 2)
CN1 Численный анализ 4 осн. час
CN4 Высокопроизводительные вычисления 12 осн. часов

Описание курса в соответствии со стандартом направления 5119 "Информационные технологии":

АЛ4 Распределенные алгоритмы 3 осн. часа ( из 3)
АР7 Параллельные архитектуры 1 осн. часов (из 3)
ОС3 Параллелизм 4 осн. часа (из 6)
КС1 Введение в сетевую обработку данных 2 осн. часов (из 2)
Вычислительная математика 4 осн. час
Суперкомпьютеры и их применение 12 осн. часов

 

Новости

26.12.2007
25.12.2007
24.12.2007
17.12.2007
17.12.2007
 

   

© ННГУ, Центр компетенции в области высокопроизводительных вычислений на основе технологий Майкрософт, 2007