Migracja obliczeń na system Hydra



Podobne dokumenty
Podstawy systemu kolejkowego SLURM

Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych

Wprowadzenie do obsługi systemów obliczeniowych PCSS

Efektywne wykorzystanie klastra Zeus w obliczeniach wykonywanych pakietem Blender. Maciej Czuchry, Klemens Noga

Użytkowanie systemów obliczeniowych PCSS Artur Trojanowski

Pracownia Technik Obliczeniowych

Wykorzystanie klastra Wydziału Informatyki PB do prowadzenia własnych obliczeń. Wojciech Kwedlo Wydział Informatyki PB

Skrócony Poradnik Użytkownika

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 4

Komputery Dużej Mocy w Cyfronecie. Andrzej Oziębło Patryk Lasoń, Łukasz Flis, Marek Magryś

Klaster obliczeniowy

Bartosz Bosak Piotr Kopta Tomasz Piontek

Wprowadzenie do obliczeń na komputerach ICM

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Efektywne wykorzystanie zasobów obliczeniowych KDM w PCSS

Architektura, oprogramowanie i uytkowanie klastra PCSS. Marek Zawadzki <mzawadzk@man.poznan.pl>

Podstawy pracy w ICM

Infrastruktura PL-Grid - usługi dla chemii obliczeniowej

Usługi i narzędzia QCG

Kompilacja i uruchamianie zadań na klastrach Perszeron i Mustang.

Wrocławskie Centrum Sieciowo-Superkomputerowe

Wprowadzenie do obliczeń na komputerach ICM

Logowanie z zewnątrz. Np. Program PUTTY, SSH

Infrastruktura PLGrid Nowa jakość usług informatycznych dla Polskiej Nauki

Materiały dodatkowe. Simulink Real-Time

wiczenia MPI-2 Mirosław Kupczyk PCSS,

Infrastruktura PLGrid dla młodych naukowców

Instalacja aplikacji

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Infrastruktura PLGrid (nie tylko) dla młodych naukowców

PROCEDURA BACKUP & RECOVER Dokument opisuje procedurę backup u i odtwarzania dla bazy Oracle 11gR2

Cyfronet w CTA. Andrzej Oziębło DKDM

Infrastruktura PLGrid dla młodych polskich naukowców

Infrastruktura PLGrid Nowa jakość usług informatycznych dla Polskiej Nauki

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

trainxx tramxx

Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS

Infrastruktura PLGrid Nowa jakość usług informatycznych w służbie nauki

Win Admin Replikator Instrukcja Obsługi

Infrastruktura PLGrid Nowa jakość usług informatycznych dla Polskiej Nauki

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

Systemy operacyjne i sieci komputerowe Szymon Wilk Konsola MMC 1

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Konwersja maszyny fizycznej na wirtualną.

MESco. Testy skalowalności obliczeń mechanicznych w oparciu o licencje HPC oraz kartę GPU nvidia Tesla c2075. Stanisław Wowra

Niezawodne usługi outsourcingowe na przykładzie usług kampusowych i Krajowego Magazynu Danych w sieci PIONIER

Wprowadzenie do użytkowania infrastruktury PL Grid. Bartosz Bosak Piotr Kopta Tomasz Piontek

Postępowanie WCh AB Wrocław, 12 lutego 2014 r.

Infrastruktura PLGrid Nowa jakość usług informatycznych w służbie nauki

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Instalacja środowiska MPI w systemie operacyjnym Linux

WZÓR UMOWY. Zawarta w Białymstoku, w dniu.. pomiędzy:

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Tekla Structures 20 Instalacja

Podstawy Programowania 2

Migracja Comarch ERP Altum Business Intelligence do wersji

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj Poznań, Polska

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Wprowadzenie do obliczeń na komputerach ICM

ZADANIE nr 4 Sprawdzian z informatyki

Wykorzystanie platformy GPGPU do prowadzenia obliczeń metodami dynamiki molekularnej

Instrukcja konfiguracji programu KS-ASW do pracy w trybie wielopodmiotowym

Pracownia komputerowa. Dariusz wardecki, wyk II

VDI na OpenStack: jak to zrobić i czy ma to sens? Tomasz Dubilis

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Enterprise, czyli instytutowy klaster obliczeniowy

Instalacja Ubuntu 12.12

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Wykaz zmian w programie WinAdmin Replikator

Spis treści. Dzień 1. I Konfiguracja sterownika (wersja 1410) II Edycja programu (wersja 1406) III Środowisko TIA Portal (wersja 1410)

VinCent Administrator

- 1 Laboratorium fotografii cyfrowej Foto Video Hennig

Mazowiecki Elektroniczny Wniosek Aplikacyjny

GRMS System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS wprowadzenie. Bogdan Ludwiczak

PR P E R Z E E Z N E T N A T C A JA C JA KO K RP R O P RA R C A Y C JN Y A JN ACTINA DATA MANAGER

Wykaz zmian w programie WinAdmin Replikator

Narzędzia klienta usługi archiwizacji

Sieciowa instalacja Sekafi 3 SQL

str. 1 Informacja o zmianie treści specyfikacji istotnych warunków zamówienia Oświęcim, dnia r.

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Synchronizator plików (SSC) - dokumentacja

epuap Archiwizacja w Osobistym Składzie Dokumentów

weblsp Wybór przeglądarki i jej ustawienia Instrukcja ADH-Soft sp. z o.o., ul. 17 Stycznia 74, Warszawa

MODELOWANIE MATERIAŁÓW I PROCESÓW

Efektywne wykorzystanie zasobów PLGrid w chemii obliczeniowej

Migracja Business Intelligence do wersji

WEBCON BPS Instalacja Standalone

61 Topologie wirtualne

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

Instrukcja instalacji usługi Sygnity Service

Transkrypt:

Migracja obliczeń na system Hydra Uniwersytet Warszawski Matematycznego i Komputerowego http:// Maciej E. Marchwiany m.marchwiany@icm.edu.pl Maciej Szpindler m.szpindler@icm.edu.pl

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

Login.icm.edu.pl Logowanie do sieci ICM Używamy protokołu SSH Putty (Windows), ssh (Linux, Mac) Łączenie poprzez serwer dostępowy (kolejkowy) login.icm.edu.pl (hpc.icm.edu.pl) Zastępuje dostęp przez delta/gw/atol

Organizacja zasobów Serwer login posiada dostęp do wszystkich ważniejszych zasobów dyskowych z różnych maszyn Aktualnie z wyjątkiem: Boreasz-a (Power775) Nie ma potrzeby podwójnego transferowania danych z przesiadką na delcie Możliwość zlecania zadań bezpośrednio na systemy: Hydra, Halo2, Grom W przygotowaniu: Nostromo (BlueGene/Q) Nie dotyczy: Notos(BlueGene/P),Boreasz (Power775)

Organizacja zasobów cd. Kompilacje wykonujemy na docelowej maszynie (Nostromo) lub na węzłach obliczeniowych (Hydra, Halo2, Grom) Kompilacja w trybie cross-compilation nie dostępna na serwerze kolejkowym (login)

Organizacja zasobów (schemat) Internet (Dom, Instytut) ssh login.icm.edu.pl /icm/* ssh boreasz notos nostromo /icm/nostromo/home hydra/grom /icm/hydra/home /icm/hydra/software /icm/hydra/* halo2 /icm/halo2/home slurm /icm/home /icm/tmp

Dostępne informacje Strona wiki centrum obliczeniowego ICM UW http:///kdm/

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

O Hydrze Hydra to klaster serwerów HP i Supermicro ogólnego przeznaczenia, wyposażony w procesory AMD i Intel. System dostępny jest dla wszystkich posiadających konta w infrastrukturze PL-Grid, dla użytkowników KDM, dla członków organizacji związanych z CERN. Dostęp do klastra możliwy jest poprzez ssh, podobnie, jak w przypadku innych maszyn ICM, przy pomocy narzędzi takich, jak: UNICORE, QosCosGrid czy glite. Systemy zainstalowane na klastrze to Scientific Linux, SLURM, Lustre.

Hydra specyficzne własności Własności węzłów (constraint) Model CPU Liczba CPU x rdzeni RAM Roboczy system plików(scratch) Interconnect Liczba węzłów AMD2435,ib,noht AMD Opteron 2435 2 x 6 32 GB 250 GB Infiniband DDR + 1Gb Ethernet 96 intelx5660,ib,noht Intel(R) Xeon(R) X5660 2 x 6 24 GB 188 GB Infiniband QDR + 1Gb Ethernet 120 magnycours,noht AMD Opteron 6128 4 x 12 256 GB 188 GB 10Gb Ethernet 30 interlagos,noht AMD Opteron 6272 4 x 16 512 GB 188 GB 10Gb Ethernet 16 Pełna wersja tabeli: http:///kdm/hydra

Hydra specyficzne własności cd. Lokalizacja Zmienna środowiskowa Przeznaczenie Całkowita przestrzeń Współdzielona? Intensywny zapis/odczyt? Kopie zapasowe (backup)? Quota (limit miejsca) /icm/home/ $HOME Przestrzeń przechowywania wyników obliczeń. 130TB Tak (wszystkie wezły klastra i submit host) Nie Nie 100GB /mnt/software - Zainstalowane aplikacje dla węzłów z SL6 20T Tak (Wszystkie węzły klastra) Nie Tak - $TMPDIR Lokalny scratch obliczeniowy (katalog tymczasowy) <1TB Nie Tak Nie - $TMPSHARED Współdzielony pomiędzy węzłami scratch obliczeniowy 108 TB Tak (Wszystkie węzły klastra) Tak Nie 10TB. Automatyczn e kasowanie Pełna wersja tabeli: http:///kdm/hydra

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

Gdzie są moje pliki Katalog domowy: /icm/home/login Pliki z Halo2: /icm/halo2/home/users/login Pliki z workspace: /icm/delta/workspace/login Pliki z nostromo: /icm/nostromo/home/users/login

Migracja danych Kopiowanie plików z Halo2 będąc na Hydrze: cp -p /icm/halo2/home/users/login/plik. Kopiowanie katalogów: cp rp /icm/halo2/home/users/login/plik. -p: zachowuje oryginalną datę stworzenia pliku

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

System SLURM Menadżer zasobów (system kolejkowy) dla klastrów obliczeniowych na licencji GNU http://slurm.schedmd.com/ Funkcjonalność Alokacja określonych zasobów (węzłów obliczeniowych) na wyłączne użycie lub bez wyłączności Uruchamianie i zarządzenie zadaniami równoległymi na przydzielonych zasobach Kolejkowanie zadań

Terminologia SLURM Węzeł (node) - pojedynczy węzeł klastra na którym można alokować zasoby Partycja (partition) zbiór węzłów na którym kolejkowane są zadania (odpowiednik kolejki w innych systemach) Zadanie (job, job step) zestaw programów użytkownika wraz z zasobami i potencjalnymi zależnościami Proces (task) program uruchamiany na pojedynczym procesorze Własności (constraint) funkcjonalności węzła zdefiniowane przez administratora

SLURM komendy (szybki start) salloc - alokuje węzły i inne zasoby dla zadania użytkownika sbatch - wstawia skrypt zadania wsadowego do kolejki sbatch n4 moje_zadanie.sl scancel - wysyła sygnał / przerywa wykonanie zadania scancel --signal=sigkill 1234 scontrol- podgląd i modyfikacje zadań, partycji, rezerwacji sinfo - wyświetla informacje o węzłach i partycjach squeue - wyświetla stan kolejki zadań srun - uruchamia zadanie (równoległe) srun n4 --exclusive moj_program.exe

Tryb interaktywny W trybie interaktywnym system przydziela nam określone zasoby i pozwala pracować na nich z poziomu konsoli Obliczenia wykonujemy wydając kolejne komendy Możliwość interakcji z programem Możliwość pracy z programami graficznymi (okienkowe GUI, trudne do obsługi w windows) srun --pty bash -l Z użyciem rezerwacji srun --pty -reservation=rez_szk bash -l srun --pty A=GrantID bash -l

Tryb wsadowy W trybie wsadowym system przydziela określone zasoby oraz uruchamia sekwencję komend opisaną w skrypcie Skrypt musi posiadać odpowiednią strukturę Brak interakcji z uruchomionym programem Komendy SLURM zamiennie jako opcje sbatch lub na początku skryptu w linii #SBATCH sbatch moje_zadanie.sl #!/bin/sh #SBATCH --time=1 #SBATCH N4 srun hostname sort moje_zadanie.sl

Struktura skryptu wsadowego #!/bin/bash -l #SBATCH -J MojeZadanie #SBATCH -N 1 #SBATCH --tasks-per-node 12 #SBATCH --mem 5000 #SBATCH --time=20:00:00 #SBATCH -A G01-77 Nagłówek skryptu Blok dyrektyw SLURM Linie rozpoczynające się od: #SBATCH --nazwa opcji sbatch/srun (pojedynczy minus - dla jednoliterowej nazwy opcji) wartość opcji #SBATCH -C intelx5660 #SBATCH -p hydra #SBATCH --output= job.out #SBATCH -error= job.err mpiexec my_program -argument arg_value Komendy uruchamiające program(y) / aplikację

Organizacja środowiska: SLURM i moduły Narzędzie Modules służy do wyboru środowiska: docelowej architektury oraz dostępu do wymaganych aplikacji Typowy schemat pracy 1. W pierwszej kolejności wybór architektury, np.: 2. Alokacja zasobów SLURM poprzez salloc / sbatch / srun, np.: 3. Następnie w ramach zadania wybór aplikacji, np.: 4. Podobnie dostęp do kompilatorów, bibliotek, np.: UWAGA: Kolejność operacji ma znaczenie module load hydra-sl6 srun --pty p hydra bash -l module load vasp module load compilers/intel

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

Komendy SLURM vs PBS salloc sbatch srun scancel scontrol sinfo squeue qsub qdel qalter qstat qrun

Skrypt SLURM Skrypt PBS SLURM #!/bin/csh #SBATCH -J MojeZadanie #SBATCH -N 1 #SBATCH --tasks-per-node 12 #SBATCH --mem 5000 #SBATCH --time=20:00:00 #SBATCH -A G01-77 #SBATCH -C intelx5660 #SBATCH -p hydra #SBATCH --output= job.out #SBATCH -error= job.err PBS #!/bin/csh #PBS -N MojeZadanie #PBS -l nodes=1:ppn=12 #PBS -l mem=5000mb #PBS -l walltime=20:00:00 #PBS -A G01-77 #PBS -q test #PBS o job.out #PBS e job.err sbatch job.slurm qsub job.pbs

Hydra (własności) Hydra Istanbul (AMD2435) 12 rdzenie AMD 2435 (2.6 GHz) 32 GB Westmere (intelx5660) 12 rdzenie Intel Xeon X5660 (2.8 GHz) 24 GB Magnycours (magnycours) 48 rdzenie AMD Opteron 6174 (2.2 GHz) 256 GB Interlagos (interlagos) 64 rdzenie AMD Opteron 6272 (2.2 GHz) 521 GB Halo2 (kolejki) Halo2 Zwykły węzeł (halo2) 16 rdzenie AMD Opteron (2.2 2.4 GHz) 16/32 GB Westmere (intelx5660) 12 rdzenie Intel Xeon X5660 (2.8 GHz) 24 GB Magnycours (magnycours) 48 rdzenie AMD Opteron 6174 (2.2 GHz) 256 GB Gruby węzeł (bigmem) 64 rdzenie AMD Opteron 6272 (2.1 GHz) 512 GB

Hydra (constraint -C) Halo2 (queue -q) Hydra Istanbul (AMD2435) 12 rdzenie AMD 2435 (2.6 GHz) 32 GB Westmere (intelx5660) 12 rdzenie Intel Xeon X5660 (2.8 GHz) 24 GB Magnycours (magnycours) 48 rdzenie AMD Opteron 6174 (2.2 GHz) 256 GB Interlagos (interlagos) 64 rdzenie AMD Opteron 6272 (2.2 GHz) 521 GB Halo2 Zwykły węzeł (halo2) 16 rdzenie AMD Opteron (2.2 2.4 GHz) 16/32 GB Westmere (intelx5660) 12 rdzenie Intel Xeon X5660 (2.8 GHz) 24 GB Magnycours (magnycours) 48 rdzenie AMD Opteron 6174 (2.2 GHz) 256 GB Gruby węzeł (bigmem) 64 rdzenie AMD Opteron 6272 (2.1 GHz) 512 GB

Zmiana parametrów zadania scontrol pozwala użytkownikowi na zmianę parametrów jego zadań, np. scontrol update JobId=<id> TimeLimit=+10 Dodaje do pierwotnego limitu czasu zadania 10 min. Format zmiany czasu to: = (nadpisanie), =+ (dodanie) lub =- (odjęcie) minuty, minuty:sekundy, godziny:minuty:sekundy, dni-godziny, dnigodziny:minuty <id> to numer zadania w SLURM, widoczny np. przez squeue

Zmienne środowiskowe SLURM W ramach zadania kontrolowanego przez SLURM dostęp do zmiennych środowiskowych SLURM_XXX SLURM_JOB_ID Zawiera identyfikator zadania SLURM_NODELIST Pozwala listować węzły na których działą zadanie SLURM_NTASKS Pozwala sprawdzić liczbę wszystkich procesów w ramach zadania SLURM_TASKS_PER_NODE Pokazuje rozkład przydzielonych procesów na węzłach Inne

PRZYKŁADY

Zadanie: aproksymacja pi Całkowanie metodą prostokątów następującego wzoru: 1 n 1 1 4 h 2 1 x xi 0.5 0 i 0 2 1 ( ) n 1,2 1 Wartość liczby pi przybliżamy poprzez całkowanie funkcji f na przedziale [0,1] za pomocą kwadratury prostokątów 0,8 0,6 f ( x) 1 1 x 2 0,4 0,2 0 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 31.03.2010 Wprowadzenie do MPI 37

Przykład 1: praca z programem okienkowym Praca interaktywna z trybem graficznym: MATLAB 1. ssh Y login.icm.edu.pl 2. module load hydra-sl6 3. srun --pty p hydra bash l 4. module load matlab 5. matlab Rozwiązujemy zadanie za pomocą kwadratury >> f = @(x)4./(1 + x.^2); >> mypi = integral(f, 0, 1); >> mypi

Przykład 2: obliczenia w NWChem i wizualizacja wyników krok po kroku Optymalizacja geometrii i wizualizacja molekuły 1. Przekopiować pliki i zalogowanie na węzeł cp /icm/hydra/lustre/temp/memar/szkol2014/input. module load hydra-sl6 srun --pty N 1 --tasks-per-node 4 bash -l 2. Wykonać symulację module load nwchem/6.3 mpirun -np 4 nwchem input > out 3. Wizualizacja module load jmol jmol.sh

Job array Funkcjonalność pozwalająca na tworzenie wielu zadań o identycznych ustawieniach Dodatkowa zmienna środowiskowa SLURM_ARRAY_TASK_ID pozwala parametryzować zadania z grupy Dostępne tylko dla zadań wsadowych uruchamianych przez sbatch, dodatkowo z opcją array sbatch --array=0,7 N1 moje_zadanie.sl sbatch --array=1,2,5,7 N1 moje_zadanie.sl sbatch --array=1-8:2 N1 moje_zadanie.sl

Zależności pomiędzy zadaniami Używamy sbatch / srun z opcją --dependency= <dependency_list> after:job_id[:jobid...] Start po rozpoczęciu określonego zadania / zadań afterany:job_id[:jobid...] Start po zakończeniu (jakimkolwiek) określonych zadań afternotok:job_id[:jobid...] Start po zakończeniu z błędem określonych zadań afterok:job_id[:jobid...] Start po poprawnym zakończeniu expand:job_id Zadanie ma wystartować jako rozszerzenie określonego zadania w tej samej partycji singleton Start po zakończeniu wszystkich innych zadań tego samego użytkownika

Przykład 3: Kompilacja i uruchomienie własnego programu Implementacja kwadratury w C: kompilator intela 1. Alokacja węzła na hydrze module load hydra-sl6 srun --pty p hydra bash -l 2. Kompilacja na węźle export EXAMPLES=/icm/hydra/software/icm/examples/slurm cp $EXAMPLES/my_pi.c. module load compilers/intel icc o my_pi my_pi.c 3. Uruchomienie programu./my_pi

Przykład 4: uruchomienie własnego zadania z parametrem (job array) 1. Przygotowanie programu na węźle cp $EXAMPLES/my_pi_arg.c. module load compilers/intel icc o my_pi_arg my_pi_arg.c 2. Przygotowanie plików sterujących (input) 3. Utworzenie skryptu kolejkowego my_pi_arr.sl #!/bin/bash -l #SBATCH -N 1 #SBATCH -n 1 #SBATCH -J my_pi export EXAMPLES=/icm/hydra/software/icm/examples/slurm srun my_pi_arg $EXAMPLES/my_pi_${SLURM_ARRAY_TASK_ID}.inp 4. Wstawienie do kolejki macierzy zadań sbatch --array=1-4 my_pi_arr.sl

Przykład 5: Kompilacja i uruchomienie własnego programu równoległego Wersja równoległa implementacji kwadratury z MPI 1. Przygotowanie programu na węźle cp $EXAMPLES/my_pi_mpi.c. module load compilers/intel module load mpi/mpich mpicc o my_pi_mpi my_pi_mpi.c 2. Utworzenie skryptu kolejkowego #!/bin/bash l #SBATCH A szkolenia my_pi_mpi.sl module load compilers/intel mpi/mpich mpiexec./my_pi_mpi 3. Wstawienie zadania równoległego do kolejki sbatch N1 n4 Sekcja Algorytmiki my_pi_mpi.sl Nowych Generacji Architektur

Przykład 6: obliczenia na GPU Obliczanie liczb pierwszych w CUDA + kompilator CUDA 1. Przekopiowaćć pliki i zalogowanie na węzeł z GPU (grom) cp /icm/hydra/lustre/temp/memar/szkol2014/cuda.cu. module load hydra-sl6 srun --pty p hydra --gres=gpu:1 bash -l 2. Przygotowanie programu dla GPU module load compilers/cuda/5.5.22 nvcc arch=sm_20 o cuda cuda.cu 3. Uruchomienie programu./cuda

Strigger i notification SLURM może informować nas o konkretnych zdarzeniach Poprzez tzw. triggery strigger --set --jobid=1234 --time \ --offset=-600 --program=mój_program Ustawia trigger (set), który uruchomi program mój_program na 10 (offset 600) minut przed przekroczeniem limitu czasu (time) przez dane zadanie (id=1234) Poprzez komunikaty wysyłane e-mailem, sterowane opcjami srun / sbatch --mail-user=<user> --mail-type=<type> Powiadomienie o stanie zadania (type): BEGIN, END, FAIL, REQUEUE, ALL

Przydatne opcje srun --propagate=stack=unlimited --exclusive --dependency=expand:<jobid>

Plan szkolenia Organizacja i dostęp do zasobów ICM Prezentacja Hydry Migracja danych Wprowadzenie do PLGrid Podstawowe informacje o SLURM SLURM kontra PBS Tryby pracy w SLURM Przykład 1 praca w trybie graficznym Przykład 2 uruchamianie aplikacji i wizualizacja Przykład 3, 4 kompilacja i uruchamianie programów Przykład 5 obliczenia na kartach GPU Dodatkowe funkcjonalności SLURM

Profiling SLURM wspiera profiling zadań Sprawdzanie profilu zakończonego zadania sh5util -j <jobid> w lokalnym katalogu utworzony zostanie plik opisujący zadanie w formacie hdf5, np.: hpc$ sh5util -j 13526 sh5util: Merging node-step files into./job_13526.h5 Zawartość pliku otwieramy narzędziem graficznym hdfview module load tools/hdfview hdfview

Profiling cd. Przykładowy profil otwarty w programie hdfview

Przykład VAMPIR Ortogonalizacja wektorow 1. Przekopiować pliki i zalogowanie na węzeł cp /icm/hydra/lustre/temp/memar/szkol2014/vamp.c. module load hydra-sl6 srun --pty N 1 --tasks-per-node 4 bash -l 2. Przygotowanie programu dla GPU module load mpi/openmpi/1.6.5-intel14.0.1 module load vampir/8.2.0 mpicc-vt g vamp.c 3. Uruchomienie programu./a.out vampir

VAMPIR c.d.

sreport cluster AccountUtilizationByUser user=mstol start=01/09/13 end=12/10/13 format=accounts,cluster,cpucount,login,proper,used Accounting SLURM pozwala na sprawdzanie zużytych zasobów (w minutach procesora) Dla pojedynczego zadania przy użyciu sacct sacct j <jobid> -S <start zadania> \ -E <koniec zaadnia> \ -o JobID,AveRSS,MaxRSS,CPUTime,AllocCPUS,State Dla zadań użytkownika w określonym przedziale czasu przy użyciu sreport sreport cluster \ AccountUtilizationByUser user=<userid> \ start=01/09/13 end=12/10/13 \ format=accounts,cluster,cpucount,login,proper,used

Dziękujemy za uwagę! pomoc@icm.edu.pl hydra-admins@icm.edu.pl