!" $$$%&'! (%&'$)*)$$ +,-.!!" " " %$-,./+,-.0! $%& 1$$! %$$23$! 45 45!6$ Czcionka o stałej szerokoci Nazwy programów, polece, katalogów, wyniki działania wydawanych polece. Czcionka o stałej szerokoci pogrubiona Podaje tekst, który naley dosłownie przepisa. W przypadku plików ródłowych wyrónia istotniejsze fragmenty. Czcionka o stałej szerokoci kursyw Tekst komentarza w przykładowych sesjach przy terminalu. Czcionka o stałej szerokoci kursyw pogrubiona Wyrónia istotniejsze fragmenty wyników działania wydawanych polece. 7!8 Celem wiczenia jest poprawne skompilowanie oraz zainstalowanie systemu PVM (ang. Parallel Virtual Machine). Pakiet z plikami ródłowymi (jednolitymi dla wszystkich platform sprztowych) naley samodzielnie pobra ze strony domowej projektu PVM: opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 1
http://www.netlib.org/pvm3/index.html lub te z miejsca wskazanego przez prowadzcego laboratorium. Wersja, która bdzie uywana nosi numer 3.4.4. System bdzie instalowany w systemie LINUX. Czynnoci, które naley wykona: 1. Rozpakowa oprogramowanie PVM (plik pvm3.4.4.tgz). Pakiet bdzie instalowany niezalenie przez kadego uytkownika w jego katalogu domowym. Po rozpakowaniu powinien pojawi si katalog pvm3 (moliwe jest oczywicie zainstalowanie pakietu w publicznie dostpnych katalogach, jednak wymagane jest wówczas posiadanie uprawnie uytkownika root). 2. Zapozna si z utworzon struktur katalogow. Przeczyta uwanie plik Readme! 3. Po rozpakowaniu plików ródłowych, aby prawidłowo skompilowa a póniej uywa system PVM, naley w odpowiedni sposób skongurowa swoje rodowisko pracy. Mamy tu na myli ustawienie odpowiednich zmiennych systemowych. W systemie LINUX uytkownik zwykle w swoim katalogu domowym posiada jeden lub kilka tzw. skryptów logujcych. Zwykle s to pliki o nazwach zaczynajcych si od znaku kropki (czyli s to pliki ukryte), takie jak np.:.login.prole.bash_prole.bash_login.barshrc Na dysku mog te znale si pliki o innych nazwach zaley to od administratora systemu. Poniewa jednak obecnie najpopularniejszym programem powłoki (ang. shell) jest program bash, wic najprawdopodobniej bd to pliki.bash_prole oraz.bashrc. Ten drugi jest zwykle wywoływany z tego pierwszego. W typowej konguracji, w pliku.bash_prole, odnajdziemy nastpujce linie: if [ -f ~/.bashrc ]; then source ~/.bashrc Jeeli s one (jak w powyszym przykładzie) skomentowane, naley je odkomentowa (usun znaki ). W przeciwnym wypadku plik (skrypt).bashrc nie zostanie wykonany. Naley samodzielnie zorientowa si, które skrypty i w jakiej kolejnoci wykonuj si w czasie logowania uytkownika do systemu. Najwygodniej sprawdzi to dodajc na pocztku kadego skryptu polecenie echo (np.: echo Czytam plik.bashrc ), które wywietli podany jako parametr napis i tym samym pokae nam, które skrypty zostały wykonane. 4. Utworzy zmienn rodowiskow PVM_ROOT, która bdzie zawiera ciek do katalogu roboczego do którego rozpakowany został PVM, np. $HOME/pvm3. Odpowiedni wpis najlepiej umieci jest w pliku.bashrc (lub jego odpowiedniku, gdy uywamy innej powłoki ni bash). Dobrze jest równie dołczy do tego pliku plik $HOME/pvm3/lib/bashrc.stub, który ustawi automatycznie wszystkie wymagane parametry. Na koniec do zmiennej $MANPATH dodamy ciek $PVM_ROOT/man, aby móc wygodnie czyta dokumenty man dotyczce PVM. Poniej zamieszczono fragment pliku.barshrc z dodanymi odpowiednimi wpisami:... PVM_ROOT=$HOME/pvm3 export PVM_ROOT opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 2
if [ -f $PVM_ROOT/lib/bashrc.stub ]; then source $PVM_ROOT/lib/bashrc.stub MANPATH=$MANPATH:$PVM_ROOT/man export MANPATH... Plik $HOME/pvm3/lib/bashrc.stub ma struktur jak poniej. Elementy, które dobrze jest w nim odkomentowa zaznaczono pismem pogrubionym: append this le to your.bashrc to set path according to machine type. you may wish to use this for your own programs (edit the last part to point to a different directory f.e. ~/bin/_$pvm_arch. if [ -z $PVM_ROOT ]; then if [ -d ~/pvm3 ]; then export PVM_ROOT=~/pvm3 else echo "Warning - PVM_ROOT not dened" echo "To use PVM, dene PVM_ROOT and rerun your.bashrc" if [ -n $PVM_ROOT ]; then export PVM_ARCH=`$PVM_ROOT/lib/pvmgetarch` uncomment one of the following lines if you want the PVM commands directory to be added to your shell path. export PATH=$PATH:$PVM_ROOT/lib generic export PATH=$PATH:$PVM_ROOT/lib/$PVM_ARCH arch-specic uncomment the following line if you want the PVM executable directory to be added to your shell path. export PATH=$PATH:$PVM_ROOT/bin/$PVM_ARCH Po wykonaniu powyszych zmian naley ponownie zalogowa si do systemu. Wydajc nastpnie polecenie set upewni si, e wszystkie wymagane przed kompilacj parametry zostały prawidło ustawione. Przykład prawidłowo ustawionego rodowiska (w czci potrzebnej do pracy z systemem PVM) wyglda nastpujco (pismem pogrubionym zaznaczono elementy zwizane z PVM): MANPATH=/usr/man:/usr/local/man:/home/artur/pvm3/man PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/artur/pvm3 /lib:/home/artur/pvm3/lib/linux:/home/artur/pvm3/bin/linux PVM_ARCH=LINUX PVM_ROOT=/home/artur/pvm3 5. Przed kompilacj zapozna si z zawartoci poniszych plików (do czego one słu?): $HOME/pvm3/Makele $HOME/pvm3/Makele.aimk $HOME/pvm3/lib/aimk $HOME/pvm3/examples/Makele.aimk 6. Zapozna si z dokumentacj w postaci dokumentów man (pvm, pvm_intro, pvmd3, aimk). opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 3
7. Wykona kompilacj systemu poleceniem make. Analizujc zawarto pliku Makele.aimk, dokona równie kompilacji przykładowych programów demonstracyjnych (jak to zrobi?). Aby łatwiej było analizowa pojawiajce si w duych ilociach komunikaty z kompilacji, mona skierowa standardowe wyjcia do plików, czyli np. wyda polecenie make w nastpujcej postaci: $ make 2>err.txt 1>log.txt 8. Sprawdzi działanie systemu PVM uruchamiajc tzw. konsol PVM i wydajc kilka przykładowych polece. Przykładowa sesja moe wyglda jak poniej (istotniejsze elementy pogrubiono): 29118 pts/1 00:00:00 ps $ pvm pvm> quit quit Console: exit handler called pvmd still running. 29121 pts/1 00:00:00 pvmd3 29123 pts/1 00:00:00 ps $ pvm pvmd already running. pvm> conf conf 1 host, 1 data format HOST DTID ARCH SPEED DSIG zgul 40000 LINUX 1000 0x00408841 pvm> id id t40002 pvm> mstat zgul mstat zgul zgul ok pvm> halt halt Zakoczony 29125 pts/1 00:00:00 ps Literatura 1. Index for PVM3 Library: http://www.netlib.org/pvm3/index.html 2. PVM List of Frequently Asked Questions: http://www.netlib.org/pvm3/faq_html/faq.html opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 4
3. PVM: Parallel Virtual Machine A Users' Guide and Tutorial for Networked Parallel Computing: http://www.netlib.org/pvm3/book/pvm-book.html 4. The postscript le for the book ``PVM A Users' Guide and Tutorial for Networked Parallel Computing''. http://www.netlib.org/pvm3/book/ 5. The users' guide for PVM version 3.3: http://www.netlib.org/pvm3/ug.ps opracowali: dr in. Artur Gramacki, dr in. Jarosław Gramacki 5