0% au considerat acest document util (0 voturi)
6 vizualizări3 pagini

Exemplu Subiect

Documentul discută concepte fundamentale legate de algoritmi paraleli și distribuiți, inclusiv topologii de comunicare, arhitecturi de calcul distribuit și eficiența algoritmilor. Se abordează, de asemenea, algoritmi specifici pentru comunicarea pe hipercub, difuzie pe arbori și comprimare, evidențiind lacunele și întrebările deschise în aceste domenii. Proba include întrebări teoretice și aplicații practice, precum algoritmul lui Cannon pentru înmulțirea matricelor.

Încărcat de

Oana Xenia
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
6 vizualizări3 pagini

Exemplu Subiect

Documentul discută concepte fundamentale legate de algoritmi paraleli și distribuiți, inclusiv topologii de comunicare, arhitecturi de calcul distribuit și eficiența algoritmilor. Se abordează, de asemenea, algoritmi specifici pentru comunicarea pe hipercub, difuzie pe arbori și comprimare, evidențiind lacunele și întrebările deschise în aceste domenii. Proba include întrebări teoretice și aplicații practice, precum algoritmul lui Cannon pentru înmulțirea matricelor.

Încărcat de

Oana Xenia
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Algoritmi paraleli şi distribuiţi

V1

Proba I
1. Cum se numeşte toplogia de comunicare definită mai jos?
• Mulţimea nodurilor V este organizată sub forma unui tablou unidimensional de dimensiune n, prin intermediul unei
funcţii de indexare I : V → L = 0, 1, ..., n − 1.
• Dacă se notează cu Vi = I −1 (i), nodul Vi este conectat cu nodurile Vi−1 şi Vi+1 .
2. Ce lipseşte din taxonomia lui Flynn, ı̂n enumerarea următoare?
• SISD Single Instructuction / Single Data stream (o singură instrucţiune / un singur flux de date);
• MISD Multiple Instructuctions / Single Data stream (mai multe instrucţiuni / un singur flux de date);
3. Un registru de memorie este caracterizat prin:
• valoarea care poate fi memorată ı̂n registru;
• operaţiile care pot fi efectuate asupra conţinutului registrului
• valoarea aflată ı̂n registru după fiecare operaţie.
• ???
4. Care sunt modelele arhitecturale de calcul distribuit?
5. În funcţie de accesul concurent permis, maşinile PRAM pot fi de tipul
• EREW (Exclusive-Read,Exclusive-Write),
• ???
6. O arhitectură sistolică este
• compusă din celule computaţionale de acelasi tip sau ???,
• interconectate regulat prin conexiuni locale.
7. Care este definiţia eficienţei unui algoritm paralel?
8. Algoritmul de mai jos realizează o comunicare pe hipercub. Cum se numes, te această comunicare?
• Notat, ii:
– H este un hipercub cu d dimensiuni.
– M este un mesaj.
– i este identificatorul unităt, ii de procesare situate ı̂n nodul i al hipercubului H.
• Premise:
– Init, ial, mesajul M este memorat de unitatea de procesare plasate ı̂n nodul 0 al hipercubului H.

C OMUNICARE PE H IPERCUB (H, d, i, M)


1 masca ← 2d − 1 /* init, ializeaza cu 1 toti bitii mastii */
2 for k ← d − 1 downto 0
3 do masca ← masca XOR 2k ; /* seteaza pe 0 al k-lea bit al mastii */
4 if (i AND masca) = 0
5 then /* daca ultimii k biti sunt 0 */
6 if (i AND 2k ) = 0
7 then destinatie ← i XOR 2k ;
8 trimite M la destinatie;
9 else sursa ← i XOR 2k ;
10 primeste M de la sursa.

1
9. Algoritmul de mai jos ar trebui să realizeaze o difuzie ”tot, i la unu” pe un arbore. Ce lipseşte?

• Premise:
– Iniţial, unitatea de procesare pi deţine mesajul Mi , care urmează a fi transmis spre rădăcină.

cod pi = frunza
DIFUZIE TOTI LA UNU PE ARBORE(T, pi , Mi )
1 trimite Mi catre parinte;
2 termina executia.

cod pi = nod interior


DIFUZIE TOTI LA UNU PE ARBORE(T, pi , Mi )
1 asteapta primirea valorilor Mi0 , Mi1 , . . . , Mik−1 de la f ii;
2 dupa primire, calculeaza Mi ← f (Mi , Mi0 , Mi1 , . . . , Mik−1 );
3 termina executia.

cod pr
DIFUZIE TOTI LA UNU PE ARBORE(T, pr , Mr )
1 asteapta primirea valorilor Mr0 , Mr1 , . . . , Mrk−1 de la f ii;
2 dupa primire, calculeaza Mr ← f (Mr , Mr0 , Mr1 , . . . , Mrk−1 );
3 termina executia.

10. Algoritmul paralel de comprimare este incomplet. Ce lipseşte?

• Notat, ii:
– A[0..2n − 1] este un tablou de dimensiune 2n = 2m+1 .
• Premise:
– Datele de intrare sunt memorate ı̂n tabloul A[0..2n − 1], ı̂n locat, iile A[n], A[n + 1], . . . , A[2n − 1].

C OMPRIM I TERATIV(A, ⊕)
1 for all j : 2k ≤ j ≤ 2k+1 − 1
2 do in parallel
3 A[ j] ← A[2 j] ⊕ A[2 j + 1];

11. Fie S = [a0 , a1 , . . . , an−1 ] o secventă bitonă,

• S1 = [min{a0 , a n2 }, min{a1 , a n2 +1 }, . . . min{a 2n −1 , an−1 }] şi


• S2 = [max{a0 , a n2 }, max{a1 , a n2 +1 }, . . . max{a n2 −1 , an−1 }]
• Secvenţele S1 si S2 au proprietăţile următoare:
– ???
– ???

12. Ce lipses, te ı̂n procedura de aliniere init, ială din algoritmul lui Cannon?
A LINIERE I NITIALA(M1 , M2 , n, q, pi, j )
1 for k ← 1 to i
2 do trimite M1 catre pi, j 1
3 for k ← 1 to j
4 do primeste M2 de la pi⊕1, j

13. Înlocuiţi ??? cu expresia care corespunde pasului de eliminare din prima fază a algoritmului parelel pentru rezolvarea
sistemelor de ecuaţii liniare prin metoda lui Gauss:

• Se consideră un sistem format din n unităţi de procesare, p0 , p1 , . . . , pn−1 .


• Fiecare unitate de procesare pi , i ∈ {0, 1, . . . , n − 1}, dispune, ı̂n memoria locală, de coeficient, ii ecuatiei a-i-a (linia i
a tabloului A plus B[i]).
A[0, j]
• În prima fază, unitatea de procesare p0 execută pasul de imparţirea cu A[0, 0]: A[0, j] = A[0,0] , j = 0, . . . , n − 1. Apoi
trimite A[0, j], j = 0, 1, . . . , n − 1 celorlalte unităţi de procesare, după care, fiecare unitate de procesare pi , i = 1 . . . , n −
1 execută pasul de eliminare: A[i, j] = ???

2
14. Înlocuiţi ??? pentru ca algoritmul de colorare a muchiilor unui arbore să fie complet. Culorile utilizate se notează cu a
0,1,...,∆ − 1.
(a) Se transformă arborele T = (V, E) ı̂ntr-un arbore cu rădăcină
(b) Pentru fiecare vârf v se determină părintele s, i fii.
(c) Pentru fiecare vârf v se colorează muchiile (v, f iui (v)) cu culoarea i ≥ 1.
(d) Pentru fiecare vârf v se calculează valoarea f (v) = ???; valoarea f (v), se atribuie muchiei (părinte(v), v).

15. Algoritmul de mai jos determină liderul ı̂ntr-un sistem distribuit cu topologia de comunicare reprezentată printr-un graf
oarecare. Care este metoda utilizată?
• Notat, ii:
– idi reprezintă identificatorul unităt, ii de procesare pi .
– Ri memorează mesajele recepţionate de unitatea de procesare pi ı̂ntr-o rundă.
– max idi memorează cel mai mare identificator cunoscut de pi ..
– statuti memorează starea finală a unităt, ii de procesare pi (lider sau non lider).
• Premise:
– Init, ial lider = necunoscut s, i max idi = idi .

A LGORITM A LEGERE L IDER(G, d, pi , max idi , statuti )


1 for runda ← 1 to d − 1
2 do for each (m) in Ri
3 do if max idi < m
4 then max idi ← m
5 trimite max idi vecinilor
6 if max idi = idi
7 then statuti ← lider
8 else statuti ← non − lider

16. Excluderea mutuala realizată cu regiştri binari test&set este cu flamânzire (lockout) ?

Baza = 2p

Proba II
1. Topologia inel : definiţie (1p), exemplu (1p).

2. Algoritmul lui Cannon pentru ı̂nmulţirea matricelor pătratice: pseudocod comentat (3p), exemplu de execuţie (2p), com-
plexitate (1p).

Baza = 2p

S-ar putea să vă placă și