POČÍTAČE
/ COMPUTERS

Pohledem na histogramy si ověřte aktuální zatížení procesorů a disků v našem klastru nebo sledujte časový vývoj zátěže procesorů. Projděte si poznámky k našemu hardwaru a zahleďte se na seznam softwaru dostupného na strojích s Linuxem i Windows. Zkuste, zda nenaleznete něco užitečného dole mezi návody.

CPU usage (load/cores) Disk usage
guptime gdf
(guptime) Zatížení uzlů klastru. Zelené sloupce naznačují nepřetížené uzly, sloupce žluté a červenající upozorňují na hrozící přetížení, fialovou barvu naberou sloupce po překročení 210procentní meze zátěže. Sloupce vypnutých či padlých strojů zčernají. Procenta zátěže na osách se vztahují k poměru počet běžících úloh ku počtu jader uzlu (load/cores), počet běžících úloh je vyznačen u horního okraje sloupce, počet jader uzlu v popisku sloupce. Svislá čára u vrcholu sloupce charakterizuje tendenci vývoje počtu úloh, vyznačuje maximum z průměrů za posledních 5 a 15 minut, zatímco výška barevného sloupce odpovídá průměru za poslední 1 minutu. Pro nové úlohy volte stroje se zeleným sloupcem nebo údajem 0.0 na dolní ose, nebo počkejte na klidnější časy, nebo oslovte počítající kolegy (k jejich identifikaci použijte na uzlu příkaz top). (gdf) Obsazenost síťových disků na strojích karel, lojzik, vaclav, geof10−90, geof-xyz a v diskovém poli. Do zaplnění 80 % kapacity disku svítí sloupec zeleně, pak žloutne a rudne. Procenta zaplnění jsou uvedena u horního okraje sloupce, velikost disku v TB stojí v popisku.

Obrázky se aktualizují s minutovou periodou (v prohlížeči je ovšem třeba je obnovovat, např. klávesou F5 nebo pomocí webového osvěžovače). Zde jsou položeny ve vektorovém formátu svg, při zvětšování tedy získávají na čitelnosti, pokud ovšem prohlížeč svg formátu rozumí. Dostatečně velké png varianty se zobrazí po kliknutí na ploše obrázků. Data pro obrázky jsou získávána pomocí skriptů guptime a gdf, dostupných na každém uzlu klastru. (Zdrojové skripty pro gnuplot: 1, 2.)

Obrázky časového vývoje zátěže procesorů na jednotlivých uzlech i souhrnně hledejte na samostatné stránce.

Hardware

Intel CPU

Hardware klastru

Počítačový klastr katedry zahrnuje 15 serverů (geofXYZW s procesory Intel i9/Intel Xeon/AMD Epyc o 12 až 24 jádrech) a 15 stanic (karel, lojzik, vaclav, geof*0, geofb* s 6 až 8jádrovými Intel Core i7/i9). Klastr doplňuje několik vyhrazených strojů na kapacitu přes 500 CPU jader a téměř 600 TB diskového prostoru. Některé stroje jsou vybaveny výpočetními koprocesory (Nvidia GPU), servery jsou propojeny vysokorychlostní sítí (InfiniBand). Na strojích běží linuxová distribuce Ubuntu převážně verze 22.04. Údaje o procesorech, paměti, síťových discích a výpočetních koprocesorech shrnuje aktuální přehled uzlů klastru.

Přístup ke strojům

Ke strojům se přistupuje pomocí textových nebo grafických relací. Ze strojů s Linuxem to typicky bývá příkazem ssh, resp. (pro grafickou relaci) ssh -X, ze strojů s Windows textově pomocí aplikace PuTTY nebo graficky pomocí softwaru X2Go nebo NX Client; s podporou X-serveru ve Windows (např. WSL 2 nebo VcXsrv) lze otevírat i grafické aplikace. Pro přenos dat slouží v Linuxu příkaz scp, sshfs atp., ve Windows univerzálně (tj. z katedry i světa) např. software WinSCP nebo stejnojmenný plugin v Altap Salamanderu. Lokálně, tedy mezi uzly klastru a ze strojů katedry, lze pro datové přenosy používat NFS spoje a z Windows lze k síťovým diskům přistupovat pomocí Samba spojů (Map Network Drive, Folder: //server/shared-folder), rychlejších než šifrované WinSCP.

Spouštění úloh

Uživatelé mají obvykle přístup ke všem uzlům a na každém síťovém disku mají svůj adresář. Spouštění úloh není řízeno žádným systémem, je na uživatelích, aby si pomocí skriptů guptime a gdf nebo jejich grafických variant (viz nahoře) nalezli nepřetížený stroj, tedy stroj s aktuálním počtem běžících úloh menším než je počet jader (12−24 u serverů, 8 nebo méně u pracovních stanic). Stroje podporují hyperthreading, tedy může (ale nemusí) přinést užitek zatížit stroj až na 200 %. (Na 8jádrových stanicích může 16 paralelních úloh doběhnout mírně rychleji než po sobě spuštěné dvojice 8 paralelních úloh.) Není vhodné přetěžovat karla, na kterém běžně pracuje několik živých uživatelů interaktivně a který nese web server. Stroje jsou připojeny k samostatnému síťovému přepínači (Gigabit Ethernet), servery navíc ke 40násobně rychlejšímu přepínači (InfiniBand), přesto bývá typičtější (odolnější proti výpadkům uzlů a sítě) číst a psát data na lokálním disku stroje.

Software − Linux

Ubuntu

Přehled strojů (PDF)
Na uzlech klastru běží operační systém Linux v distribuci Ubuntu 22.04 Jammy Jellyfish (téměř všechny stroje), 14.04 Trusty Tahr (lojzik a geofb*) a 12.04 Precise Pangolin (karel).

Ubuntu 22.04

Před spuštěním softwaru může být nutné volat aktivační skripty: 'source load_foo' neboli '. load_foo'; týká se to mj. Intel a Nvidia překladačů, Anacondy, GMT a ParaView.

Pro vzdálený přístup z Windows je vhodné textové PuTTY (případně s lokálním X-serverem VcXsvr) nebo grafický X2Go Client. (NX Client lze použít jen pro starší Ubuntu.) X2Go Client nabízí vzdálený desktop buď jako jedno okno s aplikacemi v něm (Session type: MATE) nebo otevírá nové Windows okno pro každou aplikaci (Session type: Single application/Terminal); aplikace dostupné jako Snap balíčky (např. Teams, Zoom, Chromium, IrfanView, Notepad++) lze v současnosti spouštět dálkově jen v terminálové session.

Pro přenášení souborů mezi lokálními Windows a Ubuntu 22.04 nelze použít zastaralý WinSCP plugin v Altap Salamanderu; WinSCP lze nadále používat jako samostatnou aplikaci (download). (Přenosy pomocí pluginu v Salamanderu jsou nadále možné přes stroje s Ubuntu 14.04.)

Pro bezheslový SSH přístup k Ubuntu 22.04 nelze použít RSA klíče připravené na Ubuntu 14.04/12.04. Na strojích se starším Ubuntu je třeba pro bezheslový přístup k novému Ubuntu vytvořit nové ECDSA klíče: ssh-keygen -t ecdsa. Pro bezheslový přístup mezi stroji s novým Ubuntu je třeba na nich vygenerovat nové RSA (nebo jiné) klíče: ssh-keygen -t rsa. Podrobněji v poznámce.

Pro pohodlné připojení síťových disků z Linuxu ke školním strojům s Windows pomocí systému Samba je třeba osobní kontakt se správcem.

Podrobnější návody

Překlad a spouštění OpenMP Překlad a spouštění MPI Coarray Fortran (CAF)

Programovací jazyky, numerické modelování

Paralelizace a numerické knihovny

Vizualizace

a další balíčky...

Ubuntu 14.04/12.04

Programovací jazyky, numerické modelování

Paralelizace a numerické knihovny

Vizualizace

a další balíčky...

Software − Windows

Windows

Stroje s Windows umístěné v počítačové laboratoři, posluchárně a po kancelářích mohou obsahovat mj. níže uvedený licencovaný nebo volně dostupný software. Za zdůraznění stojí, že leccos máme k dispozici jak v Linuxu, tak pro Windows: překladače GCC a Intel oneAPI HPC, také Python (Anaconda) a Octave s mnoha balíčky, numerické knihovny LAPACK, Intel MKL, CULA, UMFPACK i Pardiso, grafický software GIMP, ImageMagick, Inkscape, gnuplot, GMT a ParaView a samozřejmě LaTeX. S GCC překladači (ve variantě MinGW) se do Windows dostane i ke stovce linuxových nástrojů, včetně bash, make a awk. Možnost vyvíjet a ladit v prostředí Windows aplikace snadno přenositelné na linuxové stroje (nebo naopak) se tak stala docela průstupnou; kromě toho je připraven i Windows Subsystem for Linux (WSL).

K Fortranu: Překladače GCC (gfortran, gcc, g++) se ovládají primárně z příkazového řádku, lze k nim přidat grafické vývojová prostředí (Geany, Code::Blocks, NetBeans). Intel překladače pro Windows mají režim řádkový (ifort/ifx, icc/icx) i grafický pod střechou Microsoft Visual Studio. Všechny překladače umožňují vláknovou paralelizaci pomocí OpenMP pro CPU i GPU, Nvidia a GCC podporují i direktivy OpenACC pro GPU. MPI paralelizaci ve Windows poskytuje Intel a Nvidia.

Dostupný software

Návody

Další návody jsou k nalezení na stránkách semináře o softwaru pro geofyziky.