zhChinese    enEnglish
  ПМ-ПУ  » Образование  » Программы курсов » Параллельные и распределенные вычисления

Параллельные и распределенные вычисления

Общий курс

Составители: доктор физ.-мат. наук, профессор Андрианов С. Н.

Содержание дисциплины

ЧАСТЬ 1. Основные типы архитектур вычислительных машин и систем

Раздел 1. Введение.
Эволюция развития вычислительных высокопроизводительных систем. Классическая Фон-Неймановская архитектура. Математическая и технологическая реализация.
Раздел 2. Классификация вычислительных систем.
Суперскалярные, векторные вычислительные системы. Конвейерные и матричные системы. Архитектура памяти. Системы команд для параллельных вычислений. Классификация современных вычислительных систем (по Флинну). Вычислительные и программные аспекты.
Раздел 3. Современные тенденции развития высокопроизводительных вычислительных систем.
Определение высокопроизводительных систем. Эволюция развития вычислительных высокопроизводительных систем. Современные реализации. Примеры. Методы повышения быстродействия памяти: иерархия памяти; пространственная и временная локальность, кэш-память и стратегии ее использования; расслоение памяти. Методы повышения быстродействия процессора: конвейер команд, предсказание переходов, компьютеры с несколькими АЛУ, изменение порядка исполнения команд, переименование регистров, переключение контекста, скалярные и суперскалярные компьютеры. мультискалярные компьютеры.
Раздел 4. Суперкомпьютеры.
Векторные и матричные компьютеры, многопроцессорные компьютеры и многомашинные комплексы, векторизация и распараллеливание алгоритмов, машины потоков команд и машины потоков данных, транспьютеры, нейрокомпьютеры.
Раздел 5. Распределенные вычисления.
Понятие распределенных вычислений. Метакомпьютинг. Вычислительные сети. Принципы организации. Сетевые протоколы. Сеть INTERNET. Протокол TCP/IP. IP адресация. Потоковые и нейронные системы. Grid-технологии.
Раздел 6. Альтернативные вычислительные системы.
Оптические вычислительные системы. Квантово-механические вычисления. Естественный параллелизм квантово-механических и оптических систем.

ЧАСТЬ 2. Программное и математическое обеспечение высокопроизводительных вычислений

Раздел 7. Программное обеспечение высокопроизводительных вычислений.
Роль программного обеспечения в высокопроизводительных вычислениях Операционные системы поддержки параллельных и распределенных вычислений: UNIX (Linux) и Windows. Краткая характеристика основных языков высокопроизводительных вычислений: C, C++, High Performance Fortran (HPF).
Раздел 8. Основные принципы параллельных вычислений.
Программное обеспечение параллельных вычислений. Две модели программирования: последовательная и параллельная. Параллелизм данных и задач. Вычислительные кластеры. Трудозатраты на распараллеливание или векторизацию программы. Методы векторизации и распараллеливания программ. Применение разных языков программирования. Взаимодействие трех частей программ - параллельной, последовательной и обменом данными. Синхронизация процессов. Параллельные библиотеки.
Раздел 9. Современные методы распараллеливания вычислений.
Инженерные и научные задачи. Алгоритмы для высокопроизводительных вычислений. Использование векторных операций и функций HPF. Что такое PVM и MPI? Использование PVM и MPI в численных расчетах в кластерных системах. Fortran, C, C++ реализации. Библиотеки процедур. Отладка и прохождение программ на PVM и MPI: терминология и обозначения. Общие процедуры. Прием-передача сообщений между отдельными процессами. Объединение запросов на взаимодействие. Коллективные взаимодействия процессов и их синхронизация. Работа с группами процессов. Примеры MPI-программ. Параллельные библиотеки универсальных и специальных методов решения научных задач.
Раздел 10. Современные методы распределения вычислений.
Программное обеспечение распределенных вычислений. Распределенные приложения, базы данных. Использование технологий COM (DCOM), COM+, .NET, а также CORBA технологий при построении эффективных информационных систем. Корпоративные вычислительные и информационные системы.
Раздел 11. Специализированные и универсальные программные продукты.
Пакеты численного моделирования. Краткая спецификация и характеристика современных программных продуктов универсального предназначения. Специализированные пакеты и их применение. Пакеты для научных и технических расчетов. Пакеты MATLAB, MATCAD: краткая характеристика и классификация. Пакеты символьного моделирования. Специализированные и универсальные пакеты: характеристика и классификация. Краткое описание пакетов MATHEMATICA, MAPLE. Возможности распараллеливания символьных вычислений. Краткая характеристика параллелизма в пакетах компьютерной алгебры MATHEMATICA (Parallel Computing Toolkit for MATHEMATICA 4.0), MAPLE.
Раздел 12. Grid-технологии.
Раздел 13. Высокопроизводительные вычисления в научных исследованиях.
Математическое и компьютерное моделирование. Основные принципы и современные тенденции. Методы и средства современных компьютерных технологий. Современные методы математического моделирования в естествознании. Классификация основных проблем при моделировании сложных систем. Иерархия моделей. Вычислительный эксперимент. Параллельные и распределенные вычисления при моделировании физических систем. Основные типы задач и классификация математических методов.
Раздел 14. Гипермедиа-технологии и виртуальная реальность.
Роль гипермедиа технологий в научных, образовательных и технологических задачах. Электронные (цифровые) библиотеки; концепции построения, наполнения контентом, технологии доступа. Обучающие и информационные системы. Основные принципы построения систем дистанционного обучения. Концепция распределенного университета.
Раздел 15. Системы визуализации.
Роль 2D- и 3D-графики в современных научных и технологических задачах. Отличие вычислительных экспериментов от натурных. Принципы построения 2D и 3D-графики. Визуализационные пакеты.
Раздел 16. Параллельные и распределенные СУБД.
Разработка новых и адаптация существующих СУБД для суперЭВМ массивной параллельной, кластерной и гибридной архитектур.

Основная литература

  1. Воеводин В.В. Математические основы параллельных вычислений. - М.: Изд-во МГУ, 1991.
  2. Воеводин В.В. Математические модели и методы в параллельных процессах. - М.: Наука, 1986.
  3. Воеводин В.В. Параллельные структуры алгоритмов и программ. - М.: ОВМ АН СССР, 1987.
  4. Векторизация программ: теория, методы, реализация Пер. с англ. и нем. Под ред. Г.Д.Чинина. - М. Мир, 1991.
  5. Корнеев В.В. Параллельные вычислительные системы. Нолидж, 1999.
  6. Павловский Ю.Н. Проблема декомпозиции в математическом моделировании. М. Фазис. 1998.
  7. Программирование на параллельных вычислительных системах под ред. Р.Бэбба, - М. Мир, 1991.
  8. Системы параллельной обработки. Под ред. Д.Ивенс, М: Мир, 1985.
  9. СуперЭВМ. Аппаратная и программная организация. Под. Ред. С. Фернбаха М.: Радио связь, 1989.
  10. Тербер К.Дж. Архитектура высокопроизводительных вычислительных систем.- М: Наука, 1985.
  11. Хокни, Л. Джесхоуп Параллельные ЭВМ: Архитектура, программирование и алгоритмы. М.: Радио и связь, 1986.

Дополнительная литература

  1. Р.П. Федоренко. Введение в вычислительную физику. - М. Изд. МФТИ, 1994.
  2. V. Hackbusch , U. Trottenberg. Multigrid Methods. Lecture Notes in Math. 960, Springer Verlag, Berlin. 1982.
  3. Описание и постановку современных задач, требующих использование суперЭВМ, можно прочитать на сайте www.parallel.ru.
  4. Описание и постановку идеологии квантовых вычислений можно прочитать на сайте центра квантовых вычислений (Оксфорд, Великобритания) http://www.qubit.org.
  5. Информация, размещенная на сайте МГУ www.parallel.ru и других сайтах, на которые сайте МГУ есть многочисленные ссылки. Эта информация носит как учебный, так и научный характер. В частности, лекции Воеводина В.В. полностью приспособлены для дистанционного обучения.
  6. Peter Pacheco. Parallel Programming With MPI (Доступно содержание и примеры, см. сайт МГУ www.parallel.ru).
  7. High Performance Cluster Computing. Под ред. Rajkumar Buyya (Monash University, Австралия). Prentice Hall, 1999. (Книга в двух томах, посвященная кластерным вычислениям: том 1 - аппаратные архитектуры, том 2 - программные технологии и приложения).
  8. William Gropp, Ewing Lusk, and Anthony Skjellum. Using MPI (Книга доступна, см. сайт МГУ www.parallel.ru).