Cieľ: naštartovať PVM aspoň na 2 procesoroch (host-och).

  1. organizačné záležitosti (predstavenie predmetu, podmienok pre jeho absolvovanie, poučenie o bezpečnostných predpisoch a smerniciach pre prácu na pracoviskách FEI STU)
  2. krátky úvod do PVM
  3. zriadenie konta (Unix) na KIVT FEI STU (ing.Steinmüller)
  4. príprava prostredia (.cshrc - PVM_ROOT, PVM_ARCH, path)
  5. spojazdnenie ssh (.shosts, .ssh/known_hosts - bezheslový remote shell)
  6. naštartovanie PVM konzoly (pridanie ďalšieho stroja do PVM, konfiguračný súbor pre PVM, povely pre konzolu, štartovací script)
  7. korektné ukončenie PVM

Editujeme súbor ~/.cshrc (znak tilda '~' znamená to isté ako $HOME):
Nastavte si dve premenné prostredia:
setenv PVM_ROOT /home/guests/dobrucky/pvm3
setenv PVM_ARCH `$PVM_ROOT/lib/pvmgetarch`

Doplňte cestu:
set path = ($path $PVM_ROOT/lib/$PVM_ARCH $PVM_ROOT/bin/$PVM_ARCH $PVM_ROOT/lib)
setenv MANPATH $MANPATH:$PVM_ROOT/man

Aktualizujeme zmeny príkazom source .cshrc

Editujeme súbor ~/.shosts :
Keďže sa "čiernobiele" terminály (slc01..slc10) sa prihlasujú ako X-terminály ku Pentiu (arrakis) a na "farebných" termináloch (sc05, sc06) si užívateľ môže vybrať či sa prihlási na Pentium (arrakis) alebo na prislušný SPARC (sc05 resp. sc06), bude postačovať mať v tomto (~/.shosts) súbore iba tri riadky:
arrakis.dcs.elf.stuba.sk vas_login
sc05.dcs.elf.stuba.sk vas_login
sc06.dcs.elf.stuba.sk vas_login

Keď ssh "nechodí" bez hesla (napríklad na sc02), skúste si zapísať verejné kľúče počítačov (mali by ale už byť zapísané v systéme v /etc/ssh):
Zapisujeme verejné kľúče do ~/.ssh/known_hosts :
Ak sa náhodou na niektorom zo strojov, kde chcete spustit vzdialený proces (vzdialeny_stroj), nenachádza súbor /etc/ssh_known_hosts alebo sa v ňom nenachádza verejný kľúč stroja, odkiaľ spúšťate vzdialený proces (moj_stroj), bude si ssh pýtať heslo, čo znamená nepríjemnosť pri štartovaní PVM.
Preto je potrebné doplniť do súboru ~/.ssh/known_hosts ten kľúč. Jednoducho sa to dá realizovať nasledovným postupom:
ssh vzdialeny_stroj
a zadať heslo. Potom odtiaľ vykonať volanie naspäť
ssh moj_stroj
a na otázku či zaradiť jeho kľúč do zoznamu dôveryhodných strojov odpovedať celým slovom yes.
Potom sa dvakrát odhláste (CTRL_D) a skúste znovu; malo by to už ísť bez hesla. Ak nie, môže byť problém v nekompatibilite identifikačných mien strojov. Ak si necháte vypisovat hlásenia pri nadväzovaní ssh spojenia pomocou voľby -v (ssh -v vzdialeny_stroj), zistíte, že ssh hľadá kľúč pre stroj, ktorý má v mene aj celú doménu. V takom prípade si textovým editorom skopírujte v súbore ~/.ssh/known_hosts príslušný riadok (kľúč) do ďalšieho riadku a doplňte (ručne) doménu. Potom už hádam jeden z kľúčov bude vyhovovať :-)

Keď ssh stále "nechodí" bez hesla (napríklad z arrakisa na arrakisa pri MPI), skúste si zriadiť svoje osobné kľúče:
ssh-keygen
(alebo na arrakise: ssh-keygen -t rsa)
na otázku "passphrase" odpovedajte
- ENTER (síce budete mať kľúč nechránený heslom a systemák vám ho bude môcť prečítať, ale zato nemusíte spúšťať ssh-agenta a zadávať mu to heslo)
- nejaké heslo (potom po prihlásení do systému je dobré si spustiť ssh-agent $SHELL; ssh-add a zadať mu to heslo iba raz za celú 'session', ktorú však uskutočňujete iba z tohoto nového shell-u)
Nechajte ho vygenerovať ponúknuté súbory (do adresára ~/.ssh) a potom spravte kópiu verejného kľúča ~/.ssh/identity.pub na ~/.ssh/authorized_keys:
cat ~/.ssh/identity.pub >> ~/.ssh/authorized_keys
chmod go-rwx ~/.ssh/authorized_keys

Toto je potrebné spraviť na strojoch, kde nebeží stará verzia ssh, ale novšia bezpečnejšia "open ssh" (arrakis, shine).

Keď "chodí" ssh bez hesla, môžeme naštartovať PVM konzolu:
> pvm
pvm>
pvm> help
a ukáže sa nám zoznam príkazov, ktoré vie PVM konzola vykonať. PVM konzola je iba aplikačný program na spohodlnenie práce s PVM. Zobrazuje bežiace procesy, ktoré sú prihlásené do PVM, zoznam strojov práve zaradených do PVM, vie elegantne kill-núť všetky PVM procesy daného užívateľa:
pvm> reset
ako aj korektne ukončiť celé PVM: pvm> halt
Halt spôsbí ukončenie všetkých užívateľových PVM procesov ako aj všetkých PVM démonov. Keď si želáme iba ukončiť prácu konzoly, zadáme
pvm> quit

Nové spustenie konzoly nevyvolá žiadny zásah do bežiaceho PVM, len sa k nemu konzola "potichu" pripojí. Všetky činnosti konzoly si užívateľ môže zakomponovať do svojho aplikačného programu; konzola nie je systémovým programom, ale obyčajným aplikačným. Jediné, čím sa odlišuje, je to, že pri zobrazovaní procesov nevypíše informáciu o sebe.

Ak sa nám zunovalo vypisovať zakaždým:
pvm> add stroj1 stroj2 ... stroj15
môžeme si napísať konfiguračný súbor, ktorý nazveme napríklad ~/hostfile. Kždý nezakomentovaný riadok (nezačínajúci znakom #) má ako prvé slovo uvedené meno stroja, za ktorým môžu nasledovať jeho parametre (cesta k PVM démonovi, cesta ku vykonateľným PVM aplikačným súborom - binárkam, login, speed...). Parametre môžu byť preddefinované pre viac za sebou nasledujúcich riadkov v riadku začínajúcom hviezdičkou (wildchar pre vsetky mená strojov) a môže byť takýchto sekcií viac. Ak je riadok "zakomentovaný" znakom ampersand ("&"), takýto riadok sa uloží do databázy a je k dispozícii pre nasledujúci povel "add host". Vtedy stačí zadať iba meno stroja a parametre sa doplnia z tejto databázy.
Konfiguračný súbor zadáme ako parameter pri štartovaní pvm konzoly (ktorá naštartuje naraz všetky požadované stroje).

pvm> halt
spôsbí ukončenie všetkých užívateľových PVM procesov ako aj všetkých PVM démonov. Ak by sme PVM neukončili takto "slušne", ale napríklad signálom kill -9 ... tak by zostal "visieť" v adresári /tmp súbor /tmp/pvmd.vase_uid. Potom by sa už nepodarilo úspešne znovu naštartovať PVM démonov. Preto je potrebné pri takomto neštandardnom ukončení ručne alebo nejakým scriptom tieto súbory na každom stroji, kde PVM bežalo, vymazať.
Okrem toho sa v adresári /tmp ukladá log-súbor /tmp/pvml.vase_uid, v ktorom môžete nájsť výpisy, ktoré sa z rôznych dôvodov nevedeli dostať na obrazovku. Tento súbor sa pri naštartovaní PVM vždy zapisuje od začatku (prepisuje sa). Preto ho nie je potrebné mazať. Vaše uid si zistíte príkazom id.

UPOZORNENIE: kto nechá bezdôvodne bežať PVM démonov aj po odhlásení sa a odchode z cvičení, môže byť potrestaný stratou konta na dva týždne! Prípadné žiadosti o spustenie dlhšie trvajúceho výpočtu musia byť vopred prekonzultované so systémovým administrátorom.


Podobné informácie nájdete aj tu.
Poznámka pre inštalovanie PVM3.4: bolo potrebné modifikovať skript pvmgetarch, aby rozpoznal NETBSD-stroje (zkombinovaním zo skriptom z verzie PVM3.3.11).
V adresári conf v súboroch FREEBSD.def, NETBSDSPARC.def a NETBSDPMAX.def bolo potrebné zmeniť rsh na ssh.
Kvôli novému FreeBSD na arrakise bolo potrebné modifikovať v súbore src/host.c v riadoku 967 reťazec req.ifr_ifru.ifru_flags na req.ifr_flags.