03.07.2013 Views

Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt

Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt

Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

24 Hoofdstuk 3. Het netwerkmodel<br />

De kost van het algoritme is<br />

(a) Q0 (b) Q1 (c) Q2 (d) Q3 Q4<br />

Figuur 3.1: De hyperkubuss<strong>en</strong> t.e.m. dim<strong>en</strong>sie 4<br />

Cp(n) = pΘ(n 2 /p+np) = Θ(n 2 + np 2 ),<br />

zodat het algoritme kost-optimaal is voor p = Θ( √ n).<br />

3.3.3 Rooster<br />

E<strong>en</strong> veralgem<strong>en</strong>ing van de rijtopologie is het rooster (of mesh), dat p = m 2 processor<strong>en</strong> in e<strong>en</strong><br />

m×m tweedim<strong>en</strong>sionale loodrechte roosterstructuur plaatst, waarbij elke processor verbond<strong>en</strong> is<br />

met zijn onmiddellijke bur<strong>en</strong> (bov<strong>en</strong>, onder, links <strong>en</strong> rechts), m.a.w. Pi, j is verbond<strong>en</strong> met Pi±1, j<br />

<strong>en</strong> Pi, j±1 (waar die bestaan). Net zoals bij de rijtopologie, kan het rooster geslot<strong>en</strong> word<strong>en</strong> tot<br />

e<strong>en</strong> torus (of rooster met wrap-around), door de bov<strong>en</strong>ste processor van elke kolom te verbind<strong>en</strong><br />

met de onderste, <strong>en</strong> de laatste processor van elke rij te verbind<strong>en</strong> met de eerste. In de jar<strong>en</strong> 1980<br />

ontwierp Inmos e<strong>en</strong> chip met 4 links, transputer g<strong>en</strong>oemd, die dus perfect geschikt was voor het<br />

bouw<strong>en</strong> van e<strong>en</strong> rooster- of torustopologie.<br />

De diameter van e<strong>en</strong> rooster met p = m 2 processor<strong>en</strong> is 2 √ p − 2, dus Θ( √ p). De maximale<br />

graad van elke processor is 4. Het aantal verbinding<strong>en</strong> is 2m(m − 1) = Θ(p). De connectiviteit<br />

is 2.<br />

Deze topologie heeft verscheid<strong>en</strong>e eig<strong>en</strong>schapp<strong>en</strong> die haar aantrekkelijk mak<strong>en</strong>. Ze is e<strong>en</strong>voudig,<br />

regulier <strong>en</strong> uitbreidbaar. Bov<strong>en</strong>di<strong>en</strong> zijn er verscheid<strong>en</strong>e toepassing<strong>en</strong> waarbij de berek<strong>en</strong>ing<strong>en</strong><br />

op natuurlijke wijze in e<strong>en</strong> roosterstructuur gebeur<strong>en</strong>. Maar gelet op de grote diameter, zal e<strong>en</strong><br />

berek<strong>en</strong>ing met niet-triviale communicatiestapp<strong>en</strong> doorgaans Ω( √ p) parallelle stapp<strong>en</strong> vereis<strong>en</strong>.<br />

3.3.4 Hyperkubus<br />

E<strong>en</strong> andere populaire topologie is de hyperkubus. E<strong>en</strong> nuldim<strong>en</strong>sionale hyperkubus is één <strong>en</strong>kele<br />

processor. E<strong>en</strong> d-dim<strong>en</strong>sionale hyperkubus Qd, met d > 0, bestaat uit twee kopieën van<br />

e<strong>en</strong> (d − 1)-dim<strong>en</strong>sionale hyperkubus Qd−1, waarbij de corresponder<strong>en</strong>de topp<strong>en</strong> uit elke kopie<br />

verbond<strong>en</strong> word<strong>en</strong>. Figuur 3.1 toont alle hyperkubuss<strong>en</strong> t.e.m. dim<strong>en</strong>sie 4.<br />

De topp<strong>en</strong> in e<strong>en</strong> d-dim<strong>en</strong>sionale hyperkubus kunn<strong>en</strong> gelabeld word<strong>en</strong> met e<strong>en</strong> binaire string van<br />

d bits, op de volg<strong>en</strong>de manier. De twee topp<strong>en</strong> van de e<strong>en</strong>dim<strong>en</strong>sionale hyperkubus word<strong>en</strong> met 0<br />

<strong>Algoritm<strong>en</strong></strong> <strong>en</strong> Datastructur<strong>en</strong> <strong>III</strong> Veerle.Fack@UG<strong>en</strong>t.be

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!