2012-10-3 Dobre praktyki obliczeń wielkoskalowych 1 Wprowadzenie do obliczeń na komputerach ICM Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego Uniwersytet Warszawski http://www.icm.edu.pl Maciej Marchwiany m.marchwiany@icm.edu.pl Maciej Cytowski m.cytowski@icm.edu.pl Maciej Szpindler m.szpindler@icm.edu.pl
www.wielkiewyzwania.pl 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 2
Plan Omówienie usług oraz sieci komputerowej ICM udostępnianych użytkownikom Sposoby dostępu do sieci ICM (Windows, Linux) Podstawy pracy z systemami Linux/UNIX Wprowadzenie do podstawowych aplikacji użytkowych (e-mail, edycja tekstu) Przegląd dostępnych maszyn obliczeniowych i ich możliwości Przegląd dostępnego oprogramowania naukowego i narzędziowego Środowisko użytkownika na maszynach obliczeniowych Korzystanie z systemów kolejkowych Podstawy powłok systemowych Tworzenie skryptów Uruchamianie zadań w kolejce obliczeniowej Ćwiczenia: praca na wybranych systemach 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 3
Omówienie usług oraz sieci komputerowej ICM udostępnianych użytkownikom 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 4
ICM? ICM, jako Centrum Komputerów Dużej Mocy, udostępnia polskiemu środowisku naukowemu zgromadzone zasoby: komputery dużej mocy, profesjonalne stacje graficzne oraz specjalizowane oprogramowanie. Jako centrum programu Biblioteki Wirtualnej Nauki ICM rozwija i udostępnia szeroką gamę publikacji, elektronicznych zasobów informacji i danych naukowych. W ICM prowadzone są: badania w obszarze nauk biomolekularnych i podstaw biotechnologii badania w obszarze nauk biomedycznych badania w dziedzinie fizyki, chemii i biologii teoretycznej badania w dziedzinie podstaw technologii materiałowych badania w dziedzinie nauk o Ziemi i astronomii badania w obszarze metod matematycznych modelowania procesów nieliniowych w układach złożonych. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 5
ICM sieć ssh login@gw.icm.edu.pl ssh nazwa_maszyny ssh nazwa_maszyny 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 6
Sieć ICM węzły ssh n233 ssh n233 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 7
Sposoby dostępu do sieci ICM (Windows, Linux) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 8
ICM logowanie WIN 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 9
ICM logowanie WIN login@gw.icm.edu.pl 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 10
ICM logowanie WIN 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 11
ICM logowanie LINUX Zdalne logowanie ma maszyny: ssh login@gw.icm.edu.pl Otwieranie sesje X-Window na zdalnych maszynach: ssh Y login@gw.icm.edu.pl Logujemy się na węzeł dostępowy gw/delta, a z niego na maszyne obliczeniową przez: ssh nazwa_maszyny Np: ssh halo2 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 12
Podstawy pracy z systemami Linux/UNIX 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 13
WIN a UNIX Znak końca lini: DOS: ^M^R UNIX: ^R Konwertowanie plików z WIN do UNIX: dos2unix plik 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 14
ls Wyświetlanie zawartości katalogów ls wyswietla zawartość bieżącego katalogu ls scierzka_dostepu wyświetla zawarość wskazanego katalogu ls *.roz wyświetla wszystkie pliki z rozszerzeniem.roz przydatne opcje: -a wyświetla uktyte pliki -t sortowanie według czasu modyfikacji -r odwraca kolejność sortowania -l - wyświetla pełną informacje 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 15
System plików Kożeń drzewa root / Pliki systemowe urządzenia Katalogi domowe Katalogi urzytkownika /var /etc /bin /lib... /mnt... /doc /photo /outy /test... lfs quota /home - wyświetla limity dyskowe 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 16
Poruszanie się Wejście do katalogu: cd sciezka_dostepu Przydatne katalogi:./ bierzący katalog../ katalog o poziom wyżej ~/ katalog domowy. root Np: cd../ przejście o poziom wyżej Ścieżki dostępu ścieżka bezwględna: /home/users/mfroncz/docs/readme.txt ścieżka względna: docs/readme.txt pwd wyświetla aktualną ścieżke dostępu 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 17
Tworzenie i niszczenie Tworzenie nowego katalogu mkdir katalog Kasowanie pliku: rm plik Kasowanie pustego katalogu: rmdir katalog Kasowanie katalogu wraz z zawartością: rm -r katalog 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 18
Kopiowanie Kopiowanie plików: cp plik_zrodlo plik_cel Np: cp a.out spline.exe cp sciezka_do_kat/plik_zrodlo sciezka_do_kat/plik_cel Np: cp./test/out.out../testy/test1.out Jeśli nie chcemy zmieniać nazwy pliku wystarczy podać katalog docelowy: cp./test/test1.out../testy/ Kopiowanie katalogów opcja -r: cp -r kat_zrodlo kat_cel mv zamiast kopiowania zastępuje (kopiuje i usówa żródło) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 19
Pliki Oznaczenia plików: * wszystkie pliki plik.* pliki o nazwie plik i dowolnym rozszeżeniu *.roz wszystkie pliki o rozszerzeniu.roz a* wszystkie pliki zaczynające się od a */* wszystkie pliki w podkatalogach (jeden poziom niżej) Rozszerzenia plików Rozszerzenia plików są dowolne. Powinny jednak sugerować użytkownikowi rodzaj zawarość pliku. Niektóre programy wymagają określonej nazwy pliku i/lub rozszerzenia. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 20
Przeglądanie plików Przeglą danie plików: file plik opisuje typ pliku cat plik wyświetla zawartość pliku na ekranie (wyjście std.) more plik wyświetla zawartość pliku z opcja przewijania less plik wyświetla zawartość pliku z opcja przewijania wstecz Postawowe komendy: q wyjście, /wzorzec szukanie wzorca Przeszukiwanie plików: grep wzorzec pliki Np: grep H2 prot.pdb 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 21
Prawa dostępu do plików Użytkownicy podzieleni są na: właściciel pliku (user) grupa, do której należy właściciel (group) pozostali użytkownicy (others) Prawa do operacji na pliku: prawo do odczytu (read, 4) prawo do zapisu (write, 2) prawo do wykonywania (execute, 1) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 22
Zmiana praw dostępu chmod zmienia prawa dostępu trybem numerycznym: Cyfra jest suma praw dla właściciela (pierwsza), grupy (druga), pozostałych (trzecia) chmod Cyfra1Cyfra2Cyfra3 plik Np: chmod 640 test.exe Read = 4 Write = 2 Execute = 1 Kombinacja: 1) liter: u (user), g (group), o (others), a (all) 2) operatorów: = (ustawienie na podane prawa), + (dodanie praw), - (odejęcie praw) 3) praw: r (read), w (write), x (execute) Np: chmod g-w,o-rw test.exe 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 23
Praca w Linuxie Uruchamianie programów./test.exe Uruchamianie z parametrami./test2.exe input.xyz Przekierowywanie wyjścia do pliku:./test.exe >> plik.out Przydatne skróty Tab dokańcza ścieżke/nazwę pliku/komene (jeśli jest jednoznaczna) Ctrl + d pokazuje możliwe dokończenia Ctrl + c przerywa dziełanie programu Ctrl + l czyści terminal up/down powuszanie się po historii używanych komend 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 24
mc 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 25
tar Pakowanie pliku z wyświetleniem pakowanych plików/katalogu: tar -cvf plik.tar plik_do_pakowania tar -zcvf plik.tar.gz plik_do_spakowania Rozpakowanie pliku: tar -xvf plik.tar tar -zxvf plik tar.gz tar -jxvf plik.tar.bz2 Otwierać spakowane pliki można także przez mc 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 26
module Wyświetlenie listy dostępnych modułów: module avail Wyświetlenie listy załadowanych modułów: module list Załadowanie moduł nazwa_modulu: module load nazwa_modulu Usunięcie załadowanego moduł nazwa_modulu: module rm nazwa_modułu Np: module load pgi/11.7 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 27
scp Kopiowanie plików do ICMu: scp -C -p plik login@gw.icm.edu.pl:~/ Kopiowanie plików z ICMu: scp -C -p login@gw.icm.edu.pl:~/plik./ -C włącza kompresje -p zachowuje orginalną date stworzenia -r kopiowanie podkatalogu Kopiowanie katalogów: scp -r -C -p katalog login@gw.icm.edu.pl: scp -r -C -p login@gw.icm.edu.pl:~katalog./ 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 28
WinSCP gw.icm.edu.pl login hasło 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 30
WinSCP praca 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 31
man Wyświetlenie manuala dla polecenia: man polecenie Np: man man Pozwala znależć: nazwy poleceń podobnych i stowarzyszonych. składnia krótki opis szczegółowy opis opcji 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 32
Wprowadzenie do podstawowych aplikacji użytkowych (e-mail, edycja tekstu) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 33
webmail webmail.icm.edu.pl 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 34
mutt Sprawdzanie poczby w terminalu: mutt 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 35
mutt komendy Podstawowe komendy: q wyście d usunięcie maila u conięcie usunięcia maila s zapiasnie m nowy mail r odpowiedz na maila g odpowiedz do wszystkich? wyświetla wszystkie możliwe komendy Tworzenie wiadomości: 1) Ustalenie adresata 2) Wpisanie tytułu 3) Edycaj treści (jak w vime) 4) Wysłanie Komendy przy wysyłaniu: y wysłanie, t zmiana adresata, c dodanie kopii, a załaczenie pliku, q wyjście 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 36
nano nano plik otwiera plik do edycji nano w plik otwiera plik do edycji bez zawijania wierszy Podstawowe komendy: Ctrl + x wyjście Ctrl + c zapisanie F2 wyjście z zapisaniem 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 37
vim vim plik.txt otwiera plik Podstawowe komendy: :w zapisywanie :q wyjście :wq zapisanie i wyjście :cq wyjście bez zapisywania i wejście w tryp edycji o przejście do nowej lini i trybu edycji dd usunięcie całej lini /wzorzec znajdowanie wzorzec Esc wyjście z trybu edycji 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 38
Przegląd dostępnych maszyn obliczeniowych i ich możliwości 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 39
boreasz Producent: IBM Model: IBM Power 775 Nazwa: boreasz Architektura: Węzły obliczeniowe Power 7 Liczba rdzeni obliczeniowych: 2432 Pamięć operacyjna: Architektura ppc64 76 węzłów 32 rdzeniowych 9.7TB System operacyjny: AIX 7.1 Węzły obliczeniowe SMP o współdzielonej pamięci 128 GB Udostepniony w ramach projektu: POWIEW 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 40
boreasz Instalacja: Komputer MPP (Massively Parallel Processing) Model: IBM Power 775 Nazwa: boreasz Typ procesora: Power7 Architektura: ppc64 Reprezencja danych: big-endian Częstotliwość taktowania: 3.8 GHz Liczba procesorów 32 rdzenie (128 wątków) w węźle: Ilość pamięci w węźle: System plików: 128 GB System operacyjny: AIX 7.1 System kolejkowy: LoadLeveler GPFS (rozproszony system plików) Więcej ważnych informacji: /opt/info 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 41
notos Producent: Model: IBM IBM Blue Gene/P Nazwa: Architektura: notos Liczba rdzeni obliczeniowych: 4096 Pamięć operacyjna: System operacyjny: Węzły obliczeniowe PowerPC 450 Architektura ppc 1024 węzły 4 rdzeniowe 4TB Węzły obliczeniowe SMP o współdzielonej pamięci 4 GB IBM Compute Node Kernel Udostepniony w ramach projektu: POWIEW 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 42
notos Instalacja: Komputer MPP (Massively Parallel Processing) Model: IBM Blue Gene/P Nazwa: notos Typ procesora: PowerPC 450 Architektura: ppc Reprezencja danych: big-endian Częstotliwość taktowania: 850 MHz Liczba procesorów w węźle: 4 rdzenie PowerPC Ilość pamięci w węźle: 4 GB System plików: GPFS (rozproszony system plików) System operacyjny: Blue Gene/P Linux System kolejkowy: LoadLeveler Osoby zainteresowane korzystaniem z Notos-a proszone są o przesłanie informacji na adres email: powiew-admins@icm.edu.pl 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 43
halo2 Producent: Model: Nazwa: Architektura: Sun Microsystems Sun Constellation System Klaster serwerów kasetowych Sun Blade 6048 halo2 Liczba rdzeni obliczeniowych: 6912 Pamięć operacyjna: System operacyjny: Udostepniony w ramach projektu: Węzły obliczeniowe AMD Quad- Core Opteron 835X Architektura x86_64 432 węzły 16 rdzeniowe 11TB Węzły obliczeniowe o współdzielonej pamięci 16/32 GB Gentoo Linux KDM 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 44
halo2 Instalacja: Sun Constellation System (klaster serwerów kasetowych) Model: Sun Blade 6048 Nazwa: Halo 2 Typ procesora: AMD Quad-Core Opteron 835X Architektura: x86_64 Reprezencja danych: Little-endian Częstotliwość taktowania: 2.0 / 2.2 / 2.3 GHz Liczba procesorów w węźle: 4 x 4 rdzenie Opteron Ilość pamięci w węźle: 16 / 32 GB System plików: System operacyjny: Gentoo 2.6 System kolejkowy: Torque Lustre (rozproszony system plików) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 45
halo2 grube węzły Instalacja: Węzły o rozszerzające możliwości klastra Model: - Nazwa: Halo 2 Typ procesora: AMD Quad-Core Opteron 835X Architektura: x86_64 Reprezencja danych: Little-endian Liczba procesorów w węźle: 64 rdzenie Opteron Ilość pamięci w węźle: 512 GB System plików: System operacyjny: Gentoo 2.6 System kolejkowy: Torque Lustre (rozproszony system plików) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 46
nautilus Producent: Model: Nazwa: IBM IBM BladeCenter H Klaster serwerów kasetowych LS21 / QS22 nautilus Architektura: Węzły obliczeniowe IBM Cell / AMD Dual-Core Opteron Liczba rdzeni obliczeniowych: 2016 Architektura heterogeniczna PowerXCell8i / x86_64 Pamięć operacyjna: 896GB System operacyjny: Udostepniony w ramach projektu: Fedora12 KDM 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 47
nautilus Instalacja: Model: Nazwa: Typ procesora: Architektura: Reprezencja danych: Częstotliwość taktowania: Liczba procesorów w węźle: Ilość pamięci w węźle: System plików: System operacyjny: System kolejkowy: IBM Cell Cluster (klaster serwerów typu blade) IBM QS22 oraz IBM LS21 nautilus IBM PowerXCell8i oraz AMD Dual- Core Opteron 2218 Cell, x86_64 big-endian (IBM PowerXCell8i) oraz little-endian (AMD Opteron) 3.2 GHz (IBM PowerXCell8i) / 2.4 GHz (AMD Opteron) 2 PPU + 16 SPU (QS22) / 4 x86 (LS21) 16 / 32 GB SunFire X4500, 23 TB Fedora12 Torque 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 48
grom Producent: Model: nvidia/amd Klaster GPU nvidia Nazwa: Architektura: Liczba rdzeni obliczeniowych: Pamięć operacyjna: grom Węzły obliczeniowe AMD 8-Core Opteron 6134 i nvidia GeForce 480 GTX Architektura x86_64 i nvidia 416 rdzeni x86_64 i 23040 rdzeni CUDA 24 węzły 288 GB System operacyjny: Gentoo 2.6 Udostepniony w ramach projektu: Hybrydowe węzły obliczeniowe AMD/nVidia o współdzielonej pamięci 12 GB CEPT 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 49
Przegląd dostępnego oprogramowania naukowego i narzędziowego 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 52
Programy 1 Dynamika płynów i obliczenia inżynierskie ANSYS Abaqus Adina FLUENT Marc/Mentat Nastran/Patran OpenFOAM Palabos 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 53
Programy 2 Obliczenia materiałowe ABINIT Accelrys CPMD MedeA Siesta VASP 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 54
Programy 3 Analiza danych ERDAS R Wizualizacja 3D Doctor AVS/Express ERDAS ParaView 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 55
Programy 4 Pakiety matematyczne FreeFEM MATLAB Maple Mathematica Octave Scilab 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 56
Programy 5 Chemia kwantowa Accelrys CPMD Dalton Gamess Gaussian Quantum Espresso Schroedinger Turbomole 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 57
Programy 6 Oprogramowanie biomolekularne i bioinformatyczne Biomolekularne pakiety akademickie ANALYZE PDC Accelrys ProtoMol Amber RedMD BD BOX Rosetta CPMD Schroedinger Charmm Surface Diver ECEPPAK Tripos FlexX X-PLOR ICM-Pro APBS MOE GROMACS MORASS Gromos Modeller NAMD Neuron 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 58
Programy 7 Kompilatory i biblioteki C/C++ Unified Parallel C Fortran Co-Array Fortran ACML ATLAS BLAS FFTW GSL GotoBLAS Hypre LAPACK MPI NAG PETSc TotalView 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 59
2012-10-3 Dobre praktyki obliczeń wielkoskalowych 60 Środowisko użytkownika na maszynach obliczeniowych Środowisko użytkownika na maszynach obliczeniowych
Konto użytkownika Na każdym z komputerów: Użytkownik ma swoje konto (login) Ten sam login i hasło jak na delcie Korzystamy tylko ze swojego konta (regulamin ICM) Użytkownik należy do grupy Jakie są moje grupy?: > id mój_login Domyślnie nazwa grupy to numer grantu użytkownika 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 61
Katalog domowy Na każdej z maszyn obliczeniowych odseparowany katalog domowy Zawsze ten sam adres: /home/users/mój_login Brak synchronizacji Kopiowanie pomiędzy maszynami poprzez scp > scp scieżka/do/pliku/lokalnego komputer:scieżka/do/pliku/zdalnego Przestrzeń: /workspace/mój_login Limity przestrzeni dyskowej Dwa rodzaje limitu: objętość danych (GB) i liczba plików (tys.) Limit miękki i limit twardy Dla każdego zasobu niezależne limity Jakie są moje limity?: > quota > lfs quota /home 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 62
Logowanie Na każdej z maszyn obliczeniowych odseparowany katalog domowy Logowanie tylko przez ssh Niektóre komputery wymagają wcześniejszego zgłoszenia w celu dostępu Powłoka użytkownika Domyślna powłoka użytkownika (shell) tcsh Wyjątek BlueGene/P notos bash Zmiana domyślnej powłoki nie jest możliwa W jakim shell-u jestem?: > echo $SHELL 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 63
Dostęp do oprogramowania Oprogramowanie naukowe (nie-systemowe) Zawsze w katalogu /opt Narzędzie modules zapewnia dostęp do oprogramowania module load nazwa_pakietu - przy każdym logowaniu Dostępne moduły pakietów: > module avail Aktualnie załadowane moduły: > module list Załadowanie modułu: > module load nazwa_pakietu 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 64
Uruchamianie programów Logowanie zawsze na część (wezeł) dostępowy Programy uruchamiamy tylko na części obliczeniowej Do uruchamiania programów (zadań) służy system kolejkowy Zadanie to praca do wykonania (program i sposób jego uruchomienia) oraz specyfikacja wymaganych zasobów 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 65
Zadanie obliczeniowe Sposób uruchomienia programu potrzebne informacje Katalog roboczy Plik wykonywalny z binarną wersją programu lub skrypt uruchomieniowy Ścieżka do pliku wykonywalnego Dane wejściowe (jeżeli potrzebne) Inne parametry sterujące jako argumenty programu lub oddzielny plik Dla programów równoległych liczba procesorów, wątków itp. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 66
Zadanie obliczeniowe cd. Zasoby Liczba procesorów (rdzeni procesorowych) Ilość pamięci operacyjnej Ilość pamięci dyskowej Czas trwania obliczeń 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 67
Tworzenie skryptów 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 68
Podstawy powłok systemowych Powłoka systemowa to program wykonujący polecenia, które wydajemy w terminalu Istnieją różne powłoki (sh, csh, tcsh, ksh, bash, ksh, inne) Najpopularniejszy w Linuxie bash, w ICM domyślnie - tcsh Różnice w działaniu są niewidoczne na pierwszy rzut oka, ale: Operacja Bash Tcsh Ustawienie zmiennej środowiskowej Przekierowanie strumienia stdout do pliku Przekierowanie strumienia stderr export ZMIENNA=WARTOSC setenv ZMIENNA WARTOSC program > plik program > plik program 2> plik - Przekierowanie stdout i stderr ze zlepieniem program > plik 2>&1 program >& plik Pętla for for i in `` do done foreach i () end Najwięcej różnic w składni skryptów 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 69
Zmienne środowiskowe Zmienne środowiskowe to specjalne zmienne używane i predefiniowane przez system operacyjny Przykładowe: $HOME $SHELL $USER $PWD $RANDOM (tylko bash) Ustawienie wartości zmiennej Tcsh: setenv Bash: export 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 70
Tworzenie skryptów Skrypt to plik tekstowy zawierający kolejne komendy do wykonania przez powłokę systemową Pierwsza linia to zawsze: #!/bin/sh Oznacza sposób wywołania powłoki, która będzie interpretować skrypt (interpreter) Kolejne linie zawierają polecenia systemowe i polecenia (tej) powłoki Znak # na początku linii oznacza komentarz 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 71
Uruchamianie skryptów Różne tryby uruchamiania skryptów./mój_skrypt Poprzedzone komendą: chmod u+x mój_skrypt (tylko za pierwszym razem) Tworzy potomny proces interpretera wskazane w #1 linii skryptu Zmienne istnieją tylko do końca wykonania skryptu /bin/bash mój_skrypt /bin/csh mój_skrypt Tworzy potomny proces interpretera wskazanego w linii polecenia Zmienne istnieją tylko do końca wykonania skryptu source mój_skrypt. mój_skrypt Wykonuje skrypt w bieżącej powłoce Ustawione zmienne pozostają dostępne w bieżącej powłoce 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 72
Korzystanie z systemów kolejkowych 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 73
Podstawowy systemu kolejkowego System kolejkowy pośredniczy między użytkownikiem, a procesorami dedykowanymi do obliczeń Nie uruchamiamy programów samodzielnie System kolejkowy decyduje o przydziale zasobów i uruchamia kolejno zadania użytkowników Rodzaje systemów kolejkowych w ICM (2011) PBS/Torque klastry x86 LoadLeveler BlueGene/P 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 74
Uruchamianie zadań IBM LoadLeveler Zasoby obliczeniowe komputera Notos zarządzane są przez system kolejkowy IBM LoadLeveler Zadania wstawiamy do kolejki z katalogu domowego, tam trzymamy również input i output obliczeń Wstaw zadanie do kolejki Zadania LoadLeveler Znajdź zasoby dla zadań i zdefiniuj partycje obliczeniowe Uruchom zadanie Pobierz informację o zasobach i zadaniach Blue Gene mpirun Blue Gene Bridge API 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 75
System kolejkowy PBS/Torque (klastry) Podstawowe polecenia: qsub wstawianie zadania do kolejki qstat sprawdzanie statusu zadania wstawionego do kolejki qdel usuwanie zadania z kolejki qalter zmiana parametrów zadania w kolejce 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 76
System kolejkowy LoadLeveler (BlueGene) Podstawowe polecenia: llsubmit wstawianie zadania do kolejki llq sprawdzanie statusu zadania wstawionego do kolejki llcancel usuwanie zadania z kolejki llmodify zmiana parametrów zadania w kolejce 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 77
Podstawy systemu kolejkowego W każdym systemie kolejkowym: tworzymy zadanie, czyli opis wymaganych zasobów instrukcje uruchamiające program lub programy W postaci tzw. skryptu kolejkowego czyli pliku tekstowego o określonej składni Skrypt kolejkowy jest argumentem dla poleceń qsub, llsubmit 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 78
Uruchamianie zadań w kolejce obliczeniowej 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 79
System PBS Na przykładzie klastra Halo2 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 80
Halo2 - Skrypty PBS #!/bin/tcsh #PBS -N przyklad #PBS -q halo2 #PBS -A G01-77 #PBS -l nodes=1:ppn=16 #PBS -l mem=14gb #PBS -l walltime=02:00:00 #PBS -m abe #PBS -M XYZ@icm.edu.pl # ustaw srodowisko cd $PBS_O_WORKDIR/ module load mpi echo Job started at `date` # wykonaj obliczenia mpirun./cpi echo Job finished at `date` Blok dyrektyw PBS Użycie zmiennej środowiskowej Załadowanie modułu Uruchomienie programu 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 81
Halo2 - Skrypty PBS #!/bin/tcsh #PBS -N przyklad #PBS -q halo2 #PBS -A G01-77 #PBS -l nodes=1:ppn=16 #PBS -l mem=14gb #PBS -l walltime=02:00:00 #PBS -m abe #PBS -M XYZ@icm.edu.pl Pierwsza linia skryptu zawiera ścięzkę do interpretera (shell), który ma wykonać skrypt na przydzielonym węźle obliczeniowym Nazwa zadania (widziana w kolejce) Nazwa kolejki Projekt Liczna używanych węzłów oraz procesorów Całkowita pamięć przydzielona na zadanie Maksymalny czas wykonywania skryptu Opcje wysyłania maila Adresat maila 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 82
Halo2 - #PBS -q Rodzaje kolejek halo2 duże zadania obliczeniowe, normalna praca test zadania testowe, bardzo krótkie zadania bigmem dedykowana dla zadań wymagających wiele pamięci interactive dedykowana dla zadań interaktywnych Nazwa kolejki Dyrektywa #PBS Limit czasowy dla zadania Limit węzłów dla zadania Test -q test 1:00:00 2 Halo2 -q halo2 336:00:00 32 Bigmem -q bigmem 168:00:00 5 Interactive -q interactive 12:00:00 1 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 83
Halo2 - #PBS -A #PBS -A projekt projekt nazwa grantu realizowanego w ICM przez uzytkownika groups wypisuje akceptowane nazwy grantów Dla użytkowników należących do wielu grantów obliczeniowych wymagane jest podanie właściwego grantu w skrypcie kolejkowym 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 84
Halo2 - #PBS -l #PBS -l nodes=1:ppn=16 #PBS -l nodes=2:ppn=16 Zadanie jest wykonywane na jednym węźle i szesnastu rdzeniach Zadanie jest wykonywane na dwóch węźle i po szesnaście rdzeni na każdym (w sumie 32 rdzenie) #PBS -l nodes=2:ppn=16+1:ppn=8 Zadanie jest wykonywane na trzech węźłach: dwa węzły po szesnście rdzeni i jeden z ośmioma (w sumie 40 rdzeni) #PBS -l mem=15gb #PBS -l walltime=02:00:00 Całkowita pamięć przydzielona do zadania wynosi 15 GB Na węźle jest 16/32GB, ale część zajmuje system. Należy używać: na mniejszych węzłach: mem=<15gb na większych węzłach: mem=<30gb aby użyć więcej pamięci: -q bigmem Maksymalny czas wykonywania zadania Format: hhh:mm:ss 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 85
Halo2 - #PBS M/m #PBS -M mail[@host][,mail2[@host2]] Skrypt wysyła maila na wskazany adres Obsługiwane są tylko maile ICM'owe #PBS -m abe Opcje wysłania maila a mail jest wysyłany po zatrzymaniu skryptu b mail jest wysyłany po starcie skryptu e mail jest wysyłany po zakończeniu skryptu n mail nie jest wysyłany 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 86
Halo2 - Zmienne środowiskowe PBS PBS_O_WORKDIR ścieżka absolutna do katalogu z którego uruchamiane jest zadanie PBS_JOBID identyfikator zadania w systemie PBS PBS_NODEFILE ścieżka absolutna do pliku zawierającego nazwy węzłów obliczeniowych odpowiadające przydzielonym procesorom PBS_TASKNUM liczba dostępnych procesorów w ramach zadania Zmienne mogą być używane wyłącznie wewnątrz skryptu lub zadania interaktywnego. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 87
Halo2 - Uruchamianie zadań System PBS qsub skrypt.pbs Wstawia skrypt.pbs do kolejki qsub może przyjmować jako argument komendy PBS qsub -q test skrypt.pbs Tryb interaktywny Pozwala na bezpośrednie uruchamianie obliczeń qsub -I -l nodes=2:ppn=16 -l mem=128mb -l walltime=1:00:00 \ -A G01-77 -q test Dostępny tylko na klastrach (PBS) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 88
Halo2 - qstat qstat Wyświetla wszystkie zadania w kolejce -f wszystkie informacje o zadaniach -a cała informacja o zadaniach -i wyświetla niedziałające zadania -r wyświetla działające zadania -n wyświetla informacje o węzłach -G wyświetla informacje o zużyciu pamięci -u user wyświetla zadanie usera -q wyświetla informacje o zadaniach w kolejkach qstat -f job_id 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 89
Halo2 - qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- -------- - ----- 66043.halo2 quickstart krzywojc 0 Q halo2 74066.halo2 hmcn14b11.0 gabrielw 4902:17: R halo2 74069.halo2 hmcn14b14.0 gabrielw 1312:07: R halo2 74070.halo2 hmcn14b15.0 gabrielw 1195:46: R halo2 74268.halo2 jg5 kulcz 4433:42: R halo2 74402.halo2 run_3br1c taye 4367:30: R halo2 74403.halo2 run_3br2c taye 4355:00: R halo2 74600.halo2 hmcn14b10.0 gabrielw 1134:16: R halo2 74641.halo2 run_g09 lesiuk 4073:37: R halo2 74642.halo2 run_g09_2 lesiuk 4074:56: R halo2 74867.halo2 energie39_acct_ alimalek 492:07:0 R halo2 75031.halo2...4_SLAB12_asym lju 3704:45: R halo2 75628.halo2 1TMG maria 10826:25 R halo2 75634.halo2 hmcn12b16.0 magiersk 2636:42: C halo2 75680.halo2 cfourtest januszc 68:48:53 R halo2 75689.halo2 go1 broy 2499:40: R halo2 76223.halo2 DOH_Zn1_A1_6 hyperion 1952:25: R halo2 76253.halo2 adrian1.obl rbalawen 953:37:3 R halo2 76277.halo2 MgbCAccsd.sh mpgro 406:08:0 R halo2 76365.halo2 HMgC3Nccsd.sh mpgro 155:15:0 R halo2 76382.halo2 gamess wojbur 830:59:5 R halo2 76383.halo2 gamess wojbur 831:26:5 R halo2 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 90
Halo2 - qdel/qalder qdel Job_id Usuwa zadanie Job_id z kolejki qalter Job_id [-opcja wartosc] Zmiena parametry skryptu W qalter opcje są takie same jak w qsub. Podaje się tylko zmieniane wartości. qalter 3215 -N test2 Zmienia nazwę zadania 3215 na test2 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 91
System LoadLeveler Na przykładzie Notos i Boreasz 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 92
Uruchamianie zadań IBM LoadLeveler Podstawowe komendy: Komenda llsubmit llq llq s <job_id> llcancel <job_id> llclass Krótki opis Wstawia do kolejki zadanie LoadLeveler. Pokazuje zadania w kolejce (te uruchomione i te czekające na zasoby) wraz z dodatkową informacją. Pokazuje więcej informacji o zadaniu, np. dlaczego wciąż stoi w kolejce, ile dokładnie zasobów zadeklarowaliśmy,.. Usuwa zadanie z kolejki. Pokazuje informację o aktualnie zdefiniowanych klasach. Wstawianie zadania do kolejki: llsubmit <jobfile name> 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 93
Przykładowe wywołanie: llq sheed@notos:~> llq Step Id Owner Account Job Name Class Size ST ------------------------ ----------- -------- -------------------- ---------- ------ -- notos.1904.0 panecka G31-4 R53A_v3_b_P kdm-large I notos.1903.0 panecka G31-4 R53A_3_b_nP kdm-large I notos.1902.0 panecka G31-4 f_3_b_p kdm-large I notos.1901.0 panecka G31-4 K42A_3_b_nP kdm-large I notos.1900.0 panecka G31-4 full_v3_b_np kdm-large I notos.1899.0 panecka icm-staf f_v3_99_np kdm-large I notos.1898.0 panecka G31-4 K42A_v3_b_P kdm-large I notos.1897.0 panecka G31-4 K43Q_v3_b_P kdm-large I notos.1896.0 panecka G31-4 K43Q_3_b_nP kdm-large I notos.1890.0 memar icm-staf nwchem1 workshop 32 R notos.1863.0 fleon G31-4 namd_ab kdm-large 512 R 11 job step(s) in queue, 9 waiting, 0 pending, 2 running, 0 held, 0 preempted 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 94
Przykładowe wywołanie: llq -s sheed@notos:~> llq -s 1863 =============== Job Step notos.icm.edu.pl.1863.0 =============== Job Step Id: notos.icm.edu.pl.1863.0 Job Name: namd_ab Owner: fleon Queue Date: Fri 03 Jun 2011 11:05:13 AM CEST Status: Running Dispatch Time: Tue 07 Jun 2011 07:00:47 PM CEST Size Requested: 512 Size Allocated: 512 Partition Allocated: LL11060703200913 Base Partition List: R00-M0 IONodes Per BP: N00-J00,N01-J00,N02-J00,N03-J00,N04-J00,N05-J00,N06-J00,N07-J00,N08-J00,N09-J00,N10- J00,N11-J00,N12-J00,N13-J00,N14-J00,N15-J00 Notify User: fleon@icm.edu.pl LoadLeveler Group: G31-4 Class: kdm-large Wall Clk Hard Limit: 8+08:00:00 (720000 seconds) Wall Clk Soft Limit: 8+08:00:00 (720000 seconds) Account: G31-4 ==================== EVALUATIONS FOR JOB STEP notos.icm.edu.pl.1863.0 ==================== The status of job step is : Running Since job step status is not Idle, Not Queued, or Deferred, no attempt has been made to determine why this job step has not been started. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 95
Notos budowa skryptu kolejkowego Plik tekstowy zawierający definicje parametrów LoadLeveler-a Linie definiujące parametry LL rozpoczynają się od #@ Reszta skryptu może zawierać dowolne komendy skryptowe (Uwaga: wykonywane na FEN) Komentarze rozpoczynają się od # Komenda uruchomienia obliczeń na Blue Gene/P (np. mpirun) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 96
Notos budowa skryptu kolejkowego Pola wymagane: Opcja Znaczenie # @ job_type = bluegene Ustawia typ zadania. Powinno być zawsze ustawione na bluegene. # @ bg_size = N Liczba węzłów obliczeniowych Blue Gene/P do rezerwacji, rozmiar partycji. # @ account_no = nr grantu Numer grantu obliczeniowego użytkownika. Używane w celach sprawozdawczych. # @ wall_clock_limit = HH:MM:SS Maksymalna długość działania zadania od momentu jego uruchomienia. # @ class = klasa Wybranie klasy zadania. Dostępne klasy: llclass. Nie wszyscy użytkownicy mają dostęp do wszystkich klas. # @ output = plik Nazwa pliku, do którego trafi przekierowanie standardowego strumienia wyjścia. Domyślnie /dev/null. # @ error = plik Nazwa pliku, do którego trafi przekierowanie standardowego strumienia błędu. Domyślnie /dev/null. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 97
Notos budowa skryptu kolejkowego Pola opcjonalne: Opcja # @ bg_connection = MESH/TORUS/PREFER_TORUS Znaczenie Określa sposób połączenia sieciowego pomiędzy węzłami. Domyślnie: MESH. # @ environment = env1; env2;.. Określa sposób kopiowania zmiennych środowiskowych użytkownika do środowiska obliczeniowego. Możliwe ustawienia: COPY_ALL - wszystkie zmienne ze środowiska będą kopiowane, $var - zmienna var ma być kopiowana do środowiska obliczeniowego,!var - zmienna var nie ma być kopiowana do środowiska obliczeniowego, var=value - zmienna var ma przyjąć wartość value w środowisku obliczeniowym. # @ job_name = nazwa zadania Ustawia nazwę zadania. Pod taką nazwą będzie widziane zadanie w systemie. # @ initialdir = dir Ścieżka roboczego katalogu obliczeń. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 98
Notos budowa skryptu kolejkowego Pola opcjonalne: Opcja Znaczenie # @ notification = typ Definiuje, w jakich przypadkach wysyłany jest mail do właściciela zadania. Możliwe argumenty: error - gdy zadanie zakończyło się błędem, start - gdy zadanie zaczęło się liczyć, complete - gdy zadanie się zakończyło, always - we wszystkich powyższych przypadkach, never - nigdy. # @ notify_user = email Email użytkownika, do którego ewenetualne maile będą wysyłane. Format argumentu: user[@host][,user[@host],...]. # @ bg_shape = <X>x<Y>x<Z> Definiuje ilość podstawowych partycji (midplane) w trzech kierunkach X, Y oraz Z. # @ bg_rotate = <true false> Określna, czy scheduler LoadLeveler-a powinien rozpatrywać wszystkie możliwe obroty zadanego kształtu. Domyślnie true. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 99
Notos - przykładowy skrypt # @ job_name = Ping_pong # @ account_no = grupa # @ class = kdm # @ error = ping_pong.err # @ output = ping_pong.out # @ environment = COPY_ALL # @ wall_clock_limit = 00:20:00 # @ notification = error # @ notify_user = $(user)@icm.edu.pl # @ job_type = bluegene # @ bg_size = 32 # @ queue (Przykłady w /opt/examples/loadleveler) mpirun -exe ping_pong -mode SMP -np 32 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 100
Podstawowe opcje mpirun (mpirun h) Opcja Znaczenie -np ranks -exe <executable> -args program args -cwd <path> -mode <SMP,DUAL,VN> Ilość ranków MPI. Nazwa pliku wykonywalnego zadania. Argumenty pliku wykonywalnego zadania. Ścieżka katalogu roboczego zadania. Specyfikuje tryb pracy węzłów. SMP 1 rank, 4 threads DUAL 2 ranks, 2 threads each VN 4 ranks, 1 thread each Zależność pomiędzy trybem pracy węzłów, rozmiarem partycji oraz ilością ranków MPI Tryb VN: ilość ranków MPI = 4 x rozmiar partycji Tryb DUAL: ilość ranków MPI = 2 x rozmiar partycji Tryb SMP: ilość ranków MPI = rozmiar partycji 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 101
Zmienne środowiskowe Załóżmy, że chcemy przekazać środowisku obliczeniowemu ustawienia poprzez zmienne środowiskowe Ustawianie zmiennych środowiskowych w skrypcie LoadLeveler-a nie wystarczy Musimy wykonać to przy użyciu argumentu mpirun: -env <nazwa zmiennej>=<wartość zmiennej> (zmienne podawane pojedynczo) -exp_env <nazwa zmiennej> 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 102
Notos - aktualna konfiguracja LoadLeveler-a Klasa KDM bez ograniczenia na ilość węzłów, wallclock 1h, cputime 32h, priorytet 10 Przeznaczenie: podstawowe testy oprogramowania, kompilacja, uruchomienie, testy skalowalności do 512 węzłów Klasa KDM-LARGE bez ograniczenia na ilość węzłów, wallclock 360h, priorytet 85 Przeznaczenie: rozszerzone testy skalowalności, obliczenia Klasa POWIEW bez ograniczeń na ilość węzłów, wallclock 360h, priorytet 90 Przeznaczenie: obliczenia 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 103
Boreasz budowa skryptu kolejkowego Plik tekstowy zawierający definicje parametrów LoadLeveler-a Linie definiujące parametry LL rozpoczynają się od #@ Reszta skryptu może zawierać dowolne komendy skryptowe, które wykonane zostaną na węźle obliczeniowym Komentarze rozpoczynają się od # Komenda uruchomienia obliczeń: mpiexec 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 104
Boreasz budowa skryptu kolejkowego Pola wymagane: Opcja Znaczenie # @ job_type = parallel Ustawia typ zadania. Powinno być zawsze ustawione na parallel. # @ node = N Liczba węzłów obliczeniowych do rezerwacji, rozmiar partycji. # @ tasks_per_node = K Ilość tasków MPI przypadających na jeden węzeł # @ account_no = nr grantu Numer grantu obliczeniowego użytkownika. Używane w celach sprawozdawczych. # @ wall_clock_limit = HH:MM:SS Maksymalna długość działania zadania od momentu jego uruchomienia. # @ class = klasa Wybranie klasy zadania. Dostępne klasy: llclass. Nie wszyscy użytkownicy mają dostęp do wszystkich klas. # @ output = plik Nazwa pliku, do którego trafi przekierowanie standardowego strumienia wyjścia. Domyślnie /dev/null. # @ error = plik Nazwa pliku, do którego trafi przekierowanie standardowego strumienia błędu. Domyślnie /dev/null. # @ network.mpi = mode Ustawienia sieci komunikacji (powinno być: sn_all,not_shared,us,high) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 105
Boreasz budowa skryptu kolejkowego Pola opcjonalne: Opcja Znaczenie # @ notification = typ Definiuje, w jakich przypadkach wysyłany jest mail do właściciela zadania. Możliwe argumenty: error - gdy zadanie zakończyło się błędem, start - gdy zadanie zaczęło się liczyć, complete - gdy zadanie się zakończyło, always - we wszystkich powyższych przypadkach, never - nigdy. # @ notify_user = email Email użytkownika, do którego ewenetualne maile będą wysyłane. Format argumentu: user[@host][,user[@host],...]. # @ environment = env1; env2;.. Określa sposób kopiowania zmiennych środowiskowych użytkownika do środowiska obliczeniowego. Możliwe ustawienia: COPY_ALL - wszystkie zmienne ze środowiska będą kopiowane, $var - zmienna var ma być kopiowana do środowiska obliczeniowego,!var - zmienna var nie ma być kopiowana do środowiska obliczeniowego, var=value - zmienna var ma przyjąć wartość value w środowisku obliczeniowym. # @ job_name = nazwa zadania Ustawia nazwę zadania. Pod taką nazwą będzie widziane zadanie w systemie. 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 106
Boreasz- przykładowy skrypt #@ job_name = Calculations #@ output = $(job_name)_$(jobid) #@ error = $(job_name)_$(jobid) #@ account_no = G33-19 #@ class = kdm #@ node = 16 #@ tasks_per_node = 32 #@ wall_clock_limit = 08:00:00 #@ network.mpi = sn_all,not_shared,us,high #@ notification = never #@ environment = COPY_ALL #@ job_type = parallel #@ queue mpiexec -n 512./executable 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 107
Boreasz - aktualna konfiguracja LoadLeveler-a Klasa KDM dostępna dla wszystkich użytkowników, przeznaczona do zadań krótkich, bez ograniczeń na ilość węzłów (max. 76), ograniczony czas CPU (12 288h), ograniczony czas walltime (24h), ograniczenie na ilość zadań (32), priorytet 70 Klasa KDM-LONG dostępna dla wszystkich użytkowników, przeznaczona do zadań długich, ograniczona ilość węzłów na zadanie (16), ograniczony czas walltime (168h), ograniczenie na ilość zadań (6), priorytet 60 Klasa POWIEW dostępna dla naukowców z POWIEW Klasa METEO dostępna dla modelu prognozy pogody Uwaga: ustawienia systemu kolejkowego zmieniają się (informacje wyświetlane przy logowaniu oraz /opt/info/queuing_system) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 108
Ćwiczenie Uruchom zadanie obliczeniowe poprzez system kolejkowy na 2 węzłach Zadanie polegać ma na wypisaniu hostname węzłów Skorzystaj z komputerów halo2 i boreasz Pomoce: halo2: /opt/examples/openmpi/przykład boreasz: /opt/info/queuing_system 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 109
Granty Dostęp do zasobów KDM (granty.icm.edu.pl) 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 110
Biuletyn HPC Reklama Biuletynu HPC http://biuletyn.icm.edu.pl 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 111
Dziękujemy za uwagę! pomoc@icm.edu.pl 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 112