Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt
Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt
Algoritmen en Datastructuren III Partim: Parallelle algoritmen - caagt
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