Министерство образования Российской Федерации
Нижегородский государственный университет
им. Н.И. Лобачевского
Учебное пособие
Издание 2-е, дополненное
Издательство Нижегородского госуниверситета
Нижний Новгород
2003
Аннотация
В учебном пособии излагается учебный материал, достаточный для успешного начала работ в области параллельного программирования. Для этого в пособии дается краткая характеристика принципов построения параллельных вычислительных систем, рассматриваются математические модели параллельных алгоритмов и программ для анализа эффективности параллельных вычислений, приводятся примеры конкретных параллельных методов для решения типовых задач вычислительной математики.
По сравнению с первым изданием в пособии значительно расширены материалы по кластерным вычислительным системам, анализу трудоемкости коммуникационных операций, параллельным методам решения типовых задач вычислительной математики. В пособие включены результаты вычислительных экспериментов на кластере Нижегородского университета.
Учебное пособие предназначено для широкого круга студентов, аспирантов и специалистов, желающих изучить и практически использовать параллельные компьютерные системы для решения вычислительно трудоемких задач.
Авторы
Роман Григорьевич Стронгин – ректор Нижегородского государственного Университета им. Н.И.Лобачевского (http://www.unn.ru). На данный момент он также возглавляет кафедру математического обеспечения ЭВМ факультета ВМК. Р.Г. Стронгин является заслуженным учёным Российской Федерации, членом редакционной коллегии журнала "Global Optimization" (1991-1998) и международного теоретического журнала "Математика" (1998-~). Р.Г. Стронгин – главный редактор серии публикаций Нижегородского Университета по математическому моделированию и оптимальному управлению, постоянный член Российской Академии Естественных Наук. Его исследовательские интересы в настоящий момент – теория и практика принятия решений. Р.Г. Стронгин – автор новых параллельных методов для решения задач глобальной оптимизации. Им опубликованы три монографии и более 270 статей в журналах "Global Optimization", "Parallel Computing", "Optimization", "Stochastics and Stochastics Reports", "Pattern Recognition and Image Analysis", "Engineering Cybernetics", "Lecture Notes in Economics and Mathematical Systems", "Журнал вычислительной математики и математической физики", "Кибернетика" и др. |
|
Виктор Павлович Гергель – профессор кафедры математического обеспечения ЭВМ факультета ВМК (http://www.software.unn.ac.ru/mo_evm) в Нижегородского государственного Университета им. Н.И.Лобачевского. Он возглавляет Центр компьютерного моделирования и Отделение дополнительного компьютерного обучения. Его исследовательские интересы в настоящий момент – теория и применение параллельный вычислений и разработка методов и программных систем принятия решений. В.П. Гергель – автор новых параллельных методов для решения задач глобальной оптимизации. Им опубликованы три книги и более 120 статей в журналах "Global Optimization", "Optimization", "European Journal of Operation Research", "Pattern Recognition and Image Analysis", "Engineering Cybernetics", "Журнал вычислительной математики и математической физики" и др. |
Содержание
1. Принципы построения параллельных вычислительных систем
1.1. Пути достижения параллелизма
1.2. Классификация вычислительных систем
1.3. Характеристика типовых схем коммуникации в многопроцессорных вычислительных системах
1.4. Высокопроизводительный вычислительный кластер ННГУ
2. Моделирование и анализ параллельных вычислений
2.1. Модель вычислений в виде графа "операции-операнды"
2.2. Описание схемы параллельного исполнения алгоритма
2.3. Определение времени выполнения параллельного алгоритма
2.4. Показатели эффективности параллельного алгоритма
3. Оценка коммуникационной трудоемкости параллельных алгоритмов
3.1. Характеристики топологии сети передачи данных
3.2. Общая характеристика механизмов передачи данных
3.3. Анализ трудоемкости основных операций передачи данных
Передача данных между двумя процессорами сети
Передача данных от одного процессора всем остальным процессорам сети
Передача данных от всех процессоров всем процессорам
Обобщенная передача данных от одного процессора всем остальным процессорам сети
Обобщенная передача данных от всех процессоров всем процессорам сети
3.4. Методы логического представления топологии коммуникационной среды
Представление кольцевой топологии в виде гиперкуба
Отображение топологии решетки на гиперкуб
3.5. Оценка трудоемкости операций передачи данных для кластерных систем
4. Параллельные численные алгоритмы для решения типовых задач вычислительной математики
4.1. Вычисление частных сумм последовательности числовых значений
Последовательный алгоритм суммирования
Модифицированная каскадная схема
4. 2. Умножение матрицы на вектор
Достижение максимально возможного быстродействия
Использование параллелизма среднего уровня
Организация параллельных вычислений при p = n
Использование ограниченного набора процессоров
Макрооперационный анализ алгоритмов решения задач
Организация параллелизма на основе разделения данных
Параллельное обобщение базовой операции сортировки
Нахождение минимально охватывающего дерева
5. Модели функционирования параллельных программ
5.3. Организация программ как системы процессов
5.4. Взаимодействие и взаимоисключение процессов
5.5. Модель программы в виде дискретной системы
Определение состояния программы
Описание возможных изменений программы
Обнаружение и исключение тупиков
5.6. Модель программы в виде сети Петри
6. Учебно-практическая задача: Решение дифференциальных уравнений в частных производных
6.1. Последовательные методы решения задачи Дирихле
6.2. Организация параллельных вычислений для систем с общей памятью
Использование OpenMP для организации параллелизма
Проблема синхронизации параллельных вычислений
Возможность неоднозначности вычислений в параллельных программах
Исключение неоднозначности вычислений
Волновые схемы параллельных вычислений
Балансировка вычислительной нагрузки процессоров
6.3. Организация параллельных вычислений для систем с распределенной памятью
Обмен информацией между процессорами
Коллективные операции обмена информацией
Блочная схема разделения данных
© Гергель В.П., Стронгин Р.Г., 2003