Informace Fórum Stav sítě ČVUT IDS Hledání Přihlášení Mapa stránek

PVM - Parallel Virtual Machine

Jedná se o jednu z nejčastěji používaných paralelních knihoven. Její výhoda spočívá zejména v tom, že ji lze použít v heterogenním prostředí. V následujících bodech jsou označeny povinné kroky, které musí uživatel PVM udělat, aby mohl začít tuto knihovnu používat.

PVM je funkční v interaktivním režimu i přes LoadLeveler. Pro jeho použití je nejprve třeba nakonfigurovat SSH provedením následujících příkazu:


1) 

        /usr/local/bin/ssh-keygen

Po jeho spuštění je třeba stisknout ENTER a dvakrát žádat uživatelem zvolené heslo.

        cd ~/.ssh

        cp identity.pub authorized_keys

        chmod 600 authorized_keys

2) Přihlásit se postupně na všechny interaktivní uzly (příklad pro spe101):

        ssh spe101


Na zobrazenou hlásku "Host key not found from thé list of known hosts.

Are you sure you want to continue connecting (yes/no)?" odpovědět 

       "yes"

a potom žádat heslo pro SSH.

Jakmile je uživatel přihlášen, může se hned zase odhlásit

       exit


Prostředí pro PVM se nastaví následujícími kroky:

-------------------------------------------------------------

A) Uživatele, kteří používají csh

1) si opraví soubor .cshrc

nastaví si proměnné typu environment:

	setenv PVM_ROOT /vol/appl_spe101/PVM/pvm3

	setenv PVM_ARCH RS6K

        setenv PVM_RSH /usr/local/bin/ssh

doplní si na cestu manuálové stránky PVM:

        setenv MANPATH $PVM_ROOT/man:$MANPATH


doplní si cestu na adresáře, odkud se spouští programy systému PVM:

	set path = ($path $PVM_ROOT/lib/RS6K)

2) aktivují si předchozí nastveni příkazem:

 	source ~/.cshrc

-------------------------------------------------------------

B) Uživatele, kteří používají ksh

1) si opraví soubor .profile

nastaví si proměnné typu environment:

	export PVM_ROOT=/vol/appl_spě101/PVM/pvm3

	export PVM_ARCH=RS6K

        export PVM_RSH=/usr/local/bin/ssh

doplní si cestu manuálové stránky PVM:

        export MANPATH=$PVM_ROOT/man:$MANPATH

doplní si cestu na adresáře, odkud se spouští programy systému PVM:

	export PATH =$PATH:$PVM_ROOT/lib/RS6K


2) aktivují si předchozí nastavení příkazem:

 	 . ~/.profile

---------------------------------------------------------------

3) v domovském adresáři si založí adresáře, které PVM očekává:

	mkdir ~/pvm3 ~/pvm3/bin ~/pvm3/bin/RS6K

4) provedou symbolické připojení knihoven a programu

	ln -s $PVM_ROOT/lib ~/pvm3/lib

	ln -s $PVM_ROOT/bin/RS6K/pvmgs ~/pvm3/bin/RS6K/pvmgs

5) vytvoří si soubor .rhosts ve svém domovském adresáři

   (Soubor musí obsahovat seznam uzlu na kterých bude běžet

    PVM, resp. na kterých se bude moci spouštět příkaz rsh.

    Formát souboru se skládá z dvojice název uzlu uid)

    např.

     spe101   karel

     spe103   karel

     spe105   karel

6) V tomto bodě je uživatel připraven ke psaní, kompilování a testování svého programu. Příklady programu si může stáhnout z adresáře
 

	$PVM_ROOT/examples 

   prostým zkopírováním do svého domovského adresáře:

   cp -r $PVM_ROOT/examples ~/

Kompilace se provádí pomoci programu aimk, který je umístěn v knihovně ~/pvm3/lib, tento adresář musí být dán do cesty ($PATH) nebo se musí uvést jeho úplně jméno. Jako parametry se pak přidají jména programu, které chce uživatel kompilovat. aimk hello hello_other Pokud kompilace projde v pořádku, programy připravené pro spuštění budou v adresáři ~/pvm3/bin/RS6K 7) Před spuštěním PVM je třeba spustit ještě tyto příkazy SSH: ssh-agent ksh ssh-add 8) Uživatel spustí PVM systém (konzoli a deamona) na uzlu, kde právě pracuje příkazem pvm Dostane prompt (výzvu) ve formátu: pvm > pak může vydat příkaz help, kterým dostane informace o příkazech, které mu jsou k dispozici. Nejčastější příkazy jsou: add hostname - spuštění PVM (deamona) na dalším uzlu delete hostname - zrušení PVM (deamona) na uzlu conf - zjištění stavu quit - ukončení práce konzole (PVM běží dál !) halt - ukončení práce PVM Pokud má uživatel jen jediné "okno", pak po správném nakonfigurovani PVM (add/delete) skončí práci s konzoli (příkaz quit) a spustí si své programy (hello). Proces konfigurace se dá zjednodušit tím, že si uživatel připraví soubor PVM hostfile, kde jsou na samostatných řádcích uvedeny všechny uzly, kde chce pvm spustit. PVM pak spustí příkazem: pvm hostfile dostane pvm prompt, zkontroluje správnost spuštění a vydá příkaz quit. Další postup už je analogicky s předchozím popisem. Po skončení práce s PVM je nutné ukončit všechny deamony, tj. opět spustit konzoli (pvm) a program ukončit příkazem \"halt\".

Pokud chce uživatel používat pro komunikaci mezi jednotlivými uzly počítače IBM SP rychlý přepínač, musí pro přidání uzlu do PVM použít jejich jména začínající sw (např. sw101). Toto není možné pro uzel, ze kterého PVM startuje, ten je vždy přidán pod jménem začínajícím spe. Pro komunikaci s tímto uzlem pak není rychlý přepínač použít. Je proto třeba spouštět procesy pouze na ostatních uzlech. Toho lze dosáhnout uvedením jména uzlu, na kterém chceme proces spustit, při spouštění na konzoli v příkazu spawn nebo v programu při volání funkce pvm_spawn.

Existuje i jiná metoda spouštění PVM, přes program, který se jmenuje xpvm. Ten vedle snadného spuštění dovoluje uživateli i monitorovat běh programu v grafickém znázornění komunikaci jednotlivých uzlu, atd.

Poznámka: Další informace o použití PVM najdete v postscriptových souborech PVM User's Guide and Reference Manual nebo PVM User's Guide and Tutorial for Networked Parallel Computing, případně na PVM Home Page či v manuálových stránkách.

Paralelní prostředí