- •Назначение, область применения и способы оценки производительности многопроцессорных вычислительных систем
- •Классификация архитектур по параллельной обработке данных
- •Гибридная архитектура (numa). Организация когерентности многоуровневой иерархической памяти
- •Организация когерентности многоуровневой иерархической памяти
- •Кластерная архитектура.
- •Кластерная архитектура. Проблемы выполнения сети связи процессоров в кластерной системе Кластерная архитектура
- •Сети связи процессоров в кластерной системе
- •Принципы построения коммуникационных сред на основе интерфейса sci
- •Принципы построения коммуникационных сред на основ среды Myrinet
- •Способы организации высокопроизводительных процессоров. Ассоциативные процессоры.
- •Ассоциативные процессоры
- •Способы организации высокопроизводительных процессоров. Конвейерные процессоры.
- •Конвейерные процессоры
- •Способы организации высокопроизводительных процессоров. Матричные процессоры
- •Матричные процессоры
- •Простые коммутаторы с временным разделением. Алгоритмы арбитража
- •Простые коммутаторы с временным разделением
- •Алгоритмы арбитража
- •П ростые коммутаторы с пространственным разделением. Особенности реализации шин
- •Особенности реализации шин
- •Составные коммутаторы. Коммутатор Клоза. Баньян-сети
- •Распределенные составные коммутаторы. Граф межмодульных связей Convex Exemplar spp1000.
- •Распределенные составные коммутаторы. Граф межмодульных связей мвс-100.
- •Распределенные составные коммутаторы. Граф межмодульных связей мвс-1000.
- •Требования к компонентам мвс. Отношение "стоимость / производительность".
- •Требования к компонентам мвс. Масштабируемость
- •Требования к компонентам мвс. Совместимость и мобильность программного обеспечения
- •Надежность и отказоустойчивость мвс.
- •Пути достижения параллелизма
- •Примеры параллельных вычислительных систем
- •Принципы разработки параллельных методов
- •Моделирование параллельных программ
- •Этапы разработки параллельных алгоритмов
- •1. Разделение вычислений на независимые части
- •2. Выделение информационных зависимостей
- •3. Масштабирование набора подзадач
- •4. Распределение подзадач между процессорами
- •Mpi: основные понятия и определения
- •Введение в разработку mpi программ. Инициализация и завершение mpi-программ. Операции передачи данных. Типы данных.
- •Коллективные операции передачи данных в mpi
- •Передача данных от одного процесса всем процессам программы
- •Передача данных от всех процессов одному процессу. Операция редукции
- •Обобщенная передача данных от одного процесса всем процессам
- •Обобщенная передача данных от всех процессов одному процессу
- •Общая характеристика среды выполнения mpi-программ
- •Понятие производного типа данных в mpi
- •Способы конструирования производных типов данных. Непрерывный способ конструирования
- •Непрерывный способ конструирования
- •Способы конструирования производных типов данных. Векторный способ конструирования
- •Векторный способ конструирования
- •Способы конструирования производных типов данных. Индексный способ конструирования
- •Индексный способ конструирования
- •Способы конструирования производных типов данных. Структурный способ конструирования
- •Структурный способ конструирования
- •Формирование сообщений при помощи упаковки и распаковки данных
Примеры параллельных вычислительных систем
Суперкомпьютеры
Экономическое: суперкомпьютер – это система, цена которой выше 1–2 млн. долларов.
Философское: суперкомпьютер – это компьютер, мощность которого всего на порядок меньше необходимой для решения современных задач.
Кластеры
Кластер – группа компьютеров, объединенных в локальную вычислительную сеть (ЛВС) и способных работать в качестве единого вычислительного ресурса.
Принципы разработки параллельных методов
Эффективные способы организации параллельных вычислений могут состоять в следующем:
выполнить анализ имеющихся вычислительных схем и осуществить их разделение (декомпозицию) на части (подзадачи), которые могут быть реализованы в значительной степени независимо друг от друга;
выделить для сформированного набора подзадач информационные взаимодействия, которые должны осуществляться в ходе решения исходной поставленной задачи;
определить необходимую (или доступную) для решения задачи вычислительную систему и выполнить распределение имеющего набора подзадач между процессорами системы.
Рис.1. Общая схема разработки параллельных алгоритмов
Моделирование параллельных программ
На стадии проектирования параллельный метод может быть представлен в виде графа "подзадачи – сообщения", который представляет собой не что иное, как укрупненное (агрегированное) представление графа информационных зависимостей. Аналогично на стадии выполнения для описания параллельной программы может быть использована модель в виде графа "процессы – каналы", в которой вместо подзадач используется понятие процессов, а информационные зависимости заменяются каналами передачи сообщений. Дополнительно на этой модели может быть показано распределение процессов по процессорам вычислительной системы, если количество подзадач превышает число процессоров.
Использование двух моделей параллельных вычислений позволяет лучше разделить проблемы, которые проявляются при разработке параллельных методов. Первая модель – граф "подзадачи – сообщения" – позволяет сосредоточиться на вопросах выделения подзадач одинаковой вычислительной сложности, обеспечивая при этом низкий уровень информационной зависимости между подзадачами. Вторая модель – граф "процессы – каналы" – концентрирует внимание на вопросах распределения подзадач по процессорам, обеспечивая еще одну возможность снижения трудоемкости информационных взаимодействий между подзадачами за счет размещения на одних и тех же процессорах интенсивно взаимодействующих процессов.
Этапы разработки параллельных алгоритмов
1. Разделение вычислений на независимые части
Выбор способа разделения вычислений на независимые части основывается на анализе вычислительной схемы решения исходной задачи. Требования, которым должен удовлетворять выбираемый подход, обычно состоят в обеспечении равного объема вычислений в выделяемых подзадачах и минимума информационных зависимостей между этими подзадачами.