Нарисуем схему этого конвейера, а потом напишем программу, которая этот конвейер реализует.
Конвейер будет состоять из 3 стадий, то есть будет 3 независимых процесса, которые как правило будут распределены на разные процессоры в этой многопроцессорной сети. Мы данные подаем на один процесс, он их вычисляет, результат подаем на 2 процесс, она этот результат должен опять преобразовать и свой результат передать третьему процессу. Каналы организуем в виде массива. Но для того чтобы сделать ситуацию более интересной организуем каналы в виде массива.
Пишем программу, которая реализует эту конвейерную обработку. Заметьте, что время на последовательную обработку(у вас есть один процесс и он будет последовательно выполнять эту работу) будет гораздо больше, чем мы организуем постоянный поток данных на эту схему, то комплексная эффективность будет больше 1, потому что эти процессы существуют параллельно и независимо.
[4]CHAN OF INT C
PAR
P[1](C[0], C[1])
P[2](C[1], C[2])
P[3](C[2], C[3])
Эти 3 конструкции можно заменить одной:
[4]PROCESS P
PAR i=1 FOR 3
P[i](C[i],C[i+1])
Это конвейерная обработка с эффективностью больше 1, единственно, что мы должны обеспечить на вход 1-го процесс постоянное поступление данных.
