Podstawy: Różnice pomiędzy wersjami
Linia 5: | Linia 5: | ||
==Logowanie== | ==Logowanie== | ||
− | Serwery dostępowe maszyn obliczeniowych dopuszczają jedynie bezpieczne połączenia, dlatego można zalogować się na nie oraz przesyłać pliki, jedynie z wykorzystaniem protokołu SSH. | + | Serwery dostępowe maszyn obliczeniowych dopuszczają jedynie bezpieczne połączenia, dlatego można zalogować się na nie oraz przesyłać pliki, jedynie z wykorzystaniem protokołu SSH. Ponadto jeśli planowane jest wykorzystanie programów w wersji okienkowej, niezbędna jest obecność klienta [http://en.wikipedia.org/wiki/X_Window_System XWindow] na komputerze, z którego loguje się użytkownik. |
+ | |||
===Logowanie z systemu UNIX/Linux=== | ===Logowanie z systemu UNIX/Linux=== | ||
− | < | + | Systemy z rodziny UNIX/Linux posiadają zwykle programy umożliwiające połączenia SSH takie jak <tt>slogin</tt>, <tt>ssh</tt> oraz <tt>scp</tt> służący do kopiowania plików. Do zalogowania się wtedy wystarcza komenda: |
− | ssh <nazwa_maszyny_dostępowej> | + | |
− | </ | + | <code> |
+ | ssh <login>@<nazwa_maszyny_dostępowej> | ||
+ | </code> | ||
+ | |||
lub | lub | ||
− | < | + | |
− | ssh -l login <nazwa_maszyny_dostępowej> | + | <code> |
− | </ | + | ssh -l <login> <nazwa_maszyny_dostępowej> |
+ | </code> | ||
+ | |||
+ | gdzie <tt><login></tt> jest nazwą konta użytkownika na danej maszynie a <tt><nazwa_maszyny_dostępowej></tt> jest nazwą maszyny dostępowej lub jej numerem IP. Na przykład użytkownik o koncie <tt>kowalski</tt> na maszynę <tt>ui.cyfronet.pl</tt> zaloguje się używając komendy: | ||
+ | |||
+ | <code> | ||
+ | ssh kowalski@ui.cyfronet.pl | ||
+ | </code> | ||
+ | |||
+ | Po wykonaniu komendy w lini poleceń komputera użytkownika użytkownik zostanie poproszony o podanie hasła dostępu do zdalnej maszyny, po jego podaniu jest już gotowy do pracy. | ||
+ | |||
===Logowanie z systemu Windows=== | ===Logowanie z systemu Windows=== | ||
+ | Systemy z rodziny Windows nie posiadają wbudowanego klienta protokołu SSH. Dlatego ich użytkownicy muszą zainstalować dodatkowe oprogramowanie. Polecane programy: | ||
+ | * [http://www.chiark.greenend.org.uk/~sgtatham/putty Putty] jako klient SSH | ||
+ | ** [[PuTTY]] configuration instructions (HPC) | ||
+ | * [http://winscp.net/eng/index.php WinSCP] służący do transferu plików | ||
+ | |||
+ | Once you are logged in and have a prompt that resembles that in the Unix / Linux section above, you can continue with this tutorial. | ||
+ | ====X Windows Connectivity==== | ||
+ | |||
+ | Putty, WinSCP (Windows). W systemach UNIX/Linux wersja XWindow jest zwykle zainstalowana i dostępna dla użytkownika. Systemy Windows nie posiadają serwera XWindow dlatego należy takowy zainstalować. Polecamy instalację darmowego serwera Xów: XMing (http://sourceforge.net/projects/xming). | ||
+ | |||
Otwieramy program Putty i w polu <tt>Host Name</tt> okna głównego wpisujemy nazwę maszyny dostępowej i potwierszamy klawiszem "Open". Następnie wpisujemy login i hasło. | Otwieramy program Putty i w polu <tt>Host Name</tt> okna głównego wpisujemy nazwę maszyny dostępowej i potwierszamy klawiszem "Open". Następnie wpisujemy login i hasło. | ||
==Podstawy obsługi systemu kolejkowego== | ==Podstawy obsługi systemu kolejkowego== | ||
System kolejkowy jest wygodnym narzędziem uruchamiania zadań na zasobach obliczeniowych. W zależności od potrzeb, może on informować użytkownika o dacie i czasie rozpoczęcia, czy też zakończenia, wykonywania danego zadania, na wskazany adres e-mail. | System kolejkowy jest wygodnym narzędziem uruchamiania zadań na zasobach obliczeniowych. W zależności od potrzeb, może on informować użytkownika o dacie i czasie rozpoczęcia, czy też zakończenia, wykonywania danego zadania, na wskazany adres e-mail. | ||
− | ===Uruchamianie zadań === | + | ===Uruchamianie zadań === |
Do uruchamiania zadań służy komenda <tt>qsub</tt>. Zadania można uruchamiać w dwóch trybach: interaktywnym, gdzie do dyspozycji użytkownika jest konsola terminala lub wsadowym. W tym drugim przypadku wszystkie komendy umieszcza się w pliku. W takim pliku linijki zawierające Instrukcje sterujące dla systemu kolejkowego muszą zaczynać się ciągiem znaków <tt>#PBS</tt>. Umieszcza się je w początkowej części pliku. Dzięki temu system kolejkowy jest w stanie odczytać opcje jemu właściwe właśnie z tych linijek i uruchomić pozostałe instrukcje, dotyczące już samego zadania obliczeniowego, z dalszej części pliku. Najważniejsze opcje i parametry komendy <tt>qsub</tt> zawiera poniższa tabela. | Do uruchamiania zadań służy komenda <tt>qsub</tt>. Zadania można uruchamiać w dwóch trybach: interaktywnym, gdzie do dyspozycji użytkownika jest konsola terminala lub wsadowym. W tym drugim przypadku wszystkie komendy umieszcza się w pliku. W takim pliku linijki zawierające Instrukcje sterujące dla systemu kolejkowego muszą zaczynać się ciągiem znaków <tt>#PBS</tt>. Umieszcza się je w początkowej części pliku. Dzięki temu system kolejkowy jest w stanie odczytać opcje jemu właściwe właśnie z tych linijek i uruchomić pozostałe instrukcje, dotyczące już samego zadania obliczeniowego, z dalszej części pliku. Najważniejsze opcje i parametry komendy <tt>qsub</tt> zawiera poniższa tabela. | ||
{| class="wikitable" | {| class="wikitable" |
Wersja z 14:39, 25 sty 2012
Spis treści
Uzyskiwanie konta
W celu uzyskania konta użytkownika na maszynach obliczeniowych ACK Cyfronet AGH należy …
Logowanie
Serwery dostępowe maszyn obliczeniowych dopuszczają jedynie bezpieczne połączenia, dlatego można zalogować się na nie oraz przesyłać pliki, jedynie z wykorzystaniem protokołu SSH. Ponadto jeśli planowane jest wykorzystanie programów w wersji okienkowej, niezbędna jest obecność klienta XWindow na komputerze, z którego loguje się użytkownik.
Logowanie z systemu UNIX/Linux
Systemy z rodziny UNIX/Linux posiadają zwykle programy umożliwiające połączenia SSH takie jak slogin, ssh oraz scp służący do kopiowania plików. Do zalogowania się wtedy wystarcza komenda:
ssh <login>@<nazwa_maszyny_dostępowej>
lub
ssh -l <login> <nazwa_maszyny_dostępowej>
gdzie <login> jest nazwą konta użytkownika na danej maszynie a <nazwa_maszyny_dostępowej> jest nazwą maszyny dostępowej lub jej numerem IP. Na przykład użytkownik o koncie kowalski na maszynę ui.cyfronet.pl zaloguje się używając komendy:
ssh kowalski@ui.cyfronet.pl
Po wykonaniu komendy w lini poleceń komputera użytkownika użytkownik zostanie poproszony o podanie hasła dostępu do zdalnej maszyny, po jego podaniu jest już gotowy do pracy.
Logowanie z systemu Windows
Systemy z rodziny Windows nie posiadają wbudowanego klienta protokołu SSH. Dlatego ich użytkownicy muszą zainstalować dodatkowe oprogramowanie. Polecane programy:
Once you are logged in and have a prompt that resembles that in the Unix / Linux section above, you can continue with this tutorial.
X Windows Connectivity
Putty, WinSCP (Windows). W systemach UNIX/Linux wersja XWindow jest zwykle zainstalowana i dostępna dla użytkownika. Systemy Windows nie posiadają serwera XWindow dlatego należy takowy zainstalować. Polecamy instalację darmowego serwera Xów: XMing (http://sourceforge.net/projects/xming).
Otwieramy program Putty i w polu Host Name okna głównego wpisujemy nazwę maszyny dostępowej i potwierszamy klawiszem "Open". Następnie wpisujemy login i hasło.
Podstawy obsługi systemu kolejkowego
System kolejkowy jest wygodnym narzędziem uruchamiania zadań na zasobach obliczeniowych. W zależności od potrzeb, może on informować użytkownika o dacie i czasie rozpoczęcia, czy też zakończenia, wykonywania danego zadania, na wskazany adres e-mail.
Uruchamianie zadań
Do uruchamiania zadań służy komenda qsub. Zadania można uruchamiać w dwóch trybach: interaktywnym, gdzie do dyspozycji użytkownika jest konsola terminala lub wsadowym. W tym drugim przypadku wszystkie komendy umieszcza się w pliku. W takim pliku linijki zawierające Instrukcje sterujące dla systemu kolejkowego muszą zaczynać się ciągiem znaków #PBS. Umieszcza się je w początkowej części pliku. Dzięki temu system kolejkowy jest w stanie odczytać opcje jemu właściwe właśnie z tych linijek i uruchomić pozostałe instrukcje, dotyczące już samego zadania obliczeniowego, z dalszej części pliku. Najważniejsze opcje i parametry komendy qsub zawiera poniższa tabela.
Opcja | Parametry | Opis | Uwagi |
---|---|---|---|
-l | Opcja służy do specyfikacji zasobów (rdzeni, węzłów pamięci) dla zadania. Poszczególne opcje można łączyć w jednej linii. W takim przypadku należy rozdzielić je znakiem dwukropka. | ||
nodes=<liczba_węzłów> | Parametr służy do specyfikacji liczby wezłów | ||
ppn=<liczba rdzeni> | Liczba żądanych rdzeni na każdym węźle | opcja niedostępna na maszynie Baribal | |
walltime=<czas obliczeń> | Maksymalny czas obliczeń. Czas należy podawać w formacie DD:GG:MM:SS gdzie DD, GG, MM, SS oznaczają odpowiednio żądaną liczbę dni, godzin, minut i sekund na zadanie. | ||
-N | <nazwa_zadania> | Nazwa zadania w systemie kolejkowym | |
-j | oe | Połączenie standardowego wyjścia ze standardowym wyjściem błędów podczas wykonywania obliczeń | |
-m | b, e lub a | System kolejkowy wyśle e-mail do użytkownika jeśli zadanie rozpocznie się wykonywać b, skończy wykonywać e lub zostanie przerwane a. | |
-M | <adres@e-mail.użytkownika> | Adres e-mail użytkownika na który ma zostać wysłana wiadomość o stanie zadania | |
-q | <nazwa_kolejki> | Specyfikuje nazwę kolejki do której ma trafić zadanie | |
-I | uruchomienie zadania intraktywnego | ||
-X | w trybie interaktywnym pozwala na uruchamianie programów okienkowych | opcja niedostępna na maszynie Baribal i Mars |
Wyświetlanie informacji o stanie zadań w kolejkach
Do wyświetlania informacji o zadaniach oraz kolejkach służy komenda qstat. Wywołanie komendy bez parametrów spowoduje wyświetlenie informacji o wszystkich zadaniach w kolejkach. Najczęściej używane opcje komendy qstat zebrano w tabeli poniżej.
Opcja | Parametry | Opis | Uwagi |
---|---|---|---|
-q | <nazwa_kolejki> | Bez parametrów wyświetla informacje o dostępnych kolejkach i ich parametrach. | |
-u | <nazwa_użytkownika> | Wyświetla informacje o zadaniach danego użytkownika. | |
<identyfikator zadania> | Wyświetla informacje o danym zadaniu. | ||
-f | Pełna informacj o wszystkich zadaniach systemu kolejkowego. |
Usuwanie zadań
Do usuwania zadań służy komenda qdel. W celu sunięcia zadania z kolejki potrzebny jest również jego identyfikator numeryczny (jobid), który można wyświetlić komendą qstat. Cała sekwencja może wyglądać następująco:
qdel 12345678910
Przydatne zmienne systemu kolejkowego
- $PBS_NODEFILE Zmienna wskazuje na plik z nazwami węzłów przydzielonymi dla zadania. Najczęściej wykorzystywany do określania liczby rdzeni przydzielonej zadaniu np.:
export NPROC=`cat $PBS_NODEFILE | wc -l`
- $PBS_O_WORKDIR Zmienna wskazuje na katalog, z kkórego uruchomiono obliczenia. Najczęściej wykorzystywana do wskazania plików dla zadania np.:
cd $PBS_O_WORKDIR
Zasoby dyskowe
Zasoby dyskowe dołączone do Komputerów Dużej Mocy w Cyfronecie podzielone są na trzy główne rodzaje:
- katalogi domowe użytkowników
- zasoby do składowania danych
- zasoby tymczasowe, przeznaczone do przeprowadzania obliczeń
Każdy typ zasobu dyskowego umieszczony jest na innym sprzęcie i charakteryzuje się skrajnie różnymi parametrami szybkości, pojemności oraz poziomu bezpieczeństwa danych, dlatego niezmiernie ważne jest odpowiednie dobieranie typu zasobu do przeznaczenia zapisywanego nań pliku.
Quota
Większość zasobów posiada ustawioną tzw. kwotę dyskową (ang. quota), która limituje maksymalne użycie przestrzeni dyskowej oraz liczby plików przez użytkownika. Aktualnie przyznaną kwotą oraz jej użycie można zobaczyć za pomocą polecenia quota -s.
Katalogi domowe
Katalog domowy (home) charakteryzuje się małą przestrzenią i stosunkowo niską wydajnością, za to wszystkie pliki z katalogów domowych posiadają regularnie tworzone kopie zapasowe. Katalog domowy służy głównie jako magazyn małych plików, czy też prywatnego oprogramowania użytkownika (programy, skrypty, narzędzia, itp.).
Składowanie danych
Katalogi składowania danych (storage) charakteryzują się stosunkowo dużą przestrzenią, średnią wydajnością oraz dobrym bezpieczeństwem danych i zabezpieczeniem przed omyłkowym skasowaniem plików, realizowanym za pomocą tzw. kopii migawkowych (ang. snapshot). Przestrzeń ta służy np. do składowania wyników czy plików wejściowych, które nie muszą posiadać kopii zapasowej lub których rozmiar uniemożliwia przechowywanie ich w katalogu domowym.
Przestrzeń tymczasowa
Przestrzeń tymczasowa (scratch) to przestrzeń dyskowa dedykowana do przeprowadzania obliczeń, dostępna z wszystkich serwerów wchodzących w skład superkomputera. Charakteryzuje się bardzo wysoką wydajnością i dużą pojemnością, nie oferując jednak kopii zapasowych czy migawkowych. Służy do przechowywania danych generowanych przez aplikacje przez czas trwania obliczeń i wszystkie pliki powstałe w tym procesie powinny zostać usunięte niezwłocznie po zakończeniu zadania. Na niektórych systemach wdrożona jest polityka automatycznego usuwania bez ostrzeżenia plików starszych niż ustalona liczba dni. Przestrzeń ta jest realizowana na wiele sposobów, na klastrach Zeus i Mars poprzez system plików Lustre, natomiast na komputerach Baribal i Panda przez dedykowany zasób z macierzy dyskowej. Dodatkowo na klastrze Zeus możliwe jest wykorzystanie części dysków lokalnych zainstalowanych w węzłach obliczeniowych jako niewspółdzielonej przestrzeni tymczasowej.
Ogólne zalecenia dotyczące obliczeń
Zaleca się, tam gdzie jest to możliwe korzystanie z szybkich połączeń sieciowych (np. Infiniband) czy też szybkich dysków w trakcie wykonywania obliczeń. W przypadku programów uruchamianych na więcej niż jednym rdzeniu zalecamy wykonanie testów skalowalności. W wielu przypadkach zbyt duża liczba procesorów spowalnia całe obliczenia zamiast je przyspieszać. Zadeklarowana pamięć na obliczenia także może mieć znaczący wpływ na szybkość obliczeń. Znane są przypadki oprogramowania, które wykonuje się kilkakrotnie wolniej w przypadku zadeklarowania zbyt dużej pamięci w stosunku do problemu obliczeniowego.
Informacje szczegółowe
Szczegółowe informacje dotyczące logowania, kolejek, czy zaleceń odnośnie wykonywania obliczeń znajdują się na stronach właściwym danym maszynom. Baribal Mars Zeus