1 Infrastruktura PL-Grid - usługi dla chemii obliczeniowej Klemens Noga, Maciej Czuchry ACK Cyfronet AGH Kraków, 15, 22 oraz 29 XI 2013
Plan szkolenia 2! Czym jest ACK CYFRONET AGH?! Zasoby PL-Gridu! rejestracja kont! certyfikaty gridowe! sposoby dostępu! przydzielanie mocy obliczeniowych! Dostęp do klastra Zeus! Przeprowadzanie obliczeń! Dokumentacja i pomoc dla użytkowników! Narzędzia ułatwiające badania naukowe! InSilicoLab for Chemistry! QCG-Icon
Czym jest ACK CYFRONET AGH? 3 Akademickie Centrum Komputerowe! ACK Cyfronet AGH powstało w 1973 roku i jest jednym z najdłużej działających w Polsce! Działalność centrum! Komputery Dużej Mocy (HPC)! Miejska Sieć Komputerowa (MAN)! Oprogramowanie specjalistyczne! Badania naukowe! organizacja konferencji naukowych! Cracow Grid Workshop! KU KDM! e-nauczanie https://www.cyfronet.krakow.pl/
CYFRONET - zasoby obliczeniowe 4 Komputery Dużej Mocy! Komputery SMP! Baribal (256 rdzeni, 512GB, 1.5 TFLOPS)! Panda (32 rdzenie, 64GB, 0.2 TFLOPS)! Klaster! Mars (544 rdzenie, 1TB, 5.4 TFLOPS)! Klaster heterogeniczny! Zeus (350 TFLOPS)! Maszyny wirtualne! Platon U3 (384 rdzenie, 1.8 TB, 3.7 TFLOPS, Windows)! Platformy rekonfigurowalne FPGA https://www.cyfronet.krakow.pl/
CYFRONET - zasoby obliczeniowe 5 Przechowywanie danych! Komputery Dużej Mocy (do ~10 TB)! automatyczne kopie zapasowe! Dedykowane serwisy! zasoby dostępne lokalnie (~ 600 TB)! zasoby gridowe (~ 420 TB)! serwer baz danych! Urządzenia taśmowe Niezawodność! Zasoby utrzymywane w stanie produkcyjnym 24h na dobę, 7 dni w tygodniu! stały monitoring! efektywna klimatyzacja!! system zabezpieczeń na wypadek awarii zasilania! https://www.cyfronet.krakow.pl/
CYFRONET - oprogramowanie 6 Dostępne oprogramowanie! Biologia: AutoDock/AutoGrid, BLAST, Clustal, CPMD, Gromacs, NAMD! Chemia kwantowa: ADF, Amber, CFOUR, Dalton, GAMESS, Gaussian, Molpro, MOPAC, NWChem, Siesta, TURBOMOLE! Fizyka: ANSYS Fluent, Abaqus, Meep, OpenFOAM, ROOT! Obliczenia molekularne i symulacje: LAMMPS, MATLAB, Nmag, R, Wolfram Mathematica! Platon: Adobe Creative Suite 5.5, Autodesk 2012, Mathcad Prime 1.0, Statistica 10.0! Możliwość instalacji dowolnego oprogramowania! Unix/Linux! Windows (Platon)! Możliwość wykorzystania własnych licencji komercyjnych https://www.cyfronet.krakow.pl/
Jak zostać użytkownikiem? 7 Sposoby rejestracji! Rejestracja elektroniczna przez Portal Użytkownika PL-Grid! rejestracja w pełni elektroniczna (https://portal.plgrid.pl)! weryfikacja użytkownika na podstawie OPI! możliwość łatwego rozszerzenia konta na nowe usługi! Rejestracja w KDM! wymaga wypełnienia papierowego formularza ( http://www.cyfronet.pl/uslugi_obliczeniowe/?a=przyznawanie)! weryfikacja na podstawie formularza! jeden wniosek na jeden komputer! Rejestracja w projekcie PLATON! rejestracja elektroniczna (https://agh.cloud.pionier.net.pl)
Czym jest PL-Grid? 8 Konsorcjum polskich Centrów Komputerowych Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej Poznańskie Centrum Superkomputerowo Sieciowe w Poznaniu Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego w Warszawie Wrocławskie Centrum Sieciowo - Superkomputerowe we Wrocławiu Akademickie Centrum Komputerowe CYFRONET AGH w Krakowie (koordynator) https://www.plgrid.pl/
Zasoby PL-Gridu 9 Sześć klastrów obliczeniowych 576 TFLOPS 41248 rdzeni 113.26 TB RAM 5.58 PB dysków https://www.plgrid.pl/
Zasoby PL-Gridu 10 Sześć klastrów obliczeniowych! 41 248 rdzeni obliczeniowych 576 TFLOPS! 5,58 PB zasobów dyskowych (w tym szybkie dyski na pliki tymczasowe)! 113,26 TB pamięci RAM! Dostępne rodzaje procesorów! Intel Xeon 4- oraz 6-rdzeniowe (do 12 rdzeni na węźle)! AMD Opteron 6-, 12-, 16-rdzeniowe (do 64 rdzeni na węźle)! karty GPGPU NVidia Tesla (do 8 kart na węźle)! Różne konfiguracje węzłów obliczeniowych! od 8 do 64 rdzeni na węzeł! do 256 GB RAM na węzeł! vsmp (Intel Xeon) do 6TB RAM oraz 768 rdzeni! Pełna konfiguracja na stronie: www.plgrid.pl/oferta/zasoby_obliczeniowe/opis_zasobow/hpc https://www.plgrid.pl/
Rejestracja 11 Portal Użytkownika PL-Grid - https://portal.plgrid.pl! rejestracja konta! zarządzanie certyfikatami gridowymi! aplikacja o dostęp do usług! monitorowanie zużycia zasobów! zarządzanie grantami obliczeniowym! bramka sieciowa do różnych dedykowanych aplikacji! Dostęp do wszystkich usług przy użyciu jednego konta i hasła (lub certyfikatu gridowego) https://docs.plgrid.pl/rejestracja
Sposoby dostępu 12 Dostęp lokalny i gridowy oraz przez portale sieciowe! Wszystkie zasoby dostępne poprzez pośredniczące oprogramowanie gridowe! glite! UNICORE! QosCosGrid! oraz portale sieciowe! GridSpace2! InSilicoLab! ect.! Dostęp lokalny (via PBS) do części zasobów! Zeus (zeus.cyfronet.pl) w tym Zeus vsmp i GPGPU! REEF (ui.reef.man.poznan.pl)! Galera PLUS (ui.grid.task.gda.pl) w tym vsmp https://docs.plgrid.pl/uslugi
Dostęp do zasobów rozproszonych 13 Certyfikaty gridowe! Certyfikat jest niezbędny do dostępu do infrastruktury gridowej, jest dowodem osobistym użytkownika i potwierdza jego tożsamość w usługach gridowych zastępuje hasło! Certyfikaty są wystawiane przez zaufane Centra Certyfikacji (ang. Certification Authority, CA)! Certyfikaty zwykle ważne są jeden rok! Zadania obliczeniowe posługują się certyfikatem krótko żyjącym (proxy)! możliwe jest jego automatyczne odnawianie https://docs.plgrid.pl/certyfikaty
Dostęp do zasobów rozproszonych 14 Certyfikaty gridowe centra certyfikacji! Dla użytkowników PL-Gridu dostępne są dwa CA! Simple CA (http://plgrid-sca.wcss.wroc.pl)! Polish Grid CA (https://plgrid-ca.pl)! Simple CA:! certyfikat uzyskuje się poprzez portal https://portal.plgrid.pl/! generowany na żądanie dla każdego użytkownika (automatycznie)! dostęp ograniczony do polskich zasobów! PL-Grid CA! certyfikat uzyskuje się poprzez portal https://plgrid-ca.pl! użytkownik musi potwierdzić tożsamość w Urzędzie Rejestracji (RA)! umożliwia pracę na całości gridu w European Grid Initiative (EGI) https://docs.plgrid.pl/certyfikaty
Dostęp do zasobów rozproszonych 15 Certyfikaty gridowe formaty certyfikatów! Certyfikaty gridowe mogą być przechowywane w różnych formatach. Najbardziej rozpowszechnione to:! PKCS #12! PEM! certyfikat wraz z kluczem prywatnym znajduje się w jednym pliku binarnym zwykle o rozszerzeniu.p12! certyfikat stanowi para plików tekstowych:! klucz prywatny (zwykle userkey.pem)! plik certyfikatu (zwykle usercert.pem)! Certyfikaty w formacie PKCS #12 używane są przez:! przeglądarki internetowe! większość oprogramowania pośredniczącego! Certyfikaty w formacie PEM używane są:! większość oprogramowania pośredniczącego (często domyślny format) https://docs.plgrid.pl/certyfikaty
Dostęp do zasobów rozproszonych 16 Certyfikaty gridowe import do przeglądarki! Przeglądarki obsługują certyfikaty w formacie PKCS #12! Procedura instalacji zależy od konkretnej przeglądarki! Firefox (Windows) Opcje Zaawansowane Certyfikaty Certyfikaty Użytkownik Importuj Options Advanced Security Manage certificates Your certificates Import! Firefox (Linux) Edycja Preferencje Zaawansowane Certyfikaty Wyświetl certyfikaty Użytkownik Importuj Edit Preferences Advanced Security Manage certificates Your certificates Import https://docs.plgrid.pl/certyfikaty
Koszt dostępu 17 Dostęp nieodpłatny dla polskich naukowców! Dostęp do zasobów oferowanych w ramach projektu PL-Grid jest nieodpłatny dla naukowców i wszystkich osób prowadzących działalność naukową, związaną z uczelnią lub instytutem naukowym w Polsce! Walutą są publikacje, w których powinny znaleźć się podziękowania: "Praca została wykonana z wykorzystaniem Infrastruktury PL-Grid. lub "This research was supported in part by PL-Grid Infrastructure."
Przydzielanie mocy obliczeniowych 18 Zespoły użytkowników! Motywacja! Koncepcja! Zespół odzwierciedla zespół badawczy istniejący w rzeczywistości! samoorganizacja zespołu - dynamiczne zarządzanie członkostwem! współdzielenie i kontrola dostępu do danych! zakładanie grup ad hoc! rola Szefa Zespołu! automatycznie przydzielana założycielowi! może być nadana innemu członkowi grupy! zarządzanie grupą! szef może być jedynym członkiem grupy
Przydzielanie mocy obliczeniowych 19 Granty Obliczeniowe! Motywacja! Koncepcja! umożliwienie konfiguracji zasobów stosownie do wymagań użytkownika! określenie dodatkowych warunków zapewnienia przestrzeni dyskowej, mocy obliczeniowej (wymagania jakościowe)! Planowanie wykorzystania zasobów! Grant = przydział zasobów + warunki/gwarancje! Podmiotem grantu jest Zespół! Zespół może zaproponować własne warunki i gwarancje! Ilość zasobów i warunki podlegają negocjacji! Zasoby mogą pochodzić z kilku ośrodków! Wykorzystanie zasobów i warunki dostarczenia są monitorowane celem rozliczenia
Konferencje 20 Konferencja Użytkowników Komputerów Dużej Mocy! Prezentacja planów rozwoju działu KDM! panel dyskusyjny z użytkownikami! Prezentacje wyników swoich prac użytkowników! Warsztaty ćwiczeniowe! Miejsce: Zakopane, przełom lutego i marca 2014 Cracow Grid Workshop 14! Międzynarodowa konferencja o e-nauce oraz rozproszonych środowiskach obliczeniowych! Miejsce: Kraków, prawdopodobnie listopad 2014! http://www.cyfronet.krakow.pl/cgw13/
Narzędzia ułatwiające badania naukowe 21 GridSpace - https://gs2.cyfronet.pl! Środowisko planowania i zlecania obliczeń w oparciu o infrastruktury komputerów dużej mocy! Dostęp do różnych zasobów (lokalnych i gridowych)! Obsługa całkowicie za pomocą przeglądarki internetowej! środowisko ukrywa szczegóły techniczne! Możliwość pisania wirtualnych eksperymentów używając! wielu języków (m.in. Python, Ruby, R)! wielu programów (m.in. Gaussian, Mathematica, Matlab)! łączenie poszczególnych skryptów w kaskady zadań oraz zagnieżdżanie! Używany również do tzw. executible papers we współpracy z Elsevier - https://collage.elsevier.com
Narzędzia ułatwiające badania naukowe 22 InSilicoLab - http://insilicolab.cyfronet.pl! Środowisko pracy z systemem zintegrowanych narzędzi, które! wspomagają zarządzanie złożonymi obliczeniami! automatyzują powtarzalne cykle obliczeń! umożliwiają w wygodny sposób zarządzanie procesem obliczeń! ułatwiają zarządzanie rozproszonymi danymi eksperymentu! umożliwiają wspólną analizę rezultatów wielu równoległych obliczeń! ułatwiają współpracę pomiędzy badaczami pracującymi nad wspólnymi projektami! nie rozpraszają użytkowników wykorzystywaną technologią - bez forsowania zmiany sposobu myślenia naukowców
InSilicoLab 23 Dostępne domeny badawcze! Chemia kwantowa oraz biochemia! obliczenia pakietami Gaussian, GAMESS, Turbomole! Trajectory Sculptor - półautomatyczne przycinanie dużych układów molekularnych (np. wyników symulacji MD)! możliwość łączenia obu typów eksperymentów! Astrofizyka! obliczenia hydrodynamiczne metodami objętości skończonej! obliczenia dla konsorcjum Cherenkov Telescope Array (CTA)
InSilicoLab 24 Aplikacja o usługę! Recepta:! Wygeneruj swój certyfikat gridowy! np. certyfikat z Simple CA na Portalu Użytkownika PL-Grid, zakładka "Moje Konto", ramka "Certyfikaty Użytkownika"! Zainstaluj swój certyfikat gridowy w przeglądarce! Przejdź na Portal Użytkownika PL-Grid - https://portal.plgrid.pl! Zarejestruj swój certyfikat w Portalu PL-Grid! zakładka "Moje Konto", ramka "Certyfikaty Użytkownika"! Aplikuj o usługę "Globalny dostęp glite"! zakładka "Moje Konto", ramka "Katalog Usług", "Usługi Globalne"! rozprzestrzenianie informacji o użytkowniku w infrastrukturze może trwać do 6 godzin! Aplikuj o usługę "InSilicoLab for Chemistry"! zakładka "Moje Konto", ramka "Katalog Usług", "Platforma dziedzinowa: Chemia"
Dostęp do klastra 25 Dostęp lokalny! Klaster Zeus pracuje w środowisku Linux - system operacyjny Scientific Linux 5 lub 6! Logowanie na węzeł dostępowy UI (User Interface) klastra:! wykorzystując bezpieczny protokół SSH:! kopiowanie plików! ssh login@zeus.cyfronet.pl! w środowisku Windows np. programem PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/)! tryb graficzny zdalne wyświetlanie wykorzystując X11 (dla Windows jako serwer X11 np. Xming)! scp plik login@zeus.cyfronet.pl:! w środowisku Windows np. program WinSCP (http://winscp.net/)! Nie wolno wykonywać żadnych obciążających operacji na węźle dostępowym klastra! Sprawiedliwym przydzielaniem zasobów zajmuje się system kolejkowy Torque/PBS https://kdm.cyfronet.pl/portal/podstawy
Zeus klaster heterogeniczny 26 Składowe klastra Zeus! Zeus składa się z węzła dostępowego (UI) oraz grup węzłów o różnych parametrach! tradycyjne węzły (1198 węzłów, w tym 136 węzłów z dużą ilością RAM)! vsmp zespół maszyn wirtualnych (kilka węzłów)! GPGPU węzły zawierające procesory graficzne GPGPU (44 węzły, 208 kart GPGPU) Własność Zeus Zeus BigMem Zeus vsmp Zeus GPGPU Szybkość CPU 2.26-2.67 GHz 2.67; 2.30 GHz 2.67 GHz 2.93; 2.40 GHz RAM 16, 24 GB 96, 256 GB do 6 TB 72, 96 GB Ilość rdzeni na węźle 8,12 12, 64 do 768 12 InfiniBand tak tak tak Dodatkowe RAMDysk karty GPGPU https://kdm.cyfronet.pl/portal/zeus
Zeus klaster heterogeniczny 27 Składowe klastra Zeus - systemy plików! Składowanie danych - dostęp po NFS (dość powolny, nie używać do obliczeń)! $HOME katalog domowy użytkownika! quota 7 GB! codzienny backup! $STORAGE długotrwałe przechowywanie plików! quota 100GB! Dyski na pliki tymczasowe (tzw. scratch)! $TMPDIR wskazuje na katalog lokalny na węźle obliczeniowym! dostępny jedynie z węzła do którego jest podłączony! dostępny tylko w trakcie wykonywania zadania! $SCRATCH rozproszony system plików Lustre! dostępny z każdego z węzłów klastra! Dla użytkowników PL-Grid na podstawie grantów obliczeniowych (SLA) dostępna dodatkowa przestrzeń na składowanie plików ($PLG_GROUPS_STORAGE) https://kdm.cyfronet.pl/portal/zeus:podstawy
System kolejkowy PBS 28 Wprowadzenie System kolejkowy! zarządza zleconymi zadaniami obliczeniowymi! zarządza zasobami klastra! przydziela zasoby zadaniom obliczeniowym! dba o sprawiedliwą dystrybucję zasobów Zadania obliczeniowe są umieszczane w kolejkach (ang. queue) i uruchamiane w zależności od ich priorytetu. Priorytet zależy m.in. od:! wielkości zasobów przyznanych w grancie obliczeniowym! ilości zażądanych przez zadanie zasobów i ich dostępności! szczególnie istotny jest maksymalny czas trwania obliczeń! zasobów klastra zużywanych aktualnie przez danego użytkownika https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 29 Komendy Użytkownik komunikuje się z systemem kolejkowym za pomocą komend PBS! qsub umieszcza zadanie w kolejce! qstat wyświetla status zadań! qdel usuwa zadanie z kolejki! qalter zmiana parametrów zakolejkowanego zadania Każde zadanie w systemie kolejkowym ma swój własny, unikalny identyfikator zadania tzw. jobid https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 30 Zlecanie zadania Do umieszczenia zadania w kolejce systemu kolejkowego służy komenda qsub Komendy opisujące wykonywane zadanie mogą być zebrane w tzw. skrypt uruchomieniowy i przekazywane systemowi kolejowemu poleceniem! qsub [opcje PBS] skrypt Opcje PBS pozwalają dostarczyć systemowi kolejowemu informacje o zasobach, które zadanie zmierza zużyć. Opcje PBS można podać! w linii poleceń polecenia qsub! w początkowych linijkach skryptu uruchomieniowego poprzedzone dyrektywą #PBS Opcje wyspecyfikowane w linii poleceń nadpisują opcje podane w skrypcie uruchomieniowym https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 31 Zlecanie zadania przykładowy skrypt #!/bin/env bash #przykladowe opcje dla polecenia qsub #PBS -l walltime=5:00 #PBS l mem=128mb #polecenia wykonywane po uruchomieniu zadania echo Obliczenia uruchomione na WN: hostname module add apps/matlab cd $PBS_O_WORKDIR matlab -nodisplay <matlab.m >matlab.out Komendy wykonywane przez skrypt zadania mają taką samą składnię jak komendy wykonywane w wyspecyfikowanej powłoce konsoli. Skrypt zadania zawsze rozpoczynany jest w katalogu HOME na węźle obliczeniowym (WN). Przejście do katalogu, z którego wysłano skrypt przez zmienną PBS_O_WORKDIR https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 32 Monitorowanie zadań qstat Do sprawdzania statusów zadań w systemie kolejkowym służy komenda qstat Statusy zadań:! zakolejkowane Q! działające R! wstrzymane przez użytkownika H! czekające na rozpoczęcie wykonania W! podczas procedury zamykania po zakończeniu zadania E Dodatkowe przydatne filtry! qstat u $USER informacja o zadaniach użytkownika $USER! qstat n <jobid> informacja o węzłach przydzielonych zadaniu! qstat -q ogólna sytuacja na klastrze! qstat Q f nazwa-kolejki szczegółowe parametry kolejki https://kdm.cyfronet.pl/portal/podstawy:pbs
Zeus klaster heterogeniczny 33 Kolejki dostępne na klastrze Zeus Nazwa max czas Uwagi l_test 0:15:00 kolejka do testów l_prio 1:00:00 l_short 3:00:00 domyślna l_long 336:00:00 l_exclusive 336:00:00 zadania zajmujące całe węzły l_interactive 72:00:00 zadania interaktywne l_infinite 2160:00:00 * gpgpu 336:00:00 kolejka GPGPU* vsmp - kolejka vsmp* * dostęp na żądanie qstat Q f <nazwa-kolejki> szczegółowe parametry kolejki qstat <nazwa kolejki> wyświetlenie zadań w konkretnej kolejce https://kdm.cyfronet.pl/portal/zeus:podstawy
System kolejkowy PBS 34 Zlecanie zadania opcje polecenia qsub -q kolejka definiuje kolejkę, do której skierowane zostanie zadanie -N nazwa ustawia identyfikator zadania -I zgłasza zadanie interaktywnie -X przenoszenie obrazu mechanizmem X11 -l zasób ustawia ilość zasobów potrzebnych zadaniu -t n-m,k,l uruchamia zadania tablicowe o numerach od n do m oraz k i l -M <adres e-mail użytkownika> powiadomienie mailowe -m bea wysyła powiadomienie na początku (b), końcu (e) lub przy błędzie (a) Pominięcie -q kolejka umieszcza zadanie w domyślnej kolejce Użytkownicy PL-Grid! -A id_grantu ustawia grant obliczeniowy, z którego będzie korzystać zadanie! zadania bez wyspecyfikowanego grantu obliczeniowego nie zostaną przyjęte przez system kolejkowy (możliwość ustawienia grantu domyślnego) https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 35 Zlecanie zadania zadania interaktywne Pracę interaktywną umożliwiają zadania interaktywne! qsub I! qsub I X gdy potrzebny graficzny tryb wyświetlania Do pracy interaktywnej często przeznaczona jest specjalna kolejka (dla Zeusa jest to l_interactive) W przypadku użycia trybu graficznego należy pamiętać! o zalogowaniu się na klaster z użyciem przekierowania wyświetlania X11 (np. ssh -Y -C login@serwer; w PuTTy "Enable X11 Forwarding")! włączeniu serwera X11 na maszynie, z której następuje logowanie Nie wolno wykonywać żadnych obciążających operacji na węźle dostępowym (UI) klastra https://kdm.cyfronet.pl/portal/podstawy:pbs
Oprogramowanie 36 Modules sposób zarządzania oprogramowaniem Aplikacje często wymagają specyficznego środowiska uruchomieniowego (m.in. zmiennych środowiskowych, dostępu do bibliotek) Narzędzie Modules umożliwia proste ustawianie środowiska uruchomieniowego dla programów niezależnie od specyfiki maszyny dostępowej. Zalety:! łatwe ustawianie środowiska uruchomieniowego programów! przenoszenie skryptów obliczeniowych między maszynami! możliwość łatwego uruchamiania różnych wersji programów (często o skonfliktowanych środowiskach uruchomieniowych) Wady:! transparentne dla użytkownika uruchamianie wersji zoptymalizowanych na konkretny typ węzła obliczeniowego! jedno dodatkowe polecenie do zapamiętania https://kdm.cyfronet.pl/portal/oprogramowanie
Oprogramowanie 37 Modules sposób zarządzania oprogramowaniem Każda aplikacja zainstalowana na klastrze Zeus ma swój moduł Nazwy modułów:! <gałąź>/<nazwa-oprogramowania>/<wersja> Rodzaje gałęzi! apps - dla większości programów naukowych! compilers - dla kompilatorów! gpu - dla programów naukowych wykorzystujących GPGPU! libs - dla bibliotek! tools - dla programów narzędziowych (np. Python)! plgrid - dla programów dostępnych w Infrastrukturze PL-Grid np. compilers/intel/14.0 lub apps/matlab/r2013b https://kdm.cyfronet.pl/portal/oprogramowanie
Oprogramowanie 38 Modules sposób zarządzania oprogramowaniem! Załadowanie środowiska umożliwiającego uruchomienie aplikacji! module add <nazwa-modułu> (np. module add tools/python)! module load <nazwa-modułu> (np. module load apps/matlab) Usunięcie modułu! module rm <nazwa-modułu> (np. module rm tools/python)! module unload <nazwa-modułu> (np. module unload apps/matlab) Listowanie wszystkich dostępnych modułów! module avail! module avail tools (tylko z poddrzewa tools)! module avail apps/matlab (dostępne wersje oprogramowania Matlab) https://kdm.cyfronet.pl/portal/oprogramowanie
Oprogramowanie 39 Modules sposób zarządzania oprogramowaniem Listowanie załadowanych modułów:! module list Usuwanie wszystkich załadowanych modułów! module purge Podmiana modułów! module switch <nazwa-modułu> <nazwa-modułu2>! module swap <nazwa-modułu> <nazwa-modułu2> (np. module swap compilers/intel/10.1 compilers/intel/8.1) https://kdm.cyfronet.pl/portal/oprogramowanie
Oprogramowanie 40 Modules sposób zarządzania oprogramowaniem Informacja o module! module whatis <nazwa-modułu> Listowanie zawartości modułu (m.in. jakie zmiany w zmiennych środowiskowych)! module display <nazwa-modułu>! module show <nazwa-modułu> Moduł ustawiający zmienną do rozproszonego zasobu scratch ($SCRATCH):! module add tools/scratch! gdy ustawiany wewnątrz zadania obliczeniowego ustawia zmienną SCRATCHDIR wskazującą na katalog tymczasowy zadania utworzony na zasobie Lustre https://kdm.cyfronet.pl/portal/oprogramowanie
Oprogramowanie 41 Modules uwagi Załadowanie modułu powoduje załadowanie modułów, od których ten moduł zależy Załadowanie domyślnej (zwykle najnowszej) wersji oprogramowania nie wymaga podania wersji modułu Więcej informacji na: http://modules.sourceforge.net/ Ćwiczenie wykonaj poniższe komendy module avail compilers/intel module show compilers/intel module add compilers/intel which icc module swap compilers/intel compilers/intel/8.1 which icc https://kdm.cyfronet.pl/portal/oprogramowanie
Oprogramowanie 42 Uwagi do oprogramowania Część oprogramowania ze względu na licencje nie jest dostępna dla wszystkich użytkowników! użytkownicy proszeni są o zgłoszenie zapotrzebowania Gaussian wymaga by użytkownik należał do odpowiedniej grupy! użytkownicy PL-Grid (loginy plg*) mają dostęp! użytkownicy KDM proszeni są o zgłoszenie zapotrzebowania Zalecamy korzystanie z biblioteki MPI w wersji OpenMPI 1.6.x! moduł tools/openmpi/1.6.x-wersja_kompilatora-ib np.! tools/openmpi/1.6.5-gnu-4.8.0-ib! tools/openmpi/1.6.5-intel-14.0-ib! tools/openmpi/1.6.5-pgi-13.4-ib https://kdm.cyfronet.pl/portal/oprogramowanie
Dostępne oprogramowanie chemiczne 43 Gaussian apps/gaussian Wersje dostępne na klastrze Zeus! g03.e.01! g09.b.01, g09.a.02, g09.c.01, g09.d.01 (zalecana) Sposób użycia: g09 input.inp Zalety:! duża ilość zaimplementowanych metod (w tym funkcjonałów w DFT)! prostota składni plików wejściowych! szeroko stosowany Wady:! W ACK Cyfronet AGH możliwe obliczenia jedynie na jednym węźle (do 12 rdzeni) https://kdm.cyfronet.pl/portal/gaussian
Dostępne oprogramowanie chemiczne 44 Turbomole apps/turbomole Wersje dostępne na klastrze Zeus! 6.3.1, 6.4, 6.5 Sposób użycia:! przygotowanie katalogu z danymi wejściowymi (x2t, define, cosmoprep)! uruchomienie skryptów przeprowadzających obliczenia Zalety:! szybkość (szczególnie dla metod DFT, RI-MP2, RI-CC2)! dobre zrównoleglanie obliczeń (również na większą liczbę węzłów) Wady:! trudniejsza składnia plików wejściowych! stosunkowo mała liczba zaimplementowanych funkcjonałów w DFT https://kdm.cyfronet.pl/portal/turbomole
Dostępne oprogramowanie chemiczne 45 ADF apps/adf Wersje dostępne na klastrze Zeus! 2010.02, 2012.01, 2012.01c, 2013.01 (zalecana) Sposób użycia: adf < input.in >& output.log Zalety:! używa baz złożonych z funkcji Slatera (STO)! szeroko stosowany do układów metaloorganicznych! prostota składni plików wejściowych! dobre narzędzia do analizy wyników (NBO, NOCV, ETS)! wizualizacja przez ADFView Wady:! używa baz złożonych z funkcji Slatera (STO) problem z hybrydowymi DFT https://kdm.cyfronet.pl/portal/adf
Dostępne oprogramowanie chemiczne 46 TeraChem gpu/terachem Wersje dostępne na klastrze Zeus! 1.45, 1.5 (zalecana) Sposób użycia: $TERACHEMRUN input.in >& output.log Zalety:! używa do obliczeń kart graficznych (wielokrotne przyspieszenie obliczeń)! prostota składni plików wejściowych Wady:! używa do obliczeń kart graficznych ograniczona liczba baz (do funkcji d)! tylko HF oraz DFT https://kdm.cyfronet.pl/portal/oprogramowanie
Wizualizacja wyników 47 Molden! jeden ze standardowych programów do wizualizacji orbitali! dostępny jedynie na Linux, MacOS X! http://www.cmbi.ru.nl/molden/molden.html Gabedit! możliwość automatycznej generacji wizualizacji! dostępny dla na Windows, Linux, MacOS X! http://gabedit.sourceforge.net Avogadro! dostępne wielorakie wtyczki powiększające możliwości! API możliwość pisania własnych dodatków! dostępny dla na Windows, Linux, MacOS X! http://avogadro.openmolecules.net/
System kolejkowy PBS 48 Zlecanie zadania zadania tablicowe Zadania macierzowe dają możliwość uruchamiania wielu zadań jednym poleceniem! qsub t n-m,k,l skrypt.pbs (np. qsub t 0-9 lub qsub t 2,4,7) Zadania te mają tą samą zmienną PBS_O_WORKDIR, dodatkowa zmienna $PBS_ARRAYID pozwala je różnicować (np. tworzyć kolejne katalogi dla obliczeń) #!/bin/env bash #PBS -t 0-4,9 OUTPUTDIR=$PBS_O_WORKDIR/${PBS_JOBID%%\[*} mkdir -p $OUTPUTDIR cd $TMPDIR hostname > zadanie.$pbs_arrayid mv zadanie.$pbs_arrayid $OUTPUTDIR qstat t pokazuje każde z komponentów zadań tablicowych osobno https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 49 Zlecanie zadania specyfikacja zasobów Dostępne rodzaje zasobów (sprecyfikowane flagą -l)! nodes ilość i rodzaj węzłów obliczeniowych! walltime maksymalny czas wykonywania zadania! mem maksymalna ilość pamięci wykorzystywanej przez zadanie! pmem maksymalna ilość pamięci wykorzystywanej przez pojedynczy rdzeń obliczeniowy Wartości liczbowe parametrów podajemy jako parametr=wartość, poszczególne zasoby oddzielając przecinkami! np. qsub -l walltime=10:00:00,nodes=1:ppn=12,mem=12gb Format parametrów! czas hhh:mm:ss! pamięć b, kb (=1024b), mb (=1,048,576b), gb (=1,073,741,824b)! węzły nodes=ilość-węzłów:ppn=liczba-rdzeni-na-węzeł:właściwości (np. nodes=2:ppn=12 dwa węzły po dwanaście rdzeni) https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 50 Zlecanie zadania, specyfikacja zasobów przykładowy skrypt #!/bin/env bash #PBS -l nodes=1:ppn=4 #PBS -l walltime=06:00 #PBS -l mem=128mb #PBS -q tutorial #polecenia wykonywane po uruchomieniu zadania module load tools/openmpi/1.6.5-gnu-4.8.0-ib echo 'PBS nodes:' cat $PBS_NODEFILE echo 'OpenMPI nodes:' mpiexec hostname sleep 300 https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 51 Cechy węzłów Jeżeli klaster składa się z wielu rodzajów węzłów obliczeniowych są one dodatkowo opisane ich cechami Dostępne rodzaje zasobów Cecha intel, amd mhz2267,mhz2300,mhz2400,mhz2500,mhz2667,mhz2933 L5640,opteron6276,E5645,L5420,X5650,X5670 infiniband Opis producent CPU szybkość procesora typ procesora rdzeń połączony InfiniBand Węzły specyfikujemy podając wszystkie pożądane cechy (np. nodes=2:ppn=12:mhz2267:mem16gb:infiniband)! specyfikacja konkretnych cech zmniejsza ilość potencjalnie dostępnych zasobów Informacje o cechach danego węzła można uzyskać poleceniem pbsnodes https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 52 Zlecanie zadania, wykorzystanie cech węzłów przykładowy skrypt #!/bin/env bash #PBS -l nodes=1:ppn=4:mhz2667:infiniband #PBS -l walltime=06:00 #PBS -l mem=128mb #PBS -q tutorial #polecenia wykonywane po uruchomieniu zadania module load openmpi/1.6.5-gnu-4.8.0-ib echo 'PBS nodes:' cat $PBS_NODEFILE echo 'OpenMPI nodes:' mpiexec hostname sleep 300 https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 53 Zlecanie zadania zmienne środowiskowe PBS dodaje zadaniom zmienne środowiskowe ułatwiające prace Zmienna PBS_JOBID PBS_O_WORKDIR PBS_NP PBS_NODEFILE PBS_GPUFILE PBS_NODENUM TMPDIR Opis identyfikator zadania (jobid) ścieżka, z której wysłano zadanie do PBS ilość procesorów przydzielonych zadaniu plik z nazwami węzłów przydzielonych zadaniu plik z nazwami GPGPU przydzielonych do zadania numer węzła obliczeniowego zadania (0 n-1) ścieżka do katalogu na pliki tymczasowe Dodatkowo po załadowaniu modułu scratch dostępne są zmienne! SCRATCHDIR ścieżka do katalogu na pliki tymczasowe na zasobie Lustre https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 54 Usuwanie zadań qdel Do usuwania zadań z systemu kolejkowego służy komenda qdel! qdel <JobID> Zadania, które są zawieszone, a nie można ich usunąć poleceniem qdel należy zgłaszać poprzez! dla użytkowników KDM zeus@cyfronet.pl! dla użytkowników PL-Grid - Helpdesk PL-Grid PL https://helpdesk.plgrid.pl lub helpdesk@plgrid.pl https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 55 Zmiana parametrów zadań qalter Do zmian parametrów zadań w systemie kolejkowym służy komenda qalter! qalter <jobid> [zmieniane_parametry] Przykładowe zastosowania! qalter <jobid> -l nodes=x:ppn=y! qalter <jobid> -l walltime=hhh:mm:ss! qalter <jobid> -N nowa_nazwa_zadania qalter nie może zmieniać kolejki zadania oraz modyfikować parametrów uruchomionego zadania https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 56 Monitorowanie sprawności zadań - zeus-jobs Narzędzie monitorujące sprawność wykonywania zadań! wykorzystanie zadeklarowanych procesorów! wykorzystanie pamięci Składnia zeus-jobs! sortowanie po sprawności zadań zeus-jobs -e- lub zeus-jobs -e+! zadania o niskiej wydajności zeus-jobs w! szczegółowe informacje o zadaniach zeus-jobs -f (<jobid>)! wyświetlenie pomocy zeus-jobs h https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 57 Monitorowanie sprawności zadań - zeus-jobs-history Narzędzie monitorujące sprawność wykonywania zadań historycznych! wykorzystanie zadeklarowanych procesorów! wykorzystanie pamięci Składnia zeus-jobs-history! informacja o zadaniach z n poprzednich dni zeus-jobs-history d <n>! szczegółowe informacje o zadaniu zeus-jobs-history f jobid! wyświetlenie pomocy zeus-jobs-history h https://kdm.cyfronet.pl/portal/podstawy:pbs
System kolejkowy PBS 58 Monitorowanie dostępności zasobów showbf, showstart Poleceniem showbf można sprawdzić ile procesorów jest dostępnych na klastrze Użycie polecenia showbf! showbf Poleceniem showstart można sprawdzić przewidywany czas rozpoczęcia zadania. Czas ten jest estymowany, ponieważ oprogramowanie zarządzające klastrem w sposób dynamiczny modyfikuje kolejkowanie zadań Użycie polecenia showstart! showstart <jobid> https://kdm.cyfronet.pl/portal/podstawy:pbs