Лекции по параллельным вычислениям. Гергель В.П - 64 стр.

UptoLike

Составители: 

64
разделено на непересекающиеся области, с каждой из которых связаны незави-
симые процессы, оперирующие каждый со своими данными. Требуется лишь
редкий обмен между этими процессами.
3. Релаксационные алгоритмы (Relaxed Algorithm). Алгоритм может быть
представлен в виде независимых процессов без синхронизации связи между
ними, но процессоры должны иметь доступ к общим данным.
4. Алгоритмы с синхронизацией итераций (Synchronous Iteration). Многие
из стандартных численных итерационных параллельных алгоритмов требуют
синхронизации в конце каждой итерации, заключающейся в том, что разреше-
ние на начало следующей итерации дается после того, как все процессоры за-
вершили предыдущую итерацию.
5. Самовоспроизводящиеся задачи (Replicated Workers). Для задач этого
класса создается и поддерживается центральный пул (хранилище) похожих вы-
числительных задач. Параллельно реализуемые процессы осуществляют выбор
задач из пула, выполнение требуемых вычислений и добавление новых задач к
пулу. Вычисления заканчиваются, когда пул пуст. Эта технология характерна
для исследований графа или дерева.
6. Конвейерные вычисления (Pipelined Computation). Этот тип вычислений
характерен для процессов, которые могут быть представлены в виде некоторой
регулярной структуры, например, в виде кольца или двумерной сети. Каждый
процесс, находящийся в узле этой структуры, реализует определенную фазу
вычислений.
Нетрудно заметить, что некоторые алгоритмы из приведенного списка об-
ладают явно выраженными свойствами параллелизма задач или параллелизма
по данным. Вместе с тем ряд алгоритмов в той или иной мере обладают обоими
указанными свойствами. Это следует учитывать при выборе способа и схемы
декомпозиции задачи на подзадачи. Далее рассматривается основанная на ра-
зумных предположениях схема этапов построения параллельного алгоритма,
основанного на декомпозиции данных.