Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ALL_otvety_na_ekzamen_PRO.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
473.05 Кб
Скачать

16. Модели программирования и параллелизма dvm

Модель параллелизма DVM. Модель параллелизма DVM базируется на модели параллелизма по данным. Аббревиатура DVM отражает два названия модели: распределенная виртуальная память (Distributed Virtual Memory) и распределенная виртуальная машина (Distributed Virtual Mashine). Эти два названия указывают на адаптацию модели DVM как для систем с общей памятью, так и для систем с распределенной памятью. Высокоуровневая модель DVM позволяет не только снизить трудоемкость разработки параллельных программ, но и определяет единую формализованную базу для систем поддержки выполнения, отладки, оценки и прогноза производительности.

Язык DVM расширенный спецификациями параллелизма. Эти спецификации оформлены в виде специальных комментариев, которые называются директивами. Директивы DVM можно условно разделить на три подмножества:

- Распределение данных

- Распределение вычислений

- Спецификация удаленных данных

Модель параллелизма DVM базируется на специальной форме параллелизма по данным: одна программа – множество потоков данных (ОПМД). В этой модели одна и та же программа выполняется на каждом процессоре, но каждый процессор выполняет свое подмножество операторов в соответствии с распределением данных.

В модели DVM пользователь вначале определяет многомерный массив виртуальных процессоров, на секции которого будут распределяться данные и вычисления. При этом секция может варьироваться от полного массива процессоров до отдельного процессора.

На следующем этапе определяются массивы, которые должны быть распределены между процессорами (распределенные данные). Эти массивы специфицируются директивами отображения данных. Остальные переменные (распределяемые по умолчанию) отображаются по одному экземпляру на каждый процессор (размноженные данные). Размноженная переменная должна иметь одно и то же значение на каждом процессоре за исключением переменных в параллельных конструкциях

Модель DVM определяет два уровня параллелизма:

- параллелизм по данным на секции массива процессоров;

- параллелизм задач – независимые вычисления на секциях массива процессоров.

Параллелизм по данным реализуется распределением витков тесно-гнездового цикла между процессорами. При этом каждый виток такого параллельного цикла полностью выполняется на одном процессоре. Операторы вне параллельного цикла выполняются по правилу собственных вычислений.

Параллелизм задач реализуется распределением данных и независимых вычислений на секции массива процессоров.

17. Возможности повышения эффективности dvm-программ

Существуют следующие возможности повышения эффективности DVM-программ:

- использование групповых асинхронных взаимодействий процессоров (одновременное выполнение нескольких редукций и обменов для нескольких массивов);

- возможность перекрытия простоев процессоров при групповых асинхронных взаимодействиях с вычислениями;

- автоматическое изменение порядка выполнения витков цикла для опережающих вычислений и рассылок данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]