Editujte súbor Makefile. Nastavte si cestu kam budete ukladať object subory a vykonateľné programy pre PVM.
2.
3.
Problémy:
Potom pripojte viac procesorov do PVM a pozorujte spomalenie vykonania
programu. Čo ho spôsobilo?
Úloha:
Skompilujte príkazom make.
Úloha: ako vykonáte kompiláciu na všetkých 3
typoch architektúr bez prihlasovania/odhlasovania respektíve
bez preskakovania z okna do okna? (man ssh)
Naštartujte PVM najskôr na jednom stroji (arrakis). Otvorte si druhé okno,
kde priamo v shell-i zadáte na vykonanie skompilovaný program
calcpi.
- rehash
- nesedia cesty (konfiguračný súbor PVM - 'hostfile' - môže definovať inú
cestu ep=...)
default ep=$HOME/pvm3/bin/$PVM_ARCH:$PVM_ROOT/bin/$PVM_ARCH
(man pvmd)
- nespúšťajte program z PVM konzoly (pvm> spawn calcpi)
Prečo? Bude mať 'master' proces vtedy PVM-rodiča?
skúsiť vyvážiť záťaž podľa "rýchlosti" procesorov:
funkcia pvm_config vráti hodnoty sp pre všetky procesory
a podľa nich potom nastaviť hodnotu darts
predtým treba ešte identifikovať svoj host, a teda svoje sp
funkciou pvm_tidtohost a prehľadaním tabuľky vrátenej
funkciou pvm_config
Alebo menom zisteným funkciou gethostname (man gethostname)
Potom si do hostfile napíšte odhadnuté rýchlosti procesorov,
napríklad skopírovaním odo mňa (~dobrucky/hostfile).
Podrobné informácie o algoritme a
pôvodné zdrojové kódy nájdete
tu. K nim je potrebné spraviť nejaký
Makefile a môžete si vyskúšať
modifikovaný program.
Pokus s naháňaním presnosti: po 10^9 pokusoch (throws) bolo pi=3.14157621
a pritom po 99.10^7 pokusoch to bolo 3.14158094
Zhrnutie: táto metóda nie je veľmi presná ;-)