Составители:
Рубрика:
10
Две парадигмы параллельного программирования
На
рис
. 9
представлен
информационный
граф
,
показывающий
,
что
в
общем
случае
в
программе
присутствуют
как
параллелизм
данных
,
так
и
параллелизм
задач
.
Рис. 9.
Параллелизм
задач
и
параллелизм
данных
Параллелизм данных
Наличие
нескольких
стрелок
,
связывающих
соседние
вершины
информационного
графа
,
означает
применение
одной
операции
сразу
к
нескольким
элементам
данных
(
массиву
).
Различные
фрагменты
такого
массива
могут
обрабатываться
на
векторном
процессоре
или
на
разных
процессорах
параллельной
вычислительной
системы
.
Векторизация
или
распараллеливание
в
рамках
данного
подхода
выполняются
во
время
трансляции
.
В
этом
случае
при
разработке
параллельного
приложения
от
программиста
требуется
:
•
задание
опций
векторной
или
параллельной
оптимизации
транслятору
;
•
задание
директив
параллельной
компиляции
;
•
использование
специализированных
языков
параллельных
вычислений
,
библиотек
подпрограмм
,
специально
разработанных
с
учетом
конкретной
архитектуры
компьютера
и
оптимизированных
для
этой
архитектуры
.
Основные
особенности
данного
подхода
перечислены
ниже
:
•
обработкой
данных
управляет
одна
программа
;
•
пространство
имен
является
глобальным
;
•
параллельные
операции
над
элементами
массива
выполняются
одновременно
на
всех
доступных
данной
программе
процессорах
.
При
программировании
на
основе
параллелизма
данных
часто
используются
специализированные
языки
или
надстройки
над
языками
DVM Fortran, HPF (High
Perfomance Fortran)
и
другие
.
Реализация
модели
параллелизма
данных
требует
поддержки
параллелизма
на
уровне
транслятора
.
Такую
поддержку
могут
обеспечивать
:
•
препроцессоры
,
использующие
существующие
последовательные
трансляторы
и
специализированные
библиотеки
,
с
реализациями
параллельных
алгоритмических
конструкций
;
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »