1. procedure ODD-EVEN(n)
2. begin
3. for i:=1 to n do
4. begin
5. if i is odd then
6. for j:=0 to n/2-1 do
7. compare-exchange(a
2j+1
,
a2j+2
)
8. if i is even then
9. for j:=1 to n/2-1 do
10. compare-exchange(a
2j
,a
2j+1
)
11. end for
12. end ODD-EVEN
Мысалы, n = 8 элементті «тақ-жұп орын ауыстыру» әдісімен сұрыптау
керек.. Әрбір фазада n = 8 элемент сұрыпталады.
Енді осы «тақ-жұп» алгоритмді параллельділікке көшірейік. Бұл жағдайда
алгоритмнің әрбір фазасы кезінде элементтердің жұбын салыстыру-
алмастыру операциясы бірмезгілде орындалады. Процессорлар сақиналы
желімен байланысқан болсын. a
i
элементі бастапқыда Р
i
процессорда
болсын., тақ фаза кезінде, тақ номерлі процессордағы элемент оның оң
жағында орналасқан процессордағы элементпен салыстыру-алмастыру
процесі жүреді.. Сол сияқты процесс жұп фаза кезінде де орындалады.
Достарыңызбен бөлісу: