Распределение данных в модели EREW PRAM

В модели с исключительным чтением значение, записанное процессором Pi, может прочитать лишь один процессор. Если мы просто организуем цикл поочередного чтения остальными процессорами, то получим последовательный алгоритм, нивелирующий все преимущества параллелизма. Однако если мы воспользуемся циклом чтение / обработка / запись на втором процессоре для записи значения в другую ячейку памяти, то на следующем шаге уже два процессора смогут прочитать это значение. Записав его затем еще в две ячейки, мы сможем воспользоваться уже четырьмя процессорами. В результате получается следующий алгоритм.

р[1] записывает значение в ячейку М[1]
procLoc=1
for j=l to log p do
Parallel Start
for k=procLoc+l to 2*procLoc do
P[k] читает M[k-procLoc]
P[k] записывает в M[k] end for k
Parallel End
procLoc=procLoc*2
end for j