Comenius University > Faculty of Mathematics, Physics and Informatics > Department of Computer Science | |
Tomas Plachetka |
|
Paralelne architektury a programovaniePrednaska a praktikum: Pondelok 8:10-11:20 M218 HodnotenieNutnou podmienkou uspesneho absolvovania kurzu je priebezna implementacia niekolkych projektov, ktore budu zadane v priebehu semestra. Dalsou castou hodnotenia (s rovnakou vahou) je ustna skuska v skuskovom obdobi. ProjektyNa pocitaci cvika pribudol subor ~plachetk/pub/proj.txt s poznamkami, ktore som si robil pri citani projektov. Opakujuce sa chyby som komentoval na prednaske, ale mozete sa pozriet ako som komentoval konkretne Vas projekt. Vystupom z kazdeho pthreadoveho projektu je subor s nazvom [project_name].zip, ktory obsahuje subory README (Meno a Priezvisko, specifikacia projektu, poznamky k zaujimavych miestam v implementacii), Makefile, [prog_name].occ. Program musi byt skompilovatelny a spustitelny na pocitaci cvika.dcs.fmph.uniba.sk. Projekty treba odovzdat cez email mne. GOSSIP_ACK.
Je N paralelnych procesov, kazdy pozostava z 2 threadov, TS a TR. Kazdy
proces (thread TS) posiela M sprav (tzv. PING spravy) dlzky L vsetkym ostatnym
procesom (na obsahu sprav nezalezi). Sucasne, proces (thread TR) odpoveda na
tieto spravy, ktore priebezne prijal, spravami ACK dlzky L. Sucasne, proces
(thread TR) zbiera od ostatnych procesov odpovede ACK. Po tom, co proces
poslal a pozbieral vsetky spravy, skonci. Kazdy proces ma jeden vstupny kanal,
podobne ako v projekte GOSSIP_SHA.
Command-line argumenty: GOSSIP_THR. Tento projekt ma robit presne
to, co GOSSIP_OCC, avsak s pouzitim POSIXovej kniznice pthreads (len tej
kniznice, plus stdio a stdlib). Vystupom z kazdeho CHANoveho projektu je subor s nazvom
[project_name].zip, ktory obsahuje subory README (Meno a Priezvisko,
specifikacia projektu, poznamky k zaujimavych miestam v implementacii),
Makefile, [prog_name].occ. Program musi byt skompilovatelny a spustitelny na
pocitaci cvika.dcs.fmph.uniba.sk.
Projekty treba odovzdat cez email mne.
Pre nastavenie prostredia na pocitaci cvika treba vlozit do ~/.profile
nasledujuci riadok: GOSSIP_OCC. Je N paralelnych procesov. V
prvej faze kazdy proces
posiela M sprav dlzky L vsetkym ostatnym procesom (na obsahu sprav nezalezi),
v druhej faze cita vsetky
prichadzajuce spravy, potom skonci. Procesy su spojene kanalmi, ktore sa
pouzivaju ako kanaly v OCCAMe (na jednom konci prave jeden proces zapisuje,
na druhom konci prave jeden proces cita). Command-line argumenty: GOSSIP_SHA. Specifikacia sa zhoduje s
GOSSIP_OCC. Rozdiel je v tom, ze kazdy proces ma len jeden vstupny kanal, do
ktoreho vsetky ostatne procesy zapisuju. Vystupom z kazdeho OCCAMoveho projektu je subor s nazvom
[project_name].zip, ktory obsahuje subory README (Meno a Priezvisko,
specifikacia projektu, poznamky k zaujimavych miestam v implementacii),
Makefile, [prog_name].occ. Program musi byt skompilovatelny a spustitelny na
pocitaci cvika.dcs.fmph.uniba.sk standardnym KROC kompilatorom (verzia
1.0.3beta).
Projekty treba odovzdat cez email mne.
Pre nastavenie prostredia na pocitaci cvika treba vlozit do ~/.profile
nasledujuce riadky: OCCAM_LIFE1D_N1. Je N paralelnych procesov zapojenych kanalmi do 1D-torusu ("obojsmerna zacyklena usecka"), kazdy ma pociatocnu hodnotu 0 alebo 1. Program donekonecna bezi iteracie. V kazdej iteracii kazdy z procesov precita hodnoty svojich dvoch susedov a nastavi svoju hodnotu na majoritnu hodnotu zo svojej povodnej hodnoty a tych dvoch susednych hodnot (t.j. vyberie median spomedzi tych 3 cisiel). Deadline: 18.10. (soft), 25.10. (hard) OCCAM_LIFE1D_N2. Je N paralelnych procesov zapojenych kanalmi do 1D-torusu ("obojsmerna zacyklena usecka"), kazdy ma pociatocnu hodnotu 0 alebo 1. Program donekonecna bezi iteracie. V kazdej iteracii kazdy z procesov precita hodnoty svojich 4 susedov (dvoch lavych a dvoch pravych) a nastavi svoju hodnotu na majoritnu hodnotu zo svojej povodnej hodnoty a tych 4 susednych hodnot (t.j. vyberie median spomedzi tych 5 cisiel). Deadline: 18.10. (soft), 25.10. (hard) OCCAM_LIFE2D_N1. Je N paralelnych procesov zapojenych kanalmi do 2D-torusu ("mriezka, obojsmerne zacyklena po riadkoch aj po stlpcoch"), kazdy ma pociatocnu hodnotu 0 alebo 1. Program donekonecna bezi iteracie. V kazdej iteracii kazdy z procesov precita hodnoty svojich 4 susedov (laveho, praveho, horneho a dolneho) a nastavi svoju hodnotu na majoritnu hodnotu zo svojej povodnej hodnoty a tych 4 susednych hodnot (t.j. vyberie median spomedzi tych 5 cisiel). Deadline: 18.10. (soft), 25.10. (hard) Prednaska
Dalsie studijne materialy
LinkyKROC: The Kent Retargetable OCCAM Compiler Message Passing Interface (MPI) Forum MPICH (Free Portable Implementation of MPI)
|