Қазақстан респудликасы білім және ғылым министрлігі


Программа 3. n-процессорлы сақинада орындалатын "тақ-жұр орын



Pdf көрінісі
бет28/57
Дата06.01.2022
өлшемі1,9 Mb.
#14410
1   ...   24   25   26   27   28   29   30   31   ...   57
Программа 3. n-процессорлы сақинада орындалатын "тақ-жұр орын 

ауыстыру" тәсілінің параллельді алгоритмі.

1. procedure ODD-EVEN-PAR(n)

2. begin

3. id := processor's label

4. for i:= 1 to n do

5. begin

6. if i is odd then


7. if id is odd then

8. compare-exchange_min(id+1);

9. else

10. compare-exchange_max(id-1);

11. if  i is even then

12. if id is even then

13. compare-exchange_min(id+1);

14. else

15. compare-exchange_max(id-1);

16. end for

17. end ODD-EVEN_PAR

Әрбір  фазада  орындалатын  қадамдарға    Q(1)  уақыт  кетеді.  Барлығы  n  фаза  

болса, параллельді алгоритмнің орындалуына Q(n) уақыт кетеді екен.

Параллельді әдіске қысқаша сипаттама

p  –  процессорлар  саны,  n  –  сұрыпталатын  тізбектің  ұзындығы,  мұндағы  p

Бастапқыда, әрбір процессор үшін n/p элементтен тұратын блок тағайындалады, 

ол  бұл  элементтерден  іштей  Q((n/p)*log(n/p))  уақытта  сұрыптап  шығады. 

Мұнан кейін процессорлар р фазыдан өтіп шығады (p/2 тақ және p/2 жұп), яғни 

«салыстыру-бөлу»  (compare-split)  операциясын  орындайды.  Сақинадағы 

процессорлар  бір-біріне  элементтерін  алмастырады.  Нәтижесніде  әрбір 

процессорда  өз  элементтері  және  көрші  процессордың  элементтері 

сұрыпталады  да,  қайта  бөлінеді:  сол  жақтағы  көрші  процессор  элементтердің 

бірінші  жартысын  (кіші  элементтерді), оң  жақтағы  –  екінші  жартысын  (үлкен 

элементтерді)  бөліп алады. Осы фазалар өткен соң тізбек сұрыпталады. Әрбір 

фаза  кезінде  екі  блокты  біріктіру  үшін  Q(n/p)  салыстыру  орындалады  және  

Q(n/p) уақыт жұмсалады. 



12-13- дәріс

Тақырыбы: Параллель программалау. Ағындар және мәліметтерді 





Достарыңызбен бөлісу:
1   ...   24   25   26   27   28   29   30   31   ...   57




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет