Шаг 28.
Параллельные алгоритмы. Методы построения параллельных программ. Метод геометрического параллелизма

    На этом шаге мы рассмотрим суть метода геометрического параллелизма.

    Рассмотрим остальные методы на примере задачи построения стены Фокса. Стена состоит из кирпичей, уложенных так, как показано на рисунке 1.


Рис.1. Стена Фокса

    Предположим, требуется укладывать каждый кирпич так, чтобы он не касался других кирпичей того же цвета. Для того, чтобы уложить каждый кирпич, нужно обладать следующей информацией: уложены ли предыдущие кирпичи и какими свойствами они обладают (в данном случае это цвет). Задача состоит в построении такой стены несколькими каменщиками (процессорами).

    Пусть n - ширина стены (число кирпичей в нижнем ряду), k - высота стены.

Метод геометрического параллелизма

    Каждый каменщик (процессор) укладывает свой вертикальный фрагмент стены, причем он должен получать и передавать информацию об уложенных кирпичах и их свойствах (рисунок 2).


Рис.2. Метод геометрического параллелизма

    В данном методе ко времени собственно укладки кирпичей прибавляется время на передачу информации. Метод позволяет получать высокие ускорения, если все процессоры работают синхронно, с одинаковой скоростью. Метод используется при решении задач математической физики, при решении систем уравнений и т.д.

    Если - время на прием и передачу данных, то получим следующие характеристики метода:

    На следующем шаге мы рассмотрим метод коллективного решения.




Предыдущий шаг Содержание Следующий шаг