4.3. Вероятностные методы в параллельных вычислениях 157
4.3. Вероятностные методы
в параллельных вычислениях
4.3.1. Максимальное по включению независимое
множество в графе
Модели параллельных вычислений
В литературе при описании параллельных алгоритмов чаще
всего используются параллельные машины с произвольным до-
ступом к памяти — PRAM (Parallel Random Access Machine).
Благодаря абстрагированию от многих специфических осо-
бенностей параллельных архитектур, модель PRAM позволя-
ет достаточно просто реализовывать параллельные алгоритмы,
не отвлекаясь на технические детали, возникающие при работе
с реальными параллельными архитектурами.
PRAM состоит из p идентичных RAM (подробнее о моде-
ли RAM написано в разделе 1.2.1), называемых процессорами,
имеющих общую память (см. рис. 4.3).
Процессоры работают синхронно, и каждый из них мо-
жет переписывать в свой сумматор содержимое любой ячей-
ки памяти. Команды одноадресные, локальной памяти данных
нет, за исключением одного сумматора в каждом процессоре.
Каждый процессор работает по своей программе, хранимой
в специальной локальной памяти. В PRAM имеется одна об-
щая для всех процессоров входная лента, и каждый процессор
имеет свою выходную ленту.
Вычисление производится синхронно всеми процессорами,
начиная с первой команды. Вычисление заканчивается после
того, как каждый процессор завершит свою работу (выполнит
команду HALT). Результатом вычисления считается набор из
p последовательностей чисел на выходных лентах.
Процессоры могут писать в память и читать из памяти
независимо друг от друга. Ограничением является лишь воз-
можность писать или читать из одной ячейки для нескольких