DISTRIBUIRANI ALGORITMI I SISTEMI

Similar documents
Projektovanje paralelnih algoritama II

Mathcad sa algoritmima

Osobine metode rezolucije: zaustavlja se, pouzdanost i kompletnost. Iskazna logika 4

Uvod u relacione baze podataka

TEORIJA SKUPOVA Zadaci

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

Red veze za benzen. Slika 1.

Konstrukcija i analiza algoritama

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

UNIVERZITET U BEOGRADU MATEMATIČKI FAKULTET

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

Operativni sistemi 2

Projektovanje paralelnih algoritama I. Uvod Osnove dinamičke paralelizacije

Sinhronizacija procesa

Fajl koji je korišćen može se naći na

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

BROJEVNE KONGRUENCIJE

U ovom dijelu upoznat ćemo strukturu podataka stablo, uvesti osnovnu terminologiju, implementaciju i algoritme nad tom strukturom.

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

Grafovi. Osnovni algoritmi sa grafovima. Predstavljanje grafova

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

Zadatci sa ciklusima. Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva.

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

MREŽNI DIJAGRAMI Planiranje

THE CHANGE OF GENETIC AND PHENOTYPIC VARIABILITY OF YIELD COMPONENTS AFTER RECURRENT SELECTION OF MAIZE

Hamiltonovi grafovi i digrafovi

Uvod u analizu (M3-02) 05., 07. i 12. XI dr Nenad Teofanov. principle) ili Dirihleov princip (engl. Dirichlet box principle).

Programiranje u realnom vremenu Bojan Furlan

3. Programiranje u Matlab-u

AIR CURTAINS VAZDU[NE ZAVESE V H

Karakterizacija problema zadovoljenja uslova širine 1

Mostovi Kaliningrada nekad i sada

Metrički prostori i Riman-Stiltjesov integral

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

Rekurzivni algoritmi POGLAVLJE Algoritmi s rekurzijama

On the relation between Zenkevich and Wiener indices of alkanes

ZANIMLJIVI ALGEBARSKI ZADACI SA BROJEM 2013 (Interesting algebraic problems with number 2013)

Neke osobine popločavanja ravni

Uvod u algoritamske tehnike

Konstrukcija i analiza algoritama

Algoritam za odre divanje ukupnog poravnanja dva grafa poravnanja parcijalnog ure daja

Veleučilište u Rijeci. Dodjela procesora (eng. CPU scheduling)

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni nastavnički studij matematike i informatike. Sortiranje u linearnom vremenu

Dekartov proizvod grafova

pretraživanje teksta Knuth-Morris-Pratt algoritam

O homomorfizam-homogenim geometrijama ranga 2

NAPREDNI FIZIČKI PRAKTIKUM II studij Geofizika POLARIZACIJA SVJETLOSTI

An Algorithm for Computation of Bond Contributions of the Wiener Index

UNIVERZITET U NIŠU PRIRODNO-MATEMATIČKI FAKULTET. mr Dragan Stevanović NEKE KOMPOZICIJE GRAFOVA I GRAFOVI SA CELOBROJNIM SPEKTROM

Modified Zagreb M 2 Index Comparison with the Randi} Connectivity Index for Benzenoid Systems

VELOCITY PROFILES AT THE OUTLET OF THE DIFFERENT DESIGNED DIES FOR ALUMINIUM EXTRUSION

Primjena optimizacije kolonijom mrava na rješavanje problema trgovačkog putnika

Transformatori. 10/2 Uvod. Jednofazni transformatori. Sigurnosni, rastavni, upravlja ki i

APPROPRIATENESS OF GENETIC ALGORITHM USE FOR DISASSEMBLY SEQUENCE OPTIMIZATION

O GLATKIM GRAFOVIMA KOMPATIBILNIM SA TEJLOROVIM OPERACIJAMA

False. Vrednost XIC Stanje bita "a" naredbe 0 True. 1 False. Bit na adresi "a" dobija vrednost uslov. Bit na adresi "a" dobija vrednost uslov

ANALYTICAL AND NUMERICAL PREDICTION OF SPRINGBACK IN SHEET METAL BENDING

1.1 Algoritmi. 2 Uvod

Katedra za računarsku tehniku i informatiku

Asian Journal of Science and Technology Vol. 4, Issue 08, pp , August, 2013 RESEARCH ARTICLE

MATHEMATICAL ANALYSIS OF PERFORMANCE OF A VIBRATORY BOWL FEEDER FOR FEEDING BOTTLE CAPS

A STUDY ON NATURAL CONVECTION HEAT TRANSFER IN COMPLEX BOUNDARIES

FTN Novi Sad Katedra za motore i vozila. Drumska vozila Uputstvo za izradu vučnog proračuna motornog vozila. 1. Ulazni podaci IZVOR:

LLL Seminari u okviru TEMPUS projekta

Algoritmi i programiranje

ALGORITAM FAKTORIZACIJE GNFS

Fraktali - konačno u beskonačnom

ANALYSIS OF THE RELIABILITY OF THE "ALTERNATOR- ALTERNATOR BELT" SYSTEM

~ HEURISTIKE ~ Složen problem se često ne može rešiti tačno, zato koristimo približno rešenje!

Zbirka ispitnih zadataka iz Baza Podataka 1 Ispiti i kolokvijumi u periodu

Mehurasto sortiranje Brzo sortiranje Sortiranje učešljavanjem Sortiranje umetanjem. Overviev Problemi pretraživanja Heš tabele.

Andrea Rožnjik. VaR KAO MERA RIZIKA U OPTIMIZACIJI PORTFOLIA. - magistarska teza - Novi Sad, 2008.

Maja Antolović Algoritmi u teoriji brojeva

Šta je to mašinsko učenje?

Katedra za računarsku tehniku i informatiku

UOPŠTENI INVERZI, FAKTORI USLOVLJENOSTI I PERTURBACIJE

Linearne strukture podataka. Nelinearne strukture podataka

Realizacija i ocjena MPPT algoritama u fotonaponskom sistemu napajanja

Keywords: anticline, numerical integration, trapezoidal rule, Simpson s rule

Fibonaccijev brojevni sustav

Neke klase maksimalnih hiperklonova

Univerzitet u Beogradu

SITO POLJA BROJEVA. Dario Maltarski PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad. Voditelj rada: Doc. dr. sc.

CLINICAL. Neodoljiva ponuda iz Ivoclar Vivadenta PROLJEĆE LJETO. Ponuda traje od: ili do isteka zaliha

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

Prsten cijelih brojeva

Termodinamika. FIZIKA PSS-GRAD 29. studenog Copyright 2015 John Wiley & Sons, Inc. All rights reserved.

Krive u prostoru Minkovskog

VREMENSKE SERIJE U FINANSIJAMA: ARCH I GARCH

Jasna Kellner. snake. bee. mole. owl. branch. birds. bear. leaves. forest den. tree. sun. badger. butterfly

Numerical Inverse Laplace Transform

Rešavanje problema uspostavljanja uslužnih objekata primenom heurističkih metoda

Intertemporalni izbor i optimalno upravljanje

INVESTIGATION OF UPSETTING OF CYLINDER BY CONICAL DIES

Regulisani elektromotorni pogoni sa asinhronim mašinama Direktna kontrola momenta

Pitagorine trojke. Uvod

Kristina Popadić. Analiza preživljavanja sa primenama u zdravstvenom osiguranju - master rad -

APPLICATION OF THOMAS-FERMI MODEL TO FULLERENE MOLECULE AND NANOTUBE UDC 547. Yuri Kornyushin

Neke primene teorije fazi skupova i fazi logike u procesiranju slika

Summary Modeling of nonlinear reactive electronic circuits using artificial neural networks

Transcription:

Postavka 7: međusobno isključivanje sa read/write promenljivama 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Read/Write deljene promenljive 2 U jednom atomskom koraku procesor može da očita vrednost promenljive ili da upiše novu vrednost u promenljivu ali ne može da izvrši obe operacije istovremeno!

Algoritam sa ceduljicama 3 (Bakery Algorithm) To je algoritam za međusobno isklučivanje bez trajnog blokiranja koristi 2n deljenih read/write promenljivih Bulove prom. Choosing[i] : inicijalno false, u koje upisuje p i a čitaju ih drugi Celi br. Number[i] : inicijalno 0, u koje upisuje p i a čitaju ih drugi

Algoritam sa ceduljicama 4 Kod za ulaznu sekciju: Choosing[i] := true Number[i] := max{number[0],, Number[n-1]} + 1 Choosing[i] := false for j := 0 to n-1 (except i) do wait until Choosing[j] = false wait until Number[j] = 0 or (Number[j],j) > (Number[i],i) endfor Kod za izlaznu sekciju: Number[i] := 0

5 Algoritam sa ceduljicama obezbeđuje međusobno isključivanje Lema (4.5): Ako je p i u kritičnoj sekciji i Number[k] 0 (k i), onda (Number[k],k) > (Number[i],i). Proof: Razmotrimo dva slučaja: p i u KS i Number[k] 0

5 Algoritam sa ceduljicama obezbeđuje međusobno isključivanje Lema (4.5): Ako je p i u kritičnoj sekciji i Number[k] 0 (k i), onda (Number[k],k) > (Number[i],i). Proof: Razmotrimo dva slučaja: p i -jevo najnovije p i u KS i čitanje Number[k]; Number[k] 0 Slučaj 1: vraća 0 Slučaj 2: (Number[k],k) > (Number[i],i)

Međusobno isključivanje: Slučaj 1 6 p i u KS i Number[k] 0

Međusobno isključivanje: Slučaj 1 6 p i -jevo najnovije čitanje Number[k], vraća 0. Znači p k je u ostatku ili bira broj. p i u KS i Number[k] 0

Međusobno isključivanje: Slučaj 1 6 p i -jevo najnovije čitanje Choosing[k], vraća false. Znači p k nije usred biranja broja. p i -jevo najnovije čitanje Number[k], vraća 0. Znači p k je u ostatku ili bira broj. p i u KS i Number[k] 0

Međusobno isključivanje: Slučaj 1 6 p i -jev najnoviji upis u Number[i] p i -jevo najnovije čitanje Choosing[k], vraća false. Znači p k nije usred biranja broja. p i -jevo najnovije čitanje Number[k], vraća 0. Znači p k je u ostatku ili bira broj. p i u KS i Number[k] 0

Međusobno isključivanje: Slučaj 1 6 p i -jev najnoviji upis u Number[i] p i -jevo najnovije čitanje Choosing[k], vraća false. Znači p k nije usred biranja broja. p i -jevo najnovije čitanje Number[k], vraća 0. Znači p k je u ostatku ili bira broj. p i u KS i Number[k] 0 Znači p k bira broj u ovom intervalu, pogleda p i -jev broj, i izabira veći broj.

Međusobno isključivanje: Slučaj 2 7 Se dokazuje korišćenjem argumenata sličnih onima za Slučaj 1.

Međusobno isključivanje za algoritam sa ceduljicama 8 Lema (4.6): Ako je p i u kritičnoj sekciji, onda Number[i] > 0. Dokaz je na osnovu neposredne indukcije. Međusobno isključivanje: Predpos. da su p i i p k istovremeno u KS. Po Lemi 4.6, oba imaju Number > 0. Po Lemi 4.5, (Number[k],k) > (Number[i],i) i (Number[i],i) > (Number[k],k)

Međusobno isključivanje za algoritam sa ceduljicama 8 Lema (4.6): Ako je p i u kritičnoj sekciji, onda Number[i] > 0. Dokaz je na osnovu neposredne indukcije. Međusobno isključivanje: Predpos. da su p i i p k istovremeno u KS. Po Lemi 4.6, oba imaju Number > 0. Po Lemi 4.5, (Number[k],k) > (Number[i],i) i (Number[i],i) > (Number[k],k)

Algoritam sa ceduljicama: Nema trajnog blokiranja 9 Pred. radi kontradikcije da postoji blokiran procesor. Blokirani procesori čekaju u Liniji 5 ili 6 (iskazi čekanja), ne čekaju dok biraju broj. Neka je p i blokiran procesor sa najmanjim parom (Number[i],i). Bilo koji procesor koji ulazi u krit. sekc. nako što je p i izabrao svoj broj, bira veći broj. Svaki procesor sa manjim brojem konačno ulazi u KS (ne ostaje blokiran) i izlazi iz nje. Zato p i ne može da čeka u Liniji 5 ili 6.

Algoritam sa ceduljicama: Nema trajnog blokiranja 9 Pred. radi kontradikcije da postoji blokiran procesor. Blokirani procesori čekaju u Liniji 5 ili 6 (iskazi čekanja), ne čekaju dok biraju broj. Neka je p i blokiran procesor sa najmanjim parom (Number[i],i). Bilo koji procesor koji ulazi u krit. sekc. nako što je p i izabrao svoj broj, bira veći broj. Svaki procesor sa manjim brojem konačno ulazi u KS (ne ostaje blokiran) i izlazi iz nje. Zato p i ne može da čeka u Liniji 5 ili 6.

Prostorna složenost algoritma sa cedunjicama 10 Broj deljenih promenljivih je 2n Choosing su Bulove promenljive Number promenljive su neograničene Da li je moguće da algoritam koristi manje deljenog prostora?

ME algoritam: Ograničen prostor, 2-11 procesora Koristi 3 binarne read/write deljene promenljive: W[0] : inicijalno 0, u nju upisuje p 0 a čita je p 1 W[1] : inicijalno 0, u nju upisuje p 1 a čita je p 0 Priority : inicijalno 0, oba procesora je čitaju i pišu

ME algoritam bez međusobnog 12 blokiranja (ND = No Deadlock) Krećemo sa ograničenim algoritmom za 2 procesora i ND uslovom, zatim proširujemo na NL uslov, i na kraju proširujemo na n procesora. Neke ideje iz algoritma sa 2 procesora: svaki procesor ima deljenu Bul. prom. W[i] koja ukazuje da li on želi da uđe u KS p 0 uvek ima prednost u odnosu na p 1 ; asimetričan kod

ME algoritam bez međusobnog 13 blokiranja Kod za ulaznu sekciju p 0 : 1. 2. 3 W[0] := 1 4. 5. 6 wait until W[1] = 0 Kod za izlaznu sekciju p 0 : 7. 8 W[0] := 0

ME algoritam bez međusobnog 14 blokiranja Kod za ulaznu sekciju p 1 : 1 W[1] := 0 2 wait until W[0] = 0 3 W[1] := 1 4. 5 if (W[0] = 1) then goto Line 1 6. Kod za izlaznu sekciju p 1 : 7. 8 W[1] := 0

Diskusija ME algoritam bez međusobnog blokiranja 15 Obezbeđuje međusobno isključivanje: procesori koriste W promenljive da bi ovo obezbedili Obezbeđuje da nema međusob. blokiranja (vežba) Ali nije fer (moguće trajno blokiranje) Ispravka ovog nedostatka: procesori naizmenično dobijaju veći prioritet: deljena promenljiva Priority, oba procesora je čitaju i pišu

ME algoritam bez međusobnog i 16 bez trajnog blokiranja Kod za ulaznu sekciju: 1 W[i] := 0 2 wait until W[1-i] = 0 or Priority = i 3 W[i] := 1 4 if (Priority = 1-i) then 5 if (W[1-i] = 1) then goto Line 1 6 else wait until (W[1-i] = 0) Kod za izlaznu sekciju: 7 Priority := 1-i 8 W[i] := 0

17 Analiza ME algoritma: međusobno isključivanje Međusobno isključivanje: Pret. radi kontradikcije da su p 0 i p 1 istovremeno u KS. W[0] = W[1] = 1, oba proc u KS

17 Analiza ME algoritma: međusobno isključivanje Međusobno isključivanje: Pret. radi kontradikcije da su p 0 i p 1 istovremeno u KS. p 1 -jev najnoviji upis 1-ce u W[1] (Linija 3) W[0] = W[1] = 1, oba proc u KS

17 Analiza ME algoritma: međusobno isključivanje Međusobno isključivanje: Pret. radi kontradikcije da su p 0 i p 1 istovremeno u KS. p 1 -jev najnoviji upis 1-ce u W[1] (Linija 3) p 0 -jev najnoviji upis 1-ce u W[0] (Linija 3) W[0] = W[1] = 1, oba proc u KS

17 Analiza ME algoritma: međusobno isključivanje Međusobno isključivanje: Pret. radi kontradikcije da su p 0 i p 1 istovremeno u KS. p 1 -jev najnoviji upis 1-ce u W[1] (Linija 3) p 0 -jev najnoviji upis 1-ce u W[0] (Linija 3) W[0] = W[1] = 1, oba proc u KS p 0 -jevo najnovije čitanje W[1] (Linija 6): mora da vrati 1, ne 0!

17 Analiza ME algoritma: međusobno isključivanje Međusobno isključivanje: Pret. radi kontradikcije da su p 0 i p 1 istovremeno u KS. p 1 -jev najnoviji upis 1-ce u W[1] (Linija 3) p 0 -jev najnoviji upis 1-ce u W[0] (Linija 3) W[0] = W[1] = 1, oba proc u KS p 0 -jevo najnovije čitanje W[1] (Linija 6): mora da vrati 1, ne 0!

Analiza ME algoritma: 18 nema međusobnog blokiranja Korisno za pokazivanje da nema trajnog blokiranja. Ako jedan proc. ikad uđe u ostatak za uvek, drugi proc. se ne može trajno blokirati (starved). Npr: Ako p 1 uđe u ostatak za uvek, onda će p 0 uvek videti W[1] = 0. Znači, bilo koje međusobno blokiranje bi blokiralo oba proc.

Analiza ME algoritma: 19 nema međusobnog blokiranja Pred. radi kontradikcije da je došlo do među. blok. B.g.o., pret. da Priority ostaje na 0 nakon što su se oba proc. blokirali u svojim ulaznim sekcijama. p 0 i p 1 blok. na ulazu, Priority = 0

Analiza ME algoritma: 19 nema međusobnog blokiranja Pred. radi kontradikcije da je došlo do među. blok. B.g.o., pret. da Priority ostaje na 0 nakon što su se oba proc. blokirali u svojim ulaznim sekcijama. p 0 i p 1 blok. na ulazu, Priority = 0 p 0 nije blokiran u Lin. 2, prošao Lin. 5, blokiran u Lin. 6 sa W[0] = 1 čeka da W[1] bude 0

Analiza ME algoritma: 19 nema međusobnog blokiranja Pred. radi kontradikcije da je došlo do među. blok. B.g.o., pret. da Priority ostaje na 0 nakon što su se oba proc. blokirali u svojim ulaznim sekcijama. p 0 i p 1 blok. na ulazu, Priority = 0 p 0 nije blokiran u Lin. 2, prošao Lin. 5, blokiran u Lin. 6 sa W[0] = 1 čeka da W[1] bude 0 p 1 prošao Lin. 6, blokiran u Lin. 2 sa W[1] = 0, čeka da W[0] bude 0

Analiza ME algoritma: 19 nema međusobnog blokiranja Pred. radi kontradikcije da je došlo do među. blok. B.g.o., pret. da Priority ostaje na 0 nakon što su se oba proc. blokirali u svojim ulaznim sekcijama. p 0 i p 1 blok. na ulazu, Priority = 0 p 0 nije blokiran u Lin. 2, prošao Lin. 5, blokiran u Lin. 6 sa W[0] = 1 čeka da W[1] bude 0 p 1 prošao Lin. 6, blokiran u Lin. 2 sa W[1] = 0, čeka da W[0] bude 0 p 0 vidi W[1] = 0, ulazi u KS

Analiza ME algoritma: 19 nema međusobnog blokiranja Pred. radi kontradikcije da je došlo do među. blok. B.g.o., pret. da Priority ostaje na 0 nakon što su se oba proc. blokirali u svojim ulaznim sekcijama. p 0 i p 1 blok. na ulazu, Priority = 0 p 0 nije blokiran u Lin. 2, prošao Lin. 5, blokiran u Lin. 6 sa W[0] = 1 čeka da W[1] bude 0 p 1 prošao Lin. 6, blokiran u Lin. 2 sa W[1] = 0, čeka da W[0] bude 0 p 0 vidi W[1] = 0, ulazi u KS

Analiza ME algoritma: nema trajnog blokiranja 20 Pred. radi kontradikcije da je p 0 trajno blokiran. Pošto nema među. blokiranja, p 1 ulazi u KS beskonačno često. Prvi put kad p 1 izvrši Lin. 7 u izlaznoj sekciji nakon što je p 0 blok. na ulazu, Priority se blokira na 0. p 0 blok. na ulazu

Analiza ME algoritma: nema trajnog blokiranja 20 Pred. radi kontradikcije da je p 0 trajno blokiran. Pošto nema među. blokiranja, p 1 ulazi u KS beskonačno često. Prvi put kad p 1 izvrši Lin. 7 u izlaznoj sekciji nakon što je p 0 blok. na ulazu, Priority se blokira na 0. p 0 blok. na ulazu p 1 u Lin. 7; Priority = 0 zauvek posle

Analiza ME algoritma: nema trajnog blokiranja 20 Pred. radi kontradikcije da je p 0 trajno blokiran. Pošto nema među. blokiranja, p 1 ulazi u KS beskonačno često. Prvi put kad p 1 izvrši Lin. 7 u izlaznoj sekciji nakon što je p 0 blok. na ulazu, Priority se blokira na 0. p 0 blok. na ulazu p 1 u Lin. 7; Priority = 0 zauvek posle p 0 blokiran u Lin. 6 sa W[0] = 1, čeka da W[1] bude 0

Analiza ME algoritma: nema trajnog blokiranja 20 Pred. radi kontradikcije da je p 0 trajno blokiran. Pošto nema među. blokiranja, p 1 ulazi u KS beskonačno često. Prvi put kad p 1 izvrši Lin. 7 u izlaznoj sekciji nakon što je p 0 blok. na ulazu, Priority se blokira na 0. p 0 blok. na ulazu p 1 u Lin. 7; Priority = 0 zauvek posle p 0 blokiran u Lin. 6 sa W[0] = 1, čeka da W[1] bude 0 p 1 ulazi u ulaznu sekciju, blokira se u Lin. 2, čeka da W[0] bude 0

Analiza ME algoritma: nema trajnog blokiranja 20 Pred. radi kontradikcije da je p 0 trajno blokiran. Pošto nema među. blokiranja, p 1 ulazi u KS beskonačno često. Prvi put kad p 1 izvrši Lin. 7 u izlaznoj sekciji nakon što je p 0 blok. na ulazu, Priority se blokira na 0. p 0 blok. na ulazu p 1 u Lin. 7; Priority = 0 zauvek posle p 0 blokiran u Lin. 6 sa W[0] = 1, čeka da W[1] bude 0 p 1 ulazi u ulaznu sekciju, blokira se u Lin. 2, čeka da W[0] bude 0

ME algoritam za n procesora 21 Da li postoji mutex algoritam sa ograničenim prostorom za n veće od 2 procesora? Da! Na osnovu pojma stabla za turnir: zamislimo potpuno binarno stablo sa n-1 čvorova stablo je semo ideja! ono ne predstavlja kanale za slanje poruka Svakom čvoru stabla se pridružuje kopija algoritma za 2 procesora uključuje zasebne kopije 3 deljene promenljive

Stablo za turnir (Tournament Tree) 22 1 2 3 4 5 6 7 p 0, p 1 p 2, p 3 p 4, p 5 p 6, p 7

ME algoritam sa stablom za turnir 23 Svaki proc. počinje ulaznu sekciju u određenom listu (dva proc. po listu) Proc. ide na sledeći nivo stabla posle pobede u utakmici 2-proc. za tekući čvor stabla: na levoj strani, igra ulogu p 0 na desnoj strani, igra ulogu p 1 Kada proc. pobedi u utakmici za koren stabla, on ulazi u KS.

Još o Alg. sa stablom za turnir 24 Kod u knjizi je rekurzivan. p i počinje u čvoru 2 k + i/2, igra ulogu p i mod 2, gde je k = log n -1. Posle pobede u čvoru v, KS" za čvor v je ulazni kod za sve čvorove na putanji od predka čvora, a to je v/2, do korena prava kritična sekcija izlazni kod za sve čvorove na putanji od korena do v/2

Analiza Alg. sa stablom za turnir 25 Korektnost: zasniva se na korekt. algoritma za 2 procesora i strukturi turnira: Projekcija prihvatljivog izvršenja alg. sa turnirom na određen čvor stabla daje prihvatljivo izvršenje alg. za 2 proc. ME uslov alg. sa turnirom sledi iz ME usova alg. za 2 proc. u korenu stabla. NL uslov za alg. sa turnirom sledi iz NL uslova za algoritme za 2 proc. u svim čvorovima stabla Prostorna složenost: 3n Bulovih read/write deljenih promenljivih.