- •Технологии
- •План
- •Литература
- •Особенности технологий для параллельных вычислений
- •Требования к параллельным вычислениям
- •Модели параллельных вычислений
- •Топологии параллельных систем
- •Примеры топологий
- •Классы параллельных систем
- •Цель созданий программных технологий параллельных
- •Создание параллельных программ в модели с общей
- •Создание параллельных программ с обменом
- •Языки программирования с поддержкой параллелизма
- •Процессы
- •Составные части процесса
- •Память
- •Файловая система
- •Порождение процессов
- •Доступ к файловой системе
- •Работа с файловой
- •Память общего доступа
- •Конфликты при обращении к общим ресурсам: a – общая переменная
- •Семафоры
- •Синхронизация с помощью семафоров
- •Сигналы
- •Потоки
- •Стандарт OpenMP
- •Пример OpenMP
- •Обмен сообщениями
- •Системные API
- •Сокет
- •Диаграмма работы с
- •Синхронный и асинхронный обмен
- •API для асинхронных операций ввода-вывода
- •Сравнение синхронного и асинхронного ввода-вывода
- •Интерфейсы параллельного программирования
- •Message Passing Interface (MPI)
- •Диаграмма соответвия между сокетами, MPI и др
- •Основные определения
- •Разработка и запуск MPI программ
- •Пример MPI программы
- •Результат работы MPI программы
- •Реализации MPI
- •Parallel Virtual Machine (PVM)
- •Основные компоненты
- •Основные операции
- •Принцип создания параллельных программ
- •Пример запуска машины PVM
- •Пример PVM программы
- •Языки рассчитанные на параллельное
- •Вопросы ?
Технологии
параллельных
вычислений
Судаков А.А.
“Параллельные и распределенные вычисления” Лекция 8
План
Общие сведения
Основные схемы параллельных систем
Многопоточность
OpenMP
Обмен сообщениями
MPI
PVM
Linda
Литература
Спецификация OpenMP http://www.openmp.org/drupal/
MPI http://www-unix.mcs.anl.gov/mpi/
Особенности технологий для параллельных вычислений
Параллелизм используется для ускорения вычислений
Необходимы технологии, рассчитанные на быстрый обмен данными
Рассмотренные ранее технологии распределенных вычислений могут использоваться, но они на параллелизм как правило не рассчитывались
Параллельные вычисления в масштабах Интернет пока сомнительны
Требования к параллельным вычислениям
Одновременная работа нескольких устройств
Устройства не должны простаивать в ожидании на что-либо
Обмен и синхронизация должны осуществляться как можно быстрее
Модели параллельных вычислений
Общая (разделяемая) память
Многопоточность
Распределенная память
Обмен сообщениями
Топологии параллельных систем
Различные устройства связаны между собой
Структура связей между различными устройствами называется топологией параллельной системы
Различают логическую и физическую и виртуальную топологии
Физическая определяется аппаратными связями
Виртуальная – программными связями
Логическая – определяет логику работы алгоритма
Примеры топологий
звезда
решетка
Линейка (ферма)
Классы параллельных систем
SISD
SIMD
MIMD
Цель созданий программных технологий параллельных
вычисленийПростая реализация
Моделей
Топологий
Классов
Декомпозиции
Связи
Синхронизации
Частично используются рассмотренные ранее технологии построения распределенных систем