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.
ii INHOUDSOPGAVE<br />
3.4.1 One-to-all broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />
3.4.2 All-to-all broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />
3.4.3 Single-node scatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />
3.4.4 Total exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />
3.5 Gedistribueerde algoritm<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />
4 Ontwerptechniek<strong>en</strong> voor parallelle algoritm<strong>en</strong> 35<br />
4.1 Pipelining / Sorter<strong>en</strong> & Priemzeef . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />
4.1.1 Techniek van pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />
4.1.2 Sorter<strong>en</strong> via pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />
4.1.3 Priemzeef via pipeling . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />
4.2 Gebalanceerde bom<strong>en</strong> / Prefixsomm<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . 38<br />
4.2.1 Techniek van gebalanceerde bom<strong>en</strong> . . . . . . . . . . . . . . . . . . . . 38<br />
4.2.2 Wat zijn prefixsomm<strong>en</strong>? . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />
4.2.3 Berek<strong>en</strong><strong>en</strong> van prefixsomm<strong>en</strong> in het PRAM-model . . . . . . . . . . . . 39<br />
4.2.4 Berek<strong>en</strong><strong>en</strong> van prefixsomm<strong>en</strong> op e<strong>en</strong> rooster . . . . . . . . . . . . . . . 41<br />
4.2.5 Berek<strong>en</strong><strong>en</strong> van prefixsomm<strong>en</strong> op e<strong>en</strong> hyperkubus . . . . . . . . . . . . . 42<br />
4.3 Partitionering / Merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />
4.3.1 Techniek van partitioner<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />
4.3.2 E<strong>en</strong> e<strong>en</strong>voudig merge-algoritme . . . . . . . . . . . . . . . . . . . . . . 42<br />
4.3.3 Parallel algoritme voor merge via partitioner<strong>en</strong> . . . . . . . . . . . . . . 43<br />
4.4 Accelerated cascading / Maximum bepal<strong>en</strong> . . . . . . . . . . . . . . . . . . . . 45<br />
4.4.1 Bepal<strong>en</strong> van het maximum . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />
4.4.2 Bepal<strong>en</strong> van het maximum in constante tijd . . . . . . . . . . . . . . . . 45<br />
4.4.3 Algoritme voor het maximum in dubbel-logaritmische tijd . . . . . . . . 46<br />
4.4.4 Het snelle algoritme optimaal mak<strong>en</strong> . . . . . . . . . . . . . . . . . . . 47<br />
4.4.5 Opmerking: speciaal geval . . . . . . . . . . . . . . . . . . . . . . . . . 48<br />
5 <strong>Parallelle</strong> sorteeralgoritm<strong>en</strong> 49<br />
5.1 Sorteernetwerk<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
5.1.1 Wat zijn sorteernetwerk<strong>en</strong>? . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />
5.1.2 Bitonisch sorter<strong>en</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<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