Cieľ: odmerať dobu trvania PVM komunikácií


Skopírujte si celý adresár ~dobrucky/timing (3 súbory) niekam k sebe, trebárs tiež priamo do domovského adresára. Editujte súbor Makefile. Nastavte si cestu kam budete ukladať object subory a vykonateľné programy pre PVM. Skompilujte príkazom make na všetkých typoch architektúr. (ssh stroj "cd timing;make")

Naštartujte PVM aspoň na dvoch strojoch (sc05 a sc06). Otvorte si druhé okno, kde priamo v shell-i zadáte na vykonanie skompilovaný program timing.

Problémy:
- 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)

Úloha:
1) zmeňte program tak, aby ste vedeli zadať meno stroja, kde sa vykoná slave proces. Alebo doplňte program o výpis mien strojov, na ktorých bežia master a slave procesy a využijte defaultnú PVM stratégiu pre alokáciu procesov - round robin, teda slave proces bude umiestňovaný postupne rad-radom na všetky stroje.
2) skúste zmeniť kódovanie na PvmDataRaw. Otázka: vznikne nejaká chyba, ak máte PVM spustené na rôznych architektúrach, napríkld FREEBSD a NETBSDSPARC?
Akú zmenu očakávate v nameraných výsledkoch?
- problém: stroj sa nedá z PVM vyhodiť, keď práve z neho bolo naštartované.
3) skúste zmeniť typ spojenia z PvmRouteDirect na PvmDontRoute. Ako sa zmenia namerané výsledky?

Po skončení zmažte nepotrebné binárky! (make clean) Taktiež zastavte PVM démonov! (pvm> halt)


Podrobné informácie o algoritme a pôvodné zdrojové kódy nájdete v inštalácii PVM ($PVM_ROOT/examples/timing*.c) Upravené si môžete skopírovať aj odtiaľto: timing.c, timing_slave.c. K nim bolo vhodné spraviť nejaký Makefile.