Министерство образования и науки Российской Федерации

Министерство образования и науки Российской Федерации

Южно-Уральский государственный университет

 

Механико-математический факультет

Кафедра системного программирования

 

 

 

 

УТВЕРЖДАЮ

Декан мех.-мат. факультета

____________ А.Д. Дрозин

11.11.2004

 

 

 

 

 

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ

Многопроцессорные вычислительные системы
и параллельное программирование

 

 

для студентов, обучающихся по программе магистерской подготовки

230100.68.11 (552811) "Базы данных"

направления 230100.68 (552800) "Информатика и вычислительная техника"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Челябинск-2004

1.      Аннотация программы

Курс посвящен введению в проблематику многопроцессорных вычислительных систем и параллельного программирования. Рассматриваются вопросы оценки производительности и классификации многопроцессорных вычислительных систем, а также параллельное программирование на базе моделей PVM и MPI.

2.      Содержание программы

1.     Введение в многопроцессорные вычислительные системы

Роль и значение высокопроизводительных вычислений в современном мире. Две парадигмы программирования и две модели программирования: последовательная и параллельная. Параллелизм данных, параллелизм задач.

2.     Архитектура многопроцессорных вычислительных систем

Понятие архитектуры компьютера. Классическая архитектура фон Неймана. Таксономия Флинна: многопроцессорные вычислительные системы классов SISD, MISD, SIMD, MIMD. Структурно-функциональная таксономия: многопроцессорные вычислительные системы классов SMP, MPP, ccNUMA, кластерные вычислительные системы. Оценка производительности многопроцессорных вычислительных систем: пиковая производительность тест Linpack и реальная производительность. Обзор многопроцессорных вычислительных систем, входящих в первую десятку списка TOP500. Российские многопроцессорные вычислительные системы: семейство МВС, семейство СКИФ, вычислительный кластер ЮУрГУ.

3.     Методы и алгоритмы программирования параллельных вычислений

Трудоемкость распараллеливания и векторизации. Способы векторизации и распараллеливания программ. Применение различных языков программирования (C и FORTRAN). Векторные ЭВМ и векторные программы. Параллельные ЭВМ и параллельные программы. Некоторые параллельные алгоритмы вычислительной алгебры. Некоторые параллельные статистические алгоритмы.

4.     Параллельное программирование с использованием PVM

Понятие параллельной виртуальной машины (PVM). PVM-программа. PVM-консоль. Пользовательский интерфейс PVM. Управление процессами. Сбор информации состоянии процессов. Динамическое изменение конфигурации виртуальной машины. Основные опции. Передача сообщений: буферизация данных, упаковка данных, отправка и прием данных, распаковка данных. Запуск и настройка PVM. Компиляция выполнение и отладка программ с использованием PVM.

5.     Параллельное программирование с использованием MPI

Особенности программирования с использованием MPI. Структура MPI-программы. Сообщения, их передача и прием. Коллективный обмен данными. Виды коллективного обмена, барьеры, широковещательная рассылка данных. Коммуникаторы и топологии. Компиляция, выполнение и отладка MPI-программ.

3.      Распределение часов

№ п/п

Тема

Лекц.

(час.)

Практ.

(час.)

1.         

Введение в многопроцессорные вычислительные системы

2

 

2.         

Архитектура многопроцессорных вычислительных систем

6

5

3.         

Методы и алгоритмы программирования параллельных вычислений

6

14

4.         

Параллельное программирование с использованием PVM

8

14

5.         

Параллельное программирование с использованием MPI

8

14

 

ИТОГО

  30

  47

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

1.     .Лацис А.О. Как построить и использовать суперкомпьютер. -М.: Бестселлер, 2003.

2.     Немнюгин С.А., Стесик О.Л. Параллельное программирование для многопроцессорных вычислительных систем. -СПб.: Петербург, 2002.

3.     Корнеев В.В. Параллельные вычислительные системы. - М. «Нолидж», 1999.

4.     Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. -СПб: BHV, 2002.

5.     Воеводин Вл.В., Капитонова А.П. Методы описания и классификации архитектур вычислительных систем. -М.: Изд-во МГУ, 1994.

6.     Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования. -М.: Вильямс, 2003.