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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.3. Interconnecti<strong>en</strong>etwerk<strong>en</strong> 21<br />

van poort<strong>en</strong> ter beschikking hebb<strong>en</strong>. Elke processor Pi, j heeft twee inputkanal<strong>en</strong>, kom<strong>en</strong>de van<br />

zijn linkerbuur Pi−1, j <strong>en</strong> van zijn bov<strong>en</strong>buur Pi, j−1. Verder heeft Pi, j twee outputkanal<strong>en</strong>, gaande<br />

naar zijn rechterbuur Pi+1, j <strong>en</strong> zijn onderbuur Pi, j+1.<br />

E<strong>en</strong> mogelijk systolisch algoritme bestaat erin de rij<strong>en</strong> van A synchroon, maar met e<strong>en</strong> verschuiving,<br />

van links naar rechts door de rij<strong>en</strong> van het rooster te stur<strong>en</strong>, terwijl de kolomm<strong>en</strong> van B<br />

synchroon, <strong>en</strong> ook met verschuiving, van bov<strong>en</strong> naar onder door de kolomm<strong>en</strong> van het rooster<br />

gestuurd word<strong>en</strong>. Wanneer processor Pi, j de inputwaard<strong>en</strong> Ai,ℓ <strong>en</strong> Bℓ, j ontvang<strong>en</strong> heeft, dan berek<strong>en</strong>t<br />

hij Ci, j ← Ci, j +Ai,ℓBℓ, j, <strong>en</strong> stuurt vervolg<strong>en</strong>s de inputwaarde Ai,ℓ door naar zijn rechterbuur<br />

<strong>en</strong> de inputwaarde Bℓ, j naar zijn onderbuur. Na O(n) dergelijke stapp<strong>en</strong> bevat elke processor Pi, j<br />

het correcte matrixelem<strong>en</strong>t Ci, j van het matrixproduct C = AB.<br />

Het aantal processor<strong>en</strong> is p = n 2 . De parallelle uitvoeringstijd van dit algoritme is Tp(n) = Θ(n).<br />

De kost van dit algoritme is Cp(n) = Θ(n 3 ).<br />

3.3 Interconnecti<strong>en</strong>etwerk<strong>en</strong><br />

3.3.1 Netwerktopologieën<br />

E<strong>en</strong> verzameling processor<strong>en</strong> met voorgeschrev<strong>en</strong> statische communicatiekanal<strong>en</strong> wordt e<strong>en</strong> interconnecti<strong>en</strong>etwerk<br />

g<strong>en</strong>oemd. Zoals reeds vermeld kunn<strong>en</strong> we de communicatiekanal<strong>en</strong> voorstell<strong>en</strong><br />

als bog<strong>en</strong> in e<strong>en</strong> graaf waarvan de topp<strong>en</strong> de processor<strong>en</strong> zijn. We sprek<strong>en</strong> van netwerktopologieën<br />

om bepaalde families van graf<strong>en</strong> aan te duid<strong>en</strong>.<br />

Voor het evaluer<strong>en</strong> van netwerktopologieën word<strong>en</strong> e<strong>en</strong> aantal parameters gebruikt. De grootste<br />

afstand tuss<strong>en</strong> twee processor<strong>en</strong> in het netwerk noem<strong>en</strong> we de diameter van het netwerk.<br />

E<strong>en</strong> kleine diameter in het netwerk betek<strong>en</strong>t doorgaans snelle communicatie. De graad van<br />

e<strong>en</strong> processor is het aantal communicatiekanal<strong>en</strong> van de processor<strong>en</strong>; de grootste graad van e<strong>en</strong><br />

processor in het netwerk wordt ook wel de graad van het netwerk g<strong>en</strong>oemd. De connectiviteit<br />

van het netwerk is het kleinste aantal topp<strong>en</strong> of bog<strong>en</strong> waarvan de verwijdering het netwerk<br />

niet-sam<strong>en</strong>hang<strong>en</strong>d maakt.<br />

Bijvoorbeeld, we kunn<strong>en</strong> de processor<strong>en</strong> verbind<strong>en</strong> in de stertopologie, waarbij alle processor<strong>en</strong><br />

verbond<strong>en</strong> zijn met één c<strong>en</strong>trale processor. In de stertopologie is elke processor hoogst<strong>en</strong>s twee<br />

stapp<strong>en</strong> verwijderd van elke andere processor. De stertopologie heeft diameter 2. Bov<strong>en</strong>di<strong>en</strong><br />

gebruikt de stertopologie slechts n communicatiekanal<strong>en</strong> om n + 1 processor<strong>en</strong> te verbind<strong>en</strong>,<br />

hetge<strong>en</strong> het minimum is.<br />

E<strong>en</strong> negatief punt is dat de stertopologie e<strong>en</strong> zeer lage connectiviteit heeft: het uitvall<strong>en</strong> van één<br />

<strong>en</strong>kele processor (nl. de c<strong>en</strong>trale processor) verbreekt het ganse netwerk <strong>en</strong> maakt communicatie<br />

tuss<strong>en</strong> alle andere processor<strong>en</strong> onmogelijk. Dergelijk gedrag is in vele situaties ontoelaatbaar;<br />

d<strong>en</strong>k bijvoorbeeld aan het uitvall<strong>en</strong> van het Internet door het uitvall<strong>en</strong> van één <strong>en</strong>kele machine.<br />

E<strong>en</strong> ander probleem ontstaat wanneer teveel processor<strong>en</strong> terzelfdertijd prober<strong>en</strong> te communicer<strong>en</strong>.<br />

Aangezi<strong>en</strong> alle communicatie door de c<strong>en</strong>trale processor moet gebeur<strong>en</strong>, is de snelheid<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!