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



Podobne dokumenty
Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych

Infrastruktura PL-Grid - usługi dla chemii obliczeniowej

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

Wprowadzenie do obsługi systemów obliczeniowych PCSS

Infrastruktura PLGrid dla młodych naukowców

Infrastruktura PLGrid dla młodych polskich naukowców

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

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

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

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

Użytkowanie systemów obliczeniowych PCSS Artur Trojanowski

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

Skrócony Poradnik Użytkownika

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

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

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

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

Migracja obliczeń na system Hydra

Infrastruktura PLGrid: narzędzia wsparcia w nauce i dydaktyce. Mariola Czuchry, Klemens Noga, Katarzyna Zaczek. ACK Cyfronet AGH

Cyfronet w CTA. Andrzej Oziębło DKDM

PLGrid: informatyczne usługi i narzędzia wsparcia w nauce

Podstawy systemu kolejkowego SLURM

Bartosz Bosak Piotr Kopta Tomasz Piontek

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

Pracownia Technik Obliczeniowych

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

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

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

Klaster obliczeniowy

Infrastruktura PLGrid

Infrastruktura PLGrid Usługi dla chemii obliczeniowej

Infrastruktura PL-Grid wsparciem dla naukowców

Usługi HEP w PLGrid. Andrzej Olszewski

Usługi i narzędzia QCG

Plan prezentacji. Infrastruktura PLGrid. Zasoby i usługi oferowane przez PLGrid. Oprogramowanie. Użytkownicy. kto i jak może zostać użytkownikiem

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

BASH - WPROWADZENIE Bioinformatyka 4

Wykorzystanie platformy GPGPU do prowadzenia obliczeń metodami dynamiki molekularnej

Infrastruktura PL-Grid wsparciem dla naukowców

Efektywne wykorzystanie zasobów obliczeniowych KDM w PCSS

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Jak wykorzystać Wirtualne Laboratorium Cyfronetu w pracy naukowej?

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

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Podstawy pracy w ICM

Efektywne wykorzystanie zasobów PLGrid w chemii obliczeniowej

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

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

Wrocławskie Centrum Sieciowo-Superkomputerowe

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

Wsparcie polskich naukowców infrastrukturą informatyczną PLGrid

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

trainxx tramxx

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

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

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Działanie komputera i sieci komputerowej.

Szanowni Państwo, za pomocą poczty elektronicznej telefonicznie pod numerem Zespół Kylos.

Instalacja aplikacji

Usługi przechowywania danych KMD/PLATON-U4 dla bibliotek cyfrowych. Maciej Brzeźniak, Norbert Meyer, Rafał Mikołajczak, Maciej Stroiński

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

Infrastruktura PL-Grid wsparciem dla naukowców

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.

Win Admin Replikator Instrukcja Obsługi

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

Infrastruktura PL-Grid wsparciem dla naukowców

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Kinowa Biblioteka Filmowa KINOSERWER. KinoSerwer

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

podstawowa obsługa panelu administracyjnego

Administracja bazami danych

Rejestrator czasu pracy z foto-rejestracją

MODELOWANIE MATERIAŁÓW I PROCESÓW

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Instrukcja dla instalatora systemu SMDP Enterprise/Professional

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Wstęp do systemu Linux

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

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska

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

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

System komputerowy. System komputerowy

Technologie informacyjne lab. 4

Pobieranie komunikatów GIF

Szkolenie operatorów Wirtualnego Serwera Egzaminacyjnego 24 maja Prowadzący: Bartłomiej Boryń Robert Michalski

podstawowa obsługa panelu administracyjnego

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

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

PAMIĘĆ OPERACYJNA...107

Roger Access Control System. Aplikacja RCP Point. Wersja oprogramowania : 1.0.x Wersja dokumentu: Rev. C

Infrastruktura gridowa

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

W dalszej części dokumentu przedstawiamy skrócony opis kluczowych funkcji systemu. Niniejszy dokument nie zawiera opisu technicznego systemu.

TASK- dostęp do ANSYSa. v. 2015

1. INSTALACJA SERWERA

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Synchronizator plików (SSC) - dokumentacja

Sage Migrator 2019.e Migracja do Sage 50c wersja 2019.a i 2019.b

Transkrypt:

Efektywne wykorzystanie klastra Zeus w obliczeniach wykonywanych pakietem Blender Maciej Czuchry, Klemens Noga WFiIS AGH, Kraków, 18 grudnia 2014

Plan szkolenia 2 Rejestracja Dostęp do klastra Przeprowadzanie obliczeń klaster Zeus system kolejkowy szczegóły obliczeń najlepsze praktyki Dokumentacja i pomoc dla użytkowników Zasoby PL-Gridu rejestracja kont sposoby dostępu przydzielanie mocy obliczeniowych zespoły i granty obliczeniowe

Rejestracja 3 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 https://portal.plgrid.pl/

Dostęp do klastra 4 Dostęp lokalny Klaster Zeus pracuje w środowisku Linux - system operacyjny Scientific Linux 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

Zeus klaster heterogeniczny 5 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 (1100+ węzłów, w tym 130+ 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 6 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)

Oprogramowanie 7 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 8 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, apps/matlab/r2013b lub apps/blender/2.72b https://kdm.cyfronet.pl/portal/oprogramowanie

Oprogramowanie 9 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/blender (dostępne wersje oprogramowania Bledner) https://kdm.cyfronet.pl/portal/oprogramowanie

Oprogramowanie 10 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 11 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 12 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

System kolejkowy PBS 13 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

System kolejkowy PBS 14 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

System kolejkowy PBS 15 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 skrypt Przykładowy skrypt #!/bin/env bash #polecenia wykonywane po uruchomieniu zadania echo "Obliczenia uruchomione na WN:"; hostname module add apps/matlab matlab -nodisplay <matlab.m >matlab.out

System kolejkowy PBS 16 Monitorowanie zadań qstat,zeus-jobs Do sprawdzania statusów zadań w systemie kolejkowym służą komendy qstat lub zeus-jobs Statusy zadań: zakolejkowane Q działające R 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

Zeus klaster heterogeniczny 17 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 * l_bigmem 336:00:00 węzły z dużą ilością pamięci* 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

System kolejkowy PBS 18 Zlecanie zadania przykładowy skrypt blendera #!/bin/env bash #PBS -q tutorial #polecenia wykonywane po uruchomieniu zadania echo "Obliczenia uruchomione na WN:"; hostname module load apps/blender/2.72b time blender -b --python blender.py Opcje PBS pozwalają dostarczyć systemowi kolejowemu informacje o zasobach, które zadanie zmierza zużyć. Sposób wywołania: w linii poleceń polecenia qsub [opcje PBS] w początkowych linijkach skryptu uruchomieniowego poprzedzone dyrektywą #PBS Opcje wyspecyfikowane w linii poleceń nadpisują opcje podane w skrypcie

System kolejkowy PBS 19 Zlecanie zadania zmienna PBS_O_WORKDIR #!/bin/env bash #PBS q tutorial #polecenia wykonywane po uruchomieniu zadania echo "Obliczenia uruchomione na WN:"; hostname echo "Biezacy katalog:"; pwd cd $PBS_O_WORKDIR echo "Biezacy katalog:"; pwd module add apps/matlab matlab -nodisplay <matlab.m >matlab.out 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

System kolejkowy PBS 20 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 tools/scratch dostępne są zmienne SCRATCHDIR ścieżka do katalogu na pliki tymczasowe na zasobie Lustre

System kolejkowy PBS 21 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)

System kolejkowy PBS 22 Zlecanie zadania opcje polecenia qsub #!/bin/env bash #PBS q l_prio #PBS -N blender.krotki #PBS -M <e.mail@uzytkownika> #PBS -m ae #polecenia wykonywane po uruchomieniu zadania echo "Obliczenia uruchomione na WN:"; hostname echo "Biezacy katalog:"; pwd cd $PBS_O_WORKDIR echo "Biezacy katalog:"; pwd time blender -b --python blender.py 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

System kolejkowy PBS 23 Zlecanie zadania specyfikacja zasobów Dostępne rodzaje zasobów (sprecyfikowane flagą -l) walltime maksymalny czas wykonywania zadania nodes ilość i rodzaj węzłów obliczeniowych 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)

System kolejkowy PBS 24 Zlecanie zadania zadanie na wiele rdzeni #!/bin/env bash #PBS -q l_prio #PBS -N blender.parallel #PBS -M <e.mail@uzytkownika> #PBS -m ae #PBS -l walltime=5:00 #PBS -l nodes=1:ppn=4 module load apps/blender/2.72b cd $PBS_O_WORKDIR time blender -b --python blender.py -t $PBS_NP Obliczenia zostaną wykonane na 4 rdzeniach. Zmienna $PBS_NP pozwala łatwo przekazać informacje o ilości zarezerwowanych rdzeni

System kolejkowy PBS 25 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

System kolejkowy PBS 26 Zlecanie zadania, wykorzystanie cech węzłów przykładowy skrypt #!/bin/env bash #PBS -q l_prio #PBS -N blender.intel #PBS -M <e.mail@uzytkownika> #PBS -m ae #PBS -l walltime=5:00 #PBS -l nodes=1:ppn=4:intel module load apps/blender/2.72b cd $PBS_O_WORKDIR time blender -b --python blender.py -t $PBS_NP Ćwiczenie: Sprawdź wydajność różnych klas węzłów klastra

Zeus GPGPU 27 General-Purpose Graphics Processing Unit Węzły zawierające procesory graficzne nvidia przeznaczone do obliczeń Właśność n*-gpu2.zeus n*-gpu8.zeus Szybkość CPU 2.93 GHz 2.40 GHz ilość rdzeni CPU 12 12 Zastosowanie zadania wykorzystujące do obliczeń procesory graficzne Dostęp do węzłów dedykowana kolejka gpgpu RAM 72 GB 96 GB GPGPU 2*Tesla M2050 8*Tesla M2090 ilość węzłów 24 20 należy zgłaszać zasób gpus= (np. nodes=1:ppn=2:gpus=2)

System kolejkowy PBS 28 Zlecanie zadania, wykorzystanie kart GPGPU przykładowy skrypt #!/bin/env bash #PBS -q gpgpu #PBS -N blender.gpgpu #PBS -M <e.mail@uzytkownika> #PBS -m ae #PBS -l walltime=5:00 #PBS -l nodes=1:ppn=1:gpus=8 cd $PBS_O_WORKDIR module load apps/blender/2.72b time blender -b --python bmw-gpgpu.py -t $PBS_NP

System kolejkowy PBS 29 Zlecanie zadania, wykorzystanie kart GPGPU porównanie wydajności #!/bin/env bash #PBS -q l_prio #PBS -N blender.cpu #PBS -M <e.mail@uzytkownika> #PBS -m ae #PBS -l walltime=10:00 #PBS -l nodes=1:ppn=8 cd $PBS_O_WORKDIR module load apps/blender/2.72b time blender -b --python bmw-cpu.py -t $PBS_NP

System kolejkowy PBS 30 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

System kolejkowy PBS 31 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 #PBS -l walltime=5:00 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

System kolejkowy PBS 32 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

System kolejkowy PBS 33 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ć istotnych parametrów uruchomionego zadania

System kolejkowy PBS 34 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

System kolejkowy PBS 35 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

Przeprowadzanie obliczeń 36 Zlecenie zadania - uwagi Skrypt zadania zawsze rozpoczynany jest w katalogu HOME na węźle obliczeniowym. Przejście do katalogu, z którego wysłano skrypt przez zmienną PBS_O_WORKDIR Dla każdego zadania tworzone są automatycznie pliki zawierające standardowe wyjście nazwa.o<jobid> standardowe wyjście błędów nazwa.e<jobid> Powyższe pliki nie powinny być bardzo duże (nie więcej niż kilka MB). Gdy polecenia w skrypcie przekierowują dużą ilość danych na standardowe wyjścia należy wyspecyfikować jawnie przekierowanie do pliku standardowe wyjście komenda > plik.out standardowe wyjście błędów komenda 2> plik.err oba strumienie komenda &> plik.log

Przeprowadzanie obliczeń 37 Zlecanie zadania dobre praktyki Przy specyfikacji każdego zadania należy zawsze specyfikować maksymalny czas wykonania walltime unikać stosowania kolejki l_infinite specyfikować ilość pamięci wykorzystywanej mem (lub pmem) tworzyć pliki zapisujące kroki obliczeń umożliwiające restart (tzw. checkpointy) w przypadku zadań zrównoleglonych zajmować całe węzły obliczeniowe, zalecana kolejka l_exclusive gdy zadanie przekierowuje dużą ilość danych na standardowe wyjścia należy wyspecyfikować jawnie przekierowania do pliku środowisko obliczeniowe aplikacji i bibliotek ładować komendą module nie ładować modułów w plikach startowych powłok (np..bashrc)

Przeprowadzanie obliczeń 38 Zlecanie zadania dobre praktyki Przy specyfikacji każdego zadania należy zawsze nie wykorzystywać do obliczeń $HOME i $STORAGE używać katalogów scratch lokalne dyski scratch (zmienna $TMPDIR) dostęp do danych tylko z jednego węzła duża liczba operacji odczytu/zapisu małych porcji danych (<<1MB) nieduże pliki (do ~10 GB) rozproszony zasób scratch (Lustre; $SCRATCH oraz $SCRATCHDIR) dostęp do danych z wielu węzłów duże pliki tymczasowe (10+GB) duże jednorazowe odczyty/zapisy (1+MB) potrzebny podgląd w trakcie wykonywania czyścić katalogi z plikami tymczasowymi po obliczeniach

Przeprowadzanie obliczeń 39 Zlecanie zadania dobre praktyki Blender Przygotowywać projekty na własnych maszynach Korzystać z programowania skryptów poprzez Python Uruchamiać na jednym węźle (nodes=1:ppn=x lub nodes=1:ppn=x:gpgpus=y) zrównoleglenie po wątkach kontrolować liczbę wątków przez polecenie -t $PBS_NP Rendering na GPGPUs tylko silnikiem Cycles

Zeus vsmp 40 Versatile SMP Zespół maszyn wirtualnych utworzonych w oparciu o oprogramowanie firmy ScaleMP tradycyjne węzły połączone poprzez InfiniBand w wirtualne węzły możliwość dynamicznego definiowania wielkości wirtualnych węzłów wydajność porównywalna z tradycyjnymi SMP możliwość utworzenia RAMDysku Zastosowanie zadania potrzebujące dużej ilości współdzielonej pamięci operacyjnej (200+ GB) zadania potrzebujące bardzo szybkich dysków (poprzez RAMDysk) oprogramowanie SMP dobrze skalujące się z duża ilością rdzeni obliczeniowych (64+)

Zeus vsmp 41 Versatile SMP Dostępne maszyny wirtualne Własność n*-vsmp ilość rdzeni 96 RAM 630 GB Zastosowanie zadania wykorzystujące do obliczeń bardzo dużą liczbę RAM (200+ GB) zadania o współdzielonej pamięci, które dobrze zrównoleglają się powyżej 64 rdzeni Dostęp do węzłów dedykowana kolejka vsmp ilość maszyn 2 dostęp na żądanie po uzasadnieniu

Dokumentacja 42 Portal Komputerów Dużej Mocy ACK Cyfronet AGH http://kdm.cyfronet.pl Dokumentacja projektu PL-Grid https://docs.plgrid.pl/podrecznik_uzytkownika http://zapytaj.plgrid.pl System pomocy Helpdesk PL-Grid https://helpdesk.plgrid.pl lub helpdesk@plgrid.pl Dokumentacja projektu Platon https://agh.cloud.pionier.net.pl

Kontakt 43 Helpdesk PL-Grid https://helpdesk.plgrid.pl lub helpdesk@plgrid.pl Admini klastra Zeus - zeus@cyfronet.pl Klemens Noga klemens.noga@cyfronet.pl Maciej Czuchry m.czuchry@cyfronet.pl

Czym jest PL-Grid 44 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)

Zasoby PL-Gridu 45 Sześć klastrów obliczeniowych 41 248 rdzeni obliczeniowych 576 TFLOPS 5,58 PB zasobów dyskowych szybkie dyski na pliki tymczasowe 113,26 TB pamięci RAM Procesory: Intel Xeon 4 oraz 6 rdzeni AMD Opteron 6, 12, 16 rdzeni karty GPGPU NVidia Tesla M2050, M2090, K10, K20, K40 akceleratory obliczeń Intel Xeon Phi 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 46 Portal Użytkownika PL-Grid Rejestracja do infrastruktury oraz usług https://portal.plgrid.pl Rejestracja wymaga imienia i nazwiska adres e-mail numeru w Bazie OPI osób Polskiej Nauki organizacji naukowej Jeden login i hasło do wszystkich usług O wszystkie usługi aplikuje się w jednym miejscu https://portal.plgrid.pl/

Koszt dostępu 47 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."

Sposoby dostępu 48 Dostęp lokalny i gridowy Różne sposoby dostępu przy użyciu lokalnych systemów kolejkowych na klastrach CLI lub GUI korzystając z oprogramowania pośredniczącego (UNICORE, QosCosGrid) CLI, GUI lub dedykowane aplikacje na komputerach użytkowników poprzez portale sieciowych dostosowanych do konkretnych dziedzin nauki https://docs.plgrid.pl/uslugi

QCG-Icon 49 Lekki klient graficzny oprogramowania pośredniczącego

Przydzielanie mocy obliczeniowych 50 Granty Obliczeniowe Porozumienie miedzy Użytkownikami a PL-Gridem jakie zasoby będą zużyte Granty w jakiej ilości w jakim czasie osobiste (1000h czasu procesora) właściwe (ustalane indywidualnie) Zalety możliwość rezerwacji zasobów większa przewidywalność dostępności zasobów możliwość współdzielenia zasobów przez Zespoły Użytkowników

Kontakt 51 Helpdesk PL-Grid https://helpdesk.plgrid.pl lub helpdesk@plgrid.pl Admini klastra Zeus - zeus@cyfronet.pl Klemens Noga - klemens.noga@cyfronet.pl