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.

22 Hoofdstuk 3. Het netwerkmodel<br />

van deze <strong>en</strong>e processor e<strong>en</strong> bottl<strong>en</strong>eck voor het ganse netwerk. M.a.w. topp<strong>en</strong> van grote graad<br />

(processor<strong>en</strong> met veel incid<strong>en</strong>te communicatiekanal<strong>en</strong>) kan ook e<strong>en</strong> nadeel zijn.<br />

Als we de connectiviteit will<strong>en</strong> verbeter<strong>en</strong>, moet<strong>en</strong> we communicatiekanal<strong>en</strong> toevoeg<strong>en</strong>. Wanneer<br />

we alle mogelijke verbinding<strong>en</strong> toevoeg<strong>en</strong>, dan bekom<strong>en</strong> we e<strong>en</strong> topologie die correspondeert<br />

met de complete graaf Kn.<br />

E<strong>en</strong> voordeel van Kn is zijn kleine diameter van 1 <strong>en</strong> dus het ontbrek<strong>en</strong> van <strong>en</strong>ige bottl<strong>en</strong>eck<br />

in de communicatie tuss<strong>en</strong> processor<strong>en</strong>. We betal<strong>en</strong> echter e<strong>en</strong> hoge prijs voor dit netwerk: we<br />

gebruik<strong>en</strong> n(n − 1)/2 communicatiekanal<strong>en</strong> om n processor<strong>en</strong> te verbind<strong>en</strong>.<br />

Het is dus nuttig om naar intermediaire architectur<strong>en</strong> te kijk<strong>en</strong>, zoals bom<strong>en</strong>, rij<strong>en</strong>, roosters <strong>en</strong><br />

hyperkubuss<strong>en</strong>.<br />

De stertopologie is e<strong>en</strong> voorbeeld van e<strong>en</strong> boom, <strong>en</strong> netwerk<strong>en</strong> word<strong>en</strong> soms op natuurlijke wijze<br />

op bom<strong>en</strong> gebaseerd. D<strong>en</strong>k bijvoorbeeld aan de manier waarop we het maximum berek<strong>en</strong>d<strong>en</strong><br />

door gebruik te mak<strong>en</strong> van e<strong>en</strong> binaire boom.<br />

Bom<strong>en</strong> zijn sam<strong>en</strong>hang<strong>en</strong>d met e<strong>en</strong> minimum aan bog<strong>en</strong>, hetge<strong>en</strong> betek<strong>en</strong>t dat het verwijder<strong>en</strong><br />

van e<strong>en</strong> top of e<strong>en</strong> boog h<strong>en</strong> onmiddellijk niet-sam<strong>en</strong>hang<strong>en</strong>d maakt.<br />

Positief aan bom<strong>en</strong> is dat er bom<strong>en</strong> bestaan met topp<strong>en</strong> van kleine graad <strong>en</strong> met kleine diameter.<br />

Bijvoorbeeld, e<strong>en</strong> binaire boom, waar elke top hoogst<strong>en</strong>s graad 3 heeft, laat toe om n topp<strong>en</strong> te<br />

verbind<strong>en</strong> met e<strong>en</strong> diameter van 2log 2 n.<br />

3.3.2 Rij <strong>en</strong> ring<br />

E<strong>en</strong> andere manier om n processor<strong>en</strong> te verbind<strong>en</strong> met e<strong>en</strong> klein aantal verbinding<strong>en</strong>, is de rij<br />

van processor<strong>en</strong>, <strong>en</strong> de variant van de ring van processor<strong>en</strong>. Beid<strong>en</strong> kom<strong>en</strong> in de praktijk voor;<br />

bijvoorbeeld e<strong>en</strong> Ethernet is e<strong>en</strong> rijtopologie, terwijl e<strong>en</strong> ‘tok<strong>en</strong> ring’ e<strong>en</strong> ringtopologie is.<br />

E<strong>en</strong> rij van processor<strong>en</strong> bestaat uit p processor<strong>en</strong> P1,...,Pp die in e<strong>en</strong> lineaire rij verbond<strong>en</strong><br />

zijn, m.a.w. Pi is verbond<strong>en</strong> met de voorgaande processor Pi−1 <strong>en</strong> met de volg<strong>en</strong>de processor Pi+1<br />

(wanneer die bestaan). De diameter van dergelijke rij is p − 1 <strong>en</strong> zijn maximumgraad is 2.<br />

E<strong>en</strong> ring van processor<strong>en</strong> is e<strong>en</strong> lineaire rij van processor<strong>en</strong> waarbij de eerste processor P1 ook<br />

met de laatste processor Pp rechtstreeks verbond<strong>en</strong> is. De diameter van de ring is ⌊p/2⌋ <strong>en</strong> zijn<br />

maximumgraad is 2.<br />

De connectiviteit van de ringtopologie is lichtjes hoger dan die van de stertopologie <strong>en</strong> de rijtopologie.<br />

Na het uitvall<strong>en</strong> van e<strong>en</strong> processor in e<strong>en</strong> ring, is het netwerk nog steeds sam<strong>en</strong>hang<strong>en</strong>d,<br />

m.a.w. elke processor kan communicer<strong>en</strong> met elke andere processor. Wanneer echter twee nietnaburige<br />

processor<strong>en</strong> uitvall<strong>en</strong>, dan is het netwerk niet meer sam<strong>en</strong>hang<strong>en</strong>d.<br />

E<strong>en</strong> nadeel van zowel rij als ring is het feit dat hun diameter Θ(n) is, waardoor ze <strong>en</strong>kel bruikbaar<br />

zijn voor kleine waard<strong>en</strong> van n, zoals in ‘local area’ netwerk<strong>en</strong> (LAN).<br />

Voorbeeld 3.3.1 (Matrix-vector-verm<strong>en</strong>igvuldiging). Zij gegev<strong>en</strong> e<strong>en</strong> n × n matrix A <strong>en</strong> e<strong>en</strong><br />

vector x van orde n. We behandel<strong>en</strong> het berek<strong>en</strong><strong>en</strong> van het matrix-vector-product y = Ax op e<strong>en</strong><br />

ring van p processor<strong>en</strong>, waarbij p ≤ n. Onderstel dat p e<strong>en</strong> deler van n is, <strong>en</strong> stel r = n/p.<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!