Сравнение систем параллельного программирования MPI, PVM и HPF А. В. Комолкин Физический факультет Санкт-Петербургского государст

Содержание

Слайд 2

Сравнение систем параллельного программирования MPI, PVM и HPF А. В. Комолкин Физический факультет Санкт-Петербургского государственного университета

Сравнение систем параллельного программирования MPI, PVM и HPF

А. В. Комолкин
Физический факультет
Санкт-Петербургского государственного

университета
Слайд 3

Место высокопроизводительных вычислений в нашей жизни А. В. Комолкин Физический факультет Санкт-Петербургского государственного университета

Место высокопроизводительных вычислений в нашей жизни

А. В. Комолкин
Физический факультет
Санкт-Петербургского государственного университета

Слайд 4

ЭТО МОЕ ЛИЧНОЕ МНЕНИЕ А. В. Комолкин

ЭТО МОЕ ЛИЧНОЕ МНЕНИЕ

А. В. Комолкин

Слайд 5

Слайд 6

Какой сложности должна быть задача?

Какой сложности должна быть задача?

Слайд 7

Какой сложности должна быть задача? ≤10 минут — интерактивная задачи

Какой сложности должна быть задача?

≤10 минут — интерактивная задачи

Слайд 8

Какой сложности должна быть задача? ≤10 минут — интерактивная задачи >10 минут — пакетный режим

Какой сложности должна быть задача?

≤10 минут — интерактивная задачи
>10 минут —

пакетный режим
Слайд 9

Какой сложности должна быть задача? ≤10 минут — интерактивная задачи >10 минут — пакетный режим

Какой сложности должна быть задача?

≤10 минут — интерактивная задачи
>10 минут —

пакетный режим
<15 часов — ночной счет
Слайд 10

Какой сложности должна быть задача? ≤10 минут — интерактивная задачи >10

Какой сложности должна быть задача?

≤10 минут — интерактивная задачи
>10 минут —

пакетный режим
<15 часов — ночной счет
X суток, в течение которых пользователь забывает, с какими начальными данными запускается задача…
Слайд 11

Какой сложности должна быть задача? ≤10 минут — интерактивная задачи >10

Какой сложности должна быть задача?

≤10 минут — интерактивная задачи
>10 минут —

пакетный режим
<15 часов — ночной счет
X суток, в течение которых пользователь забывает, с какими начальными данными запускается задача…
Задача реального времени
Слайд 12

Как решается задача на компьютере?

Как решается задача на компьютере?

Слайд 13

Как решается задача на компьютере? Постановка задачи начальником Конкретизация условия задачи, уточнение области применимости

Как решается задача на компьютере?

Постановка задачи начальником
Конкретизация условия задачи, уточнение области

применимости
Слайд 14

Как решается задача на компьютере? Постановка задачи начальником Конкретизация условия задачи,

Как решается задача на компьютере?

Постановка задачи начальником
Конкретизация условия задачи, уточнение области

применимости
Построение физической (химической…) модели
Построение математической модели
Выбор численных методов
Слайд 15

Как решается задача на компьютере? Постановка задачи начальником Конкретизация условия задачи,

Как решается задача на компьютере?

Постановка задачи начальником
Конкретизация условия задачи, уточнение области

применимости
Построение физической (химической…) модели
Построение математической модели
Выбор численных методов
Описание структур данных и построение алгоритма
Программирование
Слайд 16

Как решается задача на компьютере? Постановка задачи начальником Конкретизация условия задачи,

Как решается задача на компьютере?

Постановка задачи начальником
Конкретизация условия задачи, уточнение области

применимости
Построение физической (химической…) модели
Построение математической модели
Выбор численных методов
Описание структур данных и построение алгоритма
Программирование
Тестирование и отладка
Запуск на счет…
Слайд 17

Как решается задача на компьютере? Постановка задачи начальником Конкретизация условия задачи,

Как решается задача на компьютере?

Постановка задачи начальником
Конкретизация условия задачи, уточнение области

применимости
Построение физической (химической…) модели
Построение математической модели
Выбор численных методов
Описание структур данных и построение алгоритма
Программирование
Тестирование и отладка
Запуск на счет…
Слайд 18

Стратегия написания программ Разделение на подзадачи Выбор подходящего языка программирования для

Стратегия написания программ

Разделение на подзадачи
Выбор подходящего языка программирования для каждой подзадачи
Умеет

работать с выбранными структурами данных
Содержит средства для решения поставленных задач (связь, графика, управление аппаратурой, …)
Выбор подходящей среды (среды разработчика, операционной, графической, …)
Слайд 19

Рекомендуемая литература Н. Вирт «Алгоритмы + структуры данных = программы» Дал, Дейкстра, Хоор. «Структурное программирование»

Рекомендуемая литература

Н. Вирт «Алгоритмы + структуры данных = программы»
Дал, Дейкстра, Хоор.

«Структурное программирование»
Слайд 20

Слайд 21

Сравнение систем параллельного программирования MPI, PVM и HPF А. В. Комолкин Физический факультет Санкт-Петербургского государственного университета

Сравнение систем параллельного программирования MPI, PVM и HPF

А. В. Комолкин
Физический факультет
Санкт-Петербургского государственного

университета
Слайд 22

Основные системы MPI — Message Passing Interface PVM — Parallel Virtual

Основные системы

MPI — Message Passing Interface
PVM — Parallel Virtual Machine
HPF —

High Performance FORTRAN
Слайд 23

MPI Библиотека подпрограмм обмена данными Команда для запуска программы “mpirun” Дополнительные

MPI

Библиотека подпрограмм обмена данными
Команда для запуска программы “mpirun”
Дополнительные средства (параллельный ввод/вывод,

параллельная графика, профилирование…)
Слайд 24

PVM Библиотека подпрограмм обмена данными Подсистема для запуска программ на исполнение

PVM

Библиотека подпрограмм обмена данными
Подсистема для запуска программ на исполнение

Слайд 25

HPF Язык FORTRAN-90 Комментарии-директивы транслятора Команда для запуска программы (иногда)

HPF

Язык FORTRAN-90
Комментарии-директивы транслятора
Команда для запуска программы (иногда)

Слайд 26

Краткое сравнение MPI PVM Супер-ЭВМ, однородные кластеры Одна (одинаковая) программа Постоянное

Краткое сравнение MPI PVM

Супер-ЭВМ, однородные кластеры
Одна (одинаковая) программа
Постоянное число процессов
Не устойчив к

сбоям
Больше подпрограмм обмена
Параллельный В/В

(Гетерогенные) кластеры .
Две программы (Master/slave)
Динамический запуск процессов
Устойчивость к сбоям
Меньше подпрограмм обмена
Нет параллельного В/В

Слайд 27

Свойства HPF Один исходный текст для последовательной и параллельной версий Единое

Свойства HPF

Один исходный текст для последовательной и параллельной версий
Единое адресное пространство

данных
Скрытый от программиста обмен данными
Излишние синхронизации и обмены
Слайд 28

Слайд 29

Домашнее задание komolkin@esr.phys.spbu.ru

Домашнее задание

komolkin@esr.phys.spbu.ru

Слайд 30

FORTRAN dx = dx - boxl*dnint(dx/boxl) dnint( x ) dsign( dble(

FORTRAN

dx = dx - boxl*dnint(dx/boxl)
dnint( x )
dsign( dble( idint( dabs( x

)+0.5d0 ) ), dx )
Какое из выражений вычисляется быстрее и почему?
Слайд 31

С #include “math.h” r = sin(x); e = exp(y); # gcc

С

#include “math.h”
r = sin(x); e = exp(y);
# gcc tst.c -O0

-ffast-math -lm
# gcc tst.c -O1 -ffast-math
Почему во втором случае не требуется включение
библиотеки libm.a (libm.so) в исполняемую программу?
Слайд 32

Рекомендуемая литература Немнюгин С., Чаунин М., Комолкин А. Эффективная работа: UNIX.

Рекомендуемая литература

Немнюгин С., Чаунин М., Комолкин А. Эффективная
работа: UNIX. — СПб,

«Питер», 2001. 688 с.
Немнюгин С.А., Стесик О.Л. Параллельное программирование
для многопроцессорных вычислительных систем. —
СПб, БХВ-Петербург, 2002. 400 с.