Краткое описание параллельного метода.
Для решения этой задачи используется геометрическое разбиение
океана при следующих предположениях:
-
Океан - квадратная область;
-
Квадрат океана можно разбить на (4,9,16,...) равные более мелкие
квадратные подобласти;
-
Количество процессов равно (5,10,17,...);
-
Сушествует один, нулевой, управляющий процесс, а остальные процессы
выполняют роль вычислителей;
При этом, каждый процесс, отвечает за определённую область океана,
а именно за поведение рыб и акул в ней. В совокупности процессы образуют
топологию "замкнутая решетка"(тор).
Для водоема вводится двумерный массив, каждая ячейка которого содержит рыбу,
акулу, или пусто. Также для каждого процесса существует массив, содержащий
информацию о видах особей и их возростах. Обработка
информации ведется по элементам этого массива.
Для разрешения конфликтов, возникающих на границах водоемов,
прямоугольным областям к каждой границе добавляется еще один дополнительный
столбец или строка. В них, при взаимообмене соседних
процессов, заносится информация о соответствующих границах
области.
|