Back to Course Info or To Homepage or To Group Large Scale Models 0pt

Tentamen Parallel Rekenen (wi4017), 08-01-2001

Deel 1. Meerkeuze gedeelte (totaal 5 punten)
 

1. Welke van de volgende uitspraken is/zijn waar?

I.
Gegeven een DAG waarbij alle taken een executietijd van 1 hebben. Het aantal niveaus bepaald met het leveling algoritme is gelijk aan T¥.
II.
Twee taken in een DAG zijn dan en slechts dan afhankelijk van elkaar als er een direkte verbinding tussen hen bestaat.
[a)]alleen I
[b)]alleen II
[c)]I en II
[d)]geen van beide

 

 
 
 
 
 

2. Welke van de volgende uitspraken is/zijn waar?
I.
Cut-Through routering is sneller dan Store-and-Forward routering als er veel data verstuurd moet worden.
II.
PRAM model heeft een UMA architectuur.
[a)]alleen I
[b)]alleen II
[c)]I en II
[d)]geen van beide

 

 
 
 
 
 

3. Welke van de volgende ontwikkelstappen treden er op bij het herschrijven van een algoritme in termen van gedistribueerde data?
[a)]realiseren van een procedurele abstractie en data reificatie.
[b)]alleen realiseren van een procedurele abstractie
[c)]alleen data reificatie
[d)]geen, want het is enkel en alleen een optimalistaie stap

 

 
 
 
 
 

4. Stel een algoritme heeft een sequentiële executietijd T1 = 500 en de parallelle tijdscomplexiteit T¥ = 120. Tp is de minimale executietijd bij p processoren. Wat is niet waar?
a)
T2 £ 500
b)
Tp < [1000/p] indien p £ [500/120]
c)
Tp > T¥ voor eindige waarden van p
d)
Tp ³ [500/p] indien p £ [500/120]
5. Welke van de volgende uitspraken is/zijn waar?
[I.]Een bus is een dynamisch netwerk.
[II.]De diameter van een 3-D torus is kleiner dan de diameter van een 2-D torus bij gelijk aantal processoren.
[a)]alleen I
[b)]alleen II
[c)]I en II
[d)]geen van beide

 

 
 
 
 
 

6. Welke van de volgende uitspraken is/zijn waar?
I.
Bij de parallellisatie van het Barnes-Hut algoritme met de tree partitionering (tree partitioning) strategie kan alleen het rekenwerk van het steeds dynamisch opbouwen van de tree worden geparallelliseerd.
II.
Bij de parallellisatie van het Barnes-Hut algoritme met de zogenaamde spatiele partitionering (spatial partitioning) strategie worden alleen de berekeningen van de krachten op de deeltjes geparallelliseerd.
a)
alleen I
b)
alleen II
c)
I en II
d)
geen van beide
7. Welke van de volgende uitspraken is/zijn waar?

Gegeven een taakgraaf (DAG) G waarin iedere taak een executietijd van c heeft en het aantal niveaus van G bepaald met het 'leveling' algoritme gelijk aan L is. De parallelle complexiteit T¥ van de taakgraaf is gelijk aan

[a)] c ·L
[b)] L
[c)] c·L/p
[d)] L/p

 

 
 
 
 
 

8. Welke van de volgende uitspraken is/zijn waar?

Een vector (pipeline) processor heeft een maximum rekensnelheid van 800 MFLOPS en n1/2 = 4. De rekensnelheid van een vector operatie is (n is de lengte van de vector)

[a)] 200 MFLOPS bij n = 1
[b)] 300 MFLOPS bij n = 2
[c)] 400 MFLOPS bij n = 4
[d)] 800 MFLOPS bij n = 8

 

 
 
 
 
 

9. Om conflicten te voorkomen tussen processoren die op dezelfde array werken kan men het stuk van de array van iedere processor onderverdelen in gebieden met verschillende kleuren. Elke processor doet dan bijvoorbeeld eerst de berekeningen in het 'rode' gedeelte en kan daarbij niet in conflict komen met andere processoren indien de rode gedeelten van de array goed gescheiden zijn. Pas dit principe toe op een één-dimensionale array die gedistribueerd wordt over processoren. Hoeveel kleuren heeft men dan in het algemeen nodig als de berekening in array-element i samenhangt met die in i+1 en i-1 :
[a)]1
[b)]2
[c)]3
[d)]4

 

 
 
 
 
 

10. Welke van de volgende uitspraken is/zijn waar?
[I.]Het programmeren met een expliciet parallelle programmeertaal omvat in het algemeen partitioneren, toekenning en scheduling .
[II.]Als er aan elke processor slechts 1 taak is toegekend, dan kan de scheduling fase ongeacht het communicatie protocol worden weggelaten.
[a)]alleen I
[b)]alleen II
[c)]I en II
[d)]geen van beide

 

 
 
 
 
 

11. Gegeven de sequentiële executietijd van een problem is T1 = n3 en de executietijd van een parallel algoritme bij p processoren is T(p) = n3/p +p*n. Wat is de schaalbaarheid van dit parallelle algoritme? D.w.z., als p toeneemt, hoe snel moet n meegroeien om dezelfde efficiency (iso-efficiency) te behouden? (W(x) betekent n groeit proportioneel met x).
[a)]W(p2)
[b)]W(p3/2)
[c)]W(p)
[d)]W(p3/4)

 

 
 
 
 
 

12. Welke van de volgende uitspraken is/zijn waar?
I.
Er kan geen deadlock optreden bij het implementeren van een DAG op een parallelle computer, ongeacht het gebruikte communicatie protocol.
II.
Bij het gerbuik van MPI_SEND en MPI_RECV voor de communicatie kan deadlock optreden.
a)
alleen I
b)
alleen II
c)
I en II
d)
geen van beide
13. Beschouw de LU-decompositie van een n ×n matrix A waarbij n deelbaar is door het aantal processoren p. Gegeven het volgende code segment:
   !HPF PROCESSORS P(p)
        REAL A(n,n)
Welke van de volgende data distributie geeft een correcte en de beste load-balance? ( een * betekent geen distributie op de betreffende dimensie)
a)
!HPF DISTRIBUTE A(CYCLIC, *) ONTO P
b)
!HPF DISTRIBUTE A(BLOCK, *) ONTO P
c)
!HPF DISTRIBUTE A(BLOCK, CYCLIC) ONTO P
d)
!HPF DISTRIBUTE A(CYCLIC, BLOCK) ONTO P
14. Wat is waar?

Met behulp van een streep-partitie (strip-partitioning) schema wordt de Jacobi iteratie geparallelliseerd op een ring netwerk met p processoren. Per Jacobi iteratie bedraagt de communicatietijd (p-1) ·(tcomm(n/p)+tcomm(1)). n is de dimensie van de matrix, en verder stel dat tcomm(x) = x.

[a)] de O(n) communicatietijd komt door het optellen van twee vectoren
[b)] de O(p) communicatietijd komt door het matrix-vector produkt
[c)] de O(n) communicatietijd komt door het vector inprodukt
[d)] de O(p) communicatietijd komt door het vector inprodukt

 

 
 
 
 
 

Deel 2. Open vragen (5 punten)

15. Beschouw het Gauss-eliminatie (of LU-decompositie) algoritme voor het oplossen van een tri-diagonaal systeem. Wat is de maximale speedup als er voldoend groot aantal processoren aanwezig is? Motiveer uw antwoord.

16. a) Noem een mechanisme voor het synchroniseren van twee processoren in een parallelle computer met een gemeenschappelijk geheugen (shared-memory) systeem. Beschrijf met een voorbeeld hoe dat werkt.

b) Noem een mechanisme voor het synchroniseren van twee processoren in een parallelle gedistribueerde computer. Beschrijf met een voorbeeld hoe dat werkt.

17. A, B en C zijn n ×n matrices. A, B bevinden zich op dezelfde processor aan het begin van de berekening. Beschouw de berekeningen: a) C=A+B; b) C=A*B. Gegeven een parallel gedistribueerde computer met P processsoren waarbij de processoren met een volledig crossbar netwerk worden verbonden. Beschrijf een parallel algoritme voor de berekening van a) de som C=A+B respectievelijk b) het product C=A*B. Veronderstel dat een floating-point operatie en het versturen van een getal tussen twee processoren allerbei 1 tijdseenheid kost. Wat is de schaalbaarheid (scalability) van deze twee algoritmen?