Top Banner
Korištenje računalnog klastera Isabella Emir Imamagić Sveučilišni Računski Centar (Srce)
115

Korištenje računalnog klastera Isabella

Feb 07, 2017

Download

Documents

hoangliem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Korištenje računalnog klastera Isabella

Korištenje računalnog klastera Isabella

Emir Imamagić

Sveučilišni Računski Centar (Srce)

Page 2: Korištenje računalnog klastera Isabella

Sadržaj

Korištenje računalnog klastera Isabella

Page 3: Korištenje računalnog klastera Isabella

Ciljevi

• Ciljevi• upoznavanje s klasterskom okolinom

• upoznavanje sa sustavom za upravljanje poslovima

• upravljanje izvođenjem poslova

• specifičnosti računalnog klastera Isabella

• Što nije pokriveno• instalacija i održavanje klastera

• paralelni programski modeli i tehnologije

• prevođenje, prilagodba i uspostava aplikacija na klasterima

Korištenje računalnog klastera Isabella

Page 4: Korištenje računalnog klastera Isabella

Sadržaj

• Uvod• Paralelno računarstvo

• Računalni klasteri

• Sustavi za upravljanje poslovima

• Računalni klaster Isabella

Korištenje računalnog klastera Isabella

Page 5: Korištenje računalnog klastera Isabella

Sadržaj

• Podnošenje poslova• Opisivanje poslova

• Tipovi poslova• Serijski

• Interaktivni

• Paralelni

• Polja poslova

• Varijable okoline

• Napredno opisivanje poslova

Korištenje računalnog klastera Isabella

Page 6: Korištenje računalnog klastera Isabella

Sadržaj

• Upravljanje poslovima• Zaustavljanje poslova

• Privremeno zaustavljanje poslova

• Ponovno izvođenje poslova

• Izmjena parametara posla

• Informacije o poslovima

• Raspodijeljeni datotečni sustav BeeGFS

• Sustav za nadzor• Ganglia

• ScaleMP

Korištenje računalnog klastera Isabella

Page 7: Korištenje računalnog klastera Isabella

Uvod

Korištenje računalnog klastera Isabella

Page 8: Korištenje računalnog klastera Isabella

Paralelno računarstvo

• Dijeljenje problema u manje zadatke koji se mogu izvoditi paralelno

• Razlozi• fizičke granice sklopovlja (brzina svjetlosti, elektrona, …)

• ekonomski razlozi (viša složenost – viša cijena)

• granice učinkovitosti (dvostruka brzina ne znači dvostruku učinkovitost)

• veličina aplikacije (prevelika količina memorije i vremena za izvođenje)

Korištenje računalnog klastera Isabella

Page 9: Korištenje računalnog klastera Isabella

Paralelno računarstvo

• Prednosti• veća brzina izvođenja aplikacije

• bolje iskorištenje dostupnih resursa

• Mane• složenost razvoja aplikacija

• Tri velike prepreke• sklopovlje

• programska potpora

• algoritmi

Korištenje računalnog klastera Isabella

Page 10: Korištenje računalnog klastera Isabella

Paralelno računarstvo

• Područja primjene• astronomija

• meteorologija i modeliranje klime

• životne znanosti

• znanosti o Zemlji

• inženjerski problemi

• geologija

• vojne primjene

• ekonomsko modeliranje

Korištenje računalnog klastera Isabella

Page 11: Korištenje računalnog klastera Isabella

Paralelno sklopovlje

• Superračunala• najmoćnija dostupna računala

• za zahtjevne računalne probleme

• Vektorska superračunala• Cray SV, NEC SX

• Cray-1: 1976, 160.00 MFLOPS8.8 M$

• Velika paralelna računala• MPP (engl. massively parallel

processors)

• Connection Systems CM1 i CM2, Earth Simulator, Blue Gene

• IBM – Blue Gene/L: 2005, 360.00 (70.72) TFLOPS, ~100 M$

Korištenje računalnog klastera Isabella

Page 12: Korištenje računalnog klastera Isabella

Računalni klasteri

• “... skup umreženih samostalnih računala koji djeluju kao jedinstven računalni resurs” R. Buyya

• Ekonomična alternativa za superračunala

• sastoji se od standardnih komponenata

• “superračunalo za siromahe”

• Ključni faktori (80-tih)• mikroprocesori

• brze mrežne tehnologije

• Parallel Virtual Machine (PVM)

Korištenje računalnog klastera Isabella

Page 13: Korištenje računalnog klastera Isabella

Računalni klasteri

• Beowulf klaster (1994)• T. Sterling & M. Baker

• NASA Ames Centre

• Danas• široko rasprostranjeni u paralelnom računarstvu

• 85,2% Top500 liste najmoćnijih računala

Korištenje računalnog klastera Isabella

Page 14: Korištenje računalnog klastera Isabella

Računalni klasteri

• Top 500• popis najmoćnijih

računala

• program za mjerenje - Linpack

• 85,2 % popisa čine grozdovi

• 1. Sunway TaihuLight, Kina, 93 Pflops(10,6M jezgri), 273 M$

Korištenje računalnog klastera Isabella

Page 15: Korištenje računalnog klastera Isabella

Arhitektura klastera

• Komponente klastera• računalni čvorovi

• mreža

• operacijski sustav (OS)

• klasterski posrednički sustav (engl. middleware)

Korištenje računalnog klastera Isabella

Page 16: Korištenje računalnog klastera Isabella

Beowulf arhitektura

• Frontend• pristupno računalo

• pristup pomoću protokola ssh

• središnji servisi klasterskih posredničkih sustava

• dijeljeni diskovni prostor (direktorij /home)

Korištenje računalnog klastera Isabella

Page 17: Korištenje računalnog klastera Isabella

Beowulf arhitektura

• Čvorovi• dedicirana računala za izvođenje poslova

• povezani privatnom mrežom

• lokalni diskovni prostor (/scratch)

• Privatne mreže• visoka propustnost

• malo kašnjenje

• moguće korištenje više mreža

Korištenje računalnog klastera Isabella

Page 18: Korištenje računalnog klastera Isabella

Komponente klastera

• Računalni čvorovi• poslužitelji, radne stanice, osobna računala

• 32-bitna i 64-bitna arhitektura procesora• Intel Xeon, Itanium, AMD Opteron, Alpha

• Mrežna tehnoloije• Gigabit Ethernet, Infiniband, Myrinet, Quadrics QsNet II

• OS• Linux, HPUX, Solaris, MS Windows

Korištenje računalnog klastera Isabella

Page 19: Korištenje računalnog klastera Isabella

Sustavi za upravljanje poslovima

• Upravlja izvođenjem korisničkih aplikacija na klasteru• engl. Job Management System (JMS), batch system

• Posao – izvođenje aplikacije

• Vrste poslova• batch – ne zahtijevaju korisničku interakciju (npr. dugotrajna

računanja, obrada podataka)

• interaktivni – zahtijevaju korisničku interakciju (npr. grafička sučelja, unos dodatnih podataka, potvrđivanje akcija)

• serijski – zahtijevaju samo jedan procesor za izvođenje

• paralelni – zahtijevaju više procesora za izvođenje

Korištenje računalnog klastera Isabella

Page 20: Korištenje računalnog klastera Isabella

Sustavi za upravljanje poslovima

• Korisničko sučelje za podnošenje i upravljanje poslovima• podnošenje, upravljanje, dohvat detaljnih informacija o izvođenju

• Omogućava definiranje politike korištenja klastera• npr. fair-share, rezervacije, prioriteti, …

• Optimizira korištenje čvorova• raspoređivanje poslova po čvorovima

• praćenje opterećenja čvorovova

Korištenje računalnog klastera Isabella

Page 21: Korištenje računalnog klastera Isabella

Sustavi za upravljanje poslovima

• Otvoreni problemi• spremanje stanja poslova (engl. checkpointing)

• selidba poslova između čvorova (engl. process migration)

• preemption

• rezervacija čvorova (engl. advance reservation)

• otpornost na greške u radu čvorova (engl. fault tolerance)

Korištenje računalnog klastera Isabella

Page 22: Korištenje računalnog klastera Isabella

Sustavi za upravljanje poslovima

Korištenje računalnog klastera Isabella

Page 23: Korištenje računalnog klastera Isabella

Sustavi za upravljanje poslovima

• Son of Grid Engine (SGE)• napredno raspoređivanje poslova (fair share, tickets)

• definiranje projekata i grupa korisnika

• detaljno opisivanje čvorova

• prilagodba okoline za specifične paralelne aplikacije

• Torque + Maui• napredno raspoređivanje poslova

• rezervacije resursa

• precizno definiranje resursa kod paralelnih poslova

Korištenje računalnog klastera Isabella

Page 24: Korištenje računalnog klastera Isabella

Dijeljeni i paralelni datotečni sustavi

• Dijeljeni datotečni sustavi• omogućavaju transparentan pristup datotekama smještenim na

udaljenom računalu

• rješenja: NFS, GFS, AFS, Coda

• Paralelni datotečni sustavi• paralelno spremanje datoteka na više podatkovnih elemenata

• učinkovito spremanje velikih datoteka

• rješenja: Lustre, GlusterFS, BeeGFS

Korištenje računalnog klastera Isabella

Page 25: Korištenje računalnog klastera Isabella

Vrste klastera

• Klasteri s visokom učinkovitosti • engl. High Performance Computing

• Klasteri s visokom propusnošću• engl. High Throughput

• veliki broj neovisnih zadataka

• nije bitna učinkovitost čvorova nego broj

• Klasteri s visokom dostupnošću• engl. High availability

• izbjegavanje SPOF (engl. Single Point Of Failure)

• komercijalne primjene

Korištenje računalnog klastera Isabella

Page 26: Korištenje računalnog klastera Isabella

Vrste klastera

• Klasteri za ravnomjerno opterećenje • engl. Load Balancing

• ostvaruju ravnomjerno opterećenje aplikacije na čvorovima

• primjer: web poslužitelj

• Hibridni klasteri• sadrže specifične uređaje

• npr. matematički uređaji, Graphics Processing Unit (GPU)

Korištenje računalnog klastera Isabella

Page 27: Korištenje računalnog klastera Isabella

Računalni klaster Isabella

• Računalni klaster na Srcu• dostupan cijeloj akademskoj zajednici

• Arhitektura• brza mreža Infiniband

• Son of Grid Engine

• dijeljeni datotečni sustav BeeGFS• koristi Infiniband

• visoka dostupnost frontenda i podatkovnih elementa

Korištenje računalnog klastera Isabella

Page 28: Korištenje računalnog klastera Isabella

Računalni klaster Isabella

• 40 računalnih čvorova

• 704 CPU procesorskih jezgri

• 5 TB radne memorije

• 110 TB trajnog podatkovnog prostora (/home)

• 90 TB privremenog dijeljenog podatkovnog prostora (/shared)

• Infiniband QDR (40 Gb/s) i FDR (56 Gb/s)

• ScaleMP vSMP• aplikacije vide jedan poslužitelj s 160 jezgri i 2 TB radne memorije

Korištenje računalnog klastera Isabella

Page 29: Korištenje računalnog klastera Isabella

Računalni klaster Isabella

Korištenje računalnog klastera Isabella

Page 30: Korištenje računalnog klastera Isabella

Računalni klaster Isabella - VELEbit

• Resurs nabavljen u suradnji s Ministarstvom zaštite okoliša i ekologije

• 64 računala čvora

• 1.792 CPU procesorskih jezgri

• 8 TB radne memorije

• 220 TB trajnog podatkovnog prostora (/velebit)

• 12 TB privremenog dijeljenog podatkovnog prostora na SSD-u (/velebit-ssd)

Korištenje računalnog klastera Isabella

Page 31: Korištenje računalnog klastera Isabella

Računalni klaster Isabella

• Web stranice• novosti, tehničke informacije i dokumenti

• http://isabella.srce.hr

• Web stranice za nadzor• http://tannat.srce.hr/ganglia

• http://tannat.srce.hr/velebit

• Služba pomoći• problemi s posredničkim sustavom i aplikacijama

• pomoć u pripremi korisničkih aplikacija

[email protected]

Korištenje računalnog klastera Isabella

Page 32: Korištenje računalnog klastera Isabella

Podnošenje poslova

Korištenje računalnog klastera Isabella

Page 33: Korištenje računalnog klastera Isabella

Podnošenje posla

• Komandno-linijski alat – qsub

• Sintaksa

• options – opcije za opisivanje poslova

• job_script – datoteka sa opcijama za opisivanje poslova

• Podnosi posao i vraća ID posla• ID posla se koristi za nadzor i upravljanje poslom

• Opcije• ekvivalentne opcijama koje se navode u datoteci za opisivanje

• opisane u nastavku …

Korištenje računalnog klastera Isabella

$ qsub [options] <job_script>

Page 34: Korištenje računalnog klastera Isabella

Provjera stanja poslova

• Naredba

• Prikazuje stanje svih poslova na klasteru

• Stanja poslova• qw – posao čeka u redu za izvođenje

• t – u tijeku je priprema za izvođenje posla

• r – posao u izvođenju

• Korisna opcija

• stanje poslova i čvorova

Korištenje računalnog klastera Isabella

$ qstat

$ qstat -f

Page 35: Korištenje računalnog klastera Isabella

Provjera stanja poslova

Korištenje računalnog klastera Isabella

$ qstat

job-ID prior name user state submit/start at queue slots

---------------------------------------------------------------------------------

2791 0.55500 blcr eimamagi r 07/04/2006 13:25:58 [email protected] 1

2792 0.60500 ParMPI eimamagi r 07/04/2006 13:31:43 [email protected] 4

2789 0.55500 Mgmt eimamagi r 07/04/2006 13:24:13 [email protected] 1

2790 0.55500 blcr eimamagi r 07/04/2006 13:25:58 [email protected] 1

Page 36: Korištenje računalnog klastera Isabella

Provjera stanja poslova

Korištenje računalnog klastera Isabella

$ qstat –f

queuename qtype used/tot. load_avg arch states

-------------------------------------------------------------------------

[email protected] BIPC 0/2 0.00 lx24-x86

----------------------------------------------------------------------------

[email protected] BIPC 0/2 0.00 lx24-x86

----------------------------------------------------------------------------

[email protected] BIPC 0/2 0.00 lx24-x86

----------------------------------------------------------------------------

[email protected] BIPC 0/2 0.00 lx24-x86

----------------------------------------------------------------------------

[email protected] BIPC 0/2 0.00 lx24-x86

----------------------------------------------------------------------------

[email protected] BIPC 1/2 0.26 lx24-x86

2789 0.55500 MgmtTask eimamagi r 07/04/2006 13:24:13 1

----------------------------------------------------------------------------

[email protected] BIPC 0/2 0.00 lx24-x86

----------------------------------------------------------------------------

[email protected] BIPC 0/2 -NA- lx24-x86 au

############################################################################

- PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS

############################################################################

2790 0.00000 blcr_test eimamagi qw 07/04/2006 13:25:49 1

2791 0.00000 blcr_test eimamagi qw 07/04/2006 13:25:50 1

Page 37: Korištenje računalnog klastera Isabella

Opisivanje poslova

• Što se treba izvesti?

• Koji su argumenti?

• Gdje treba spremiti standardni izlaz i greške?

• Gdje se nalazi standardni ulaz?

• Koji podaci su potrebni za izvođenje poslova?

Korištenje računalnog klastera Isabella

Page 38: Korištenje računalnog klastera Isabella

Opisivanje poslova

• Gdje spremati privremene podatke i rezultate?

• Gdje je radni direktorij na čvorovima?

• Koje okoline varijable treba postaviti?

• Koliko procesora posao zahtjeva? Koju arhitekturu procesora?

• Koliko memorije, prostora na disku, vremena je potrebno?

Korištenje računalnog klastera Isabella

Page 39: Korištenje računalnog klastera Isabella

Opisivanje poslova

• Jezik za opisivanje poslova• omogućava opisivanje poslova

• dio je svakog sustava za upravljanje poslovima

• primjeri: izvođenje poslova na gridu, izvođenje u okolini s web servisima, sustavi za upravljanje poslovima na klasterima, …

• Jezik sustava SGE• datoteka je standardni shell

• atributi jezika se postavljaju kao dodatni parametri

Korištenje računalnog klastera Isabella

#$ -<parameter1> <value1>

#$ -<parameter2> <value2>

<command1>

<command2>

Page 40: Korištenje računalnog klastera Isabella

Osnovni parametri poslova

Korištenje računalnog klastera Isabella

Page 41: Korištenje računalnog klastera Isabella

Izvršna datoteka

• Lokacija korisničke datoteke

• Definira se kao i u standardnoj shell skripti

• exec.sge

• Podnošenje posla

Korištenje računalnog klastera Isabella

/bin/hostname

$ qsub exec.sge

Page 42: Korištenje računalnog klastera Isabella

Argumenti

• Argumenti aplikacije

• Definiraju se kao i u standardnoj shell skripti

• arg1.sge

• Definiranje parametara u pozivu qsub

• arg2.sge

• Podnošenje posla

Korištenje računalnog klastera Isabella

/bin/echo “Hello World”

/bin/echo $@

$ qsub arg2.sge “Hello World”

Page 43: Korištenje računalnog klastera Isabella

Ime posla

• Ime posla

• koristi se u prikazu stanja posla

• definira lokaciju podrazumijevanog izlaza i greške

• name.sge

Korištenje računalnog klastera Isabella

#$ -N <JobName>

#$ -N nameTest

/bin/hostname

Page 44: Korištenje računalnog klastera Isabella

Radni direktorij

• Direktorij u kojem se pokreće posao• bitan ukoliko aplikacija koristi relativne putanje

• definira lokaciju podrazumijevanog izlaza i greške

• Podrazumijevani je $HOME

• Trenutni direktorij (workDir1.sge)

• posao se pokreće u direktoriju u kojem se izvodi naredba qsub

• podrazumijevani izlaz i greška idu u trenutni direktorij

Korištenje računalnog klastera Isabella

#$ -cwd

Page 45: Korištenje računalnog klastera Isabella

Radni direktorij

• Proizvoljan direktorij (workDir2.sge)

• mora biti navedeno prije izvršne datoteke

• bitno – ne utječe na lokacije podrazumijevanog izlaza i greške

Korištenje računalnog klastera Isabella

cd <working_directory>

Page 46: Korištenje računalnog klastera Isabella

Standardni izlaz i greška

• Podrazumijevana lokacija• ako ime posla nije definirano

• inače

• $WD – radni direktorij

Korištenje računalnog klastera Isabella

$WD/<job_script>.o<job_id> - izlaz

$WD/<job_script>.e<job_id> - greška

$WD/<job_name>.o<job_id> - izlaz

$WD/<job_name>.e<job_id> - greška

Page 47: Korištenje računalnog klastera Isabella

Standardni izlaz i greška

• Opcije (outerr1.sge)

• Bitno: izlaz i greška se dodaju na postojeći sadržaj

• Spajanje izlaza i greške (outerr2.sge)

Korištenje računalnog klastera Isabella

#$ -o <job_output>

#$ -e <job_error>

#$ -j y

Page 48: Korištenje računalnog klastera Isabella

Standardni izlaz i greška

• Opcije mogu pokazivati na direktorij

• Datoteke izlaza i greške bit će imenovane kao i u podrazumijevanoj lokaciji

• Preporuča se koristiti kod polja poslova

Korištenje računalnog klastera Isabella

#$ -o outputDir/

#$ -e outputDir/

Page 49: Korištenje računalnog klastera Isabella

Varijable okoline

• Podrazumijevano ograničen skup varijabli

• Definiranje pojedinih varijabli (env1.sge)

• Postavljanje svih trenutnih varijabli (env2.sge)

• (veliko V)

• Postavljanje u shell datotekama• ~/.bashrc, ~/.profile, ~/.cshrc

• paziti koji shell posao koristi

Korištenje računalnog klastera Isabella

#$ -v <name1>=<value1>

#$ -v <nameN>=<valueN>

#$ -V

Page 50: Korištenje računalnog klastera Isabella

Ljuska

• Podrazumijevani definiran po redu poslova• trenutno je /bin/sh

• Opcija (shell.sge)

• Primjer

Korištenje računalnog klastera Isabella

#$ -S <shell>

#$ -S /bin/sh

Page 51: Korištenje računalnog klastera Isabella

Vježba

• $HOME/tutorial/basic

Korištenje računalnog klastera Isabella

exec.sge – izvršna datoteka

arg1.sge – argumenti

arg2.sge – argumenti(qsub arg2.sge arg)

name.sge – ime posla

workDir1.sge – trenutni radni direktorij

workDir2.sge – proizvoljni radni direktorij

outerr1.sge – definiranje izlaza i greške

outerr2.sge – spajanje izlaza i greške

env1.sge – definiranje varijabli okoline

env2.sge – postavljanje svih varijabli

shell.sge – odabir shella

Page 52: Korištenje računalnog klastera Isabella

Vrste poslova

Korištenje računalnog klastera Isabella

Page 53: Korištenje računalnog klastera Isabella

Interaktivni poslovi

• Koristi se posebna naredba – qrsh

• Sintaksa

• opcije – opis posla (kao kod qsub)

• Podnosi interaktivni posao ili otvara shell na čvoru

• Što ako nema slobodnih čvorova?• podnošenje se prekida

• moguće kontrolirati opcijom

Korištenje računalnog klastera Isabella

$ qrsh <options> [job]

#$ -now y|n

Page 54: Korištenje računalnog klastera Isabella

Paralelni poslovi

• SGE sadrži Parallel Environment (PE)• skripte za izvođenje paralelnih aplikacija kroz SGE

• Opcija

• postaviti PEName u mpi

• CPUs – broj procesora potreban za izvođenje posla

• CPURange: SGE će alocirati dostupan broj procesa iz skupa vrijednosti (preferira se veći broj)

• CPUMin – CPUMax

• CPUNum1,CPUNum2,CPUMin – CPUMax,CPUNum3

Korištenje računalnog klastera Isabella

#$ -pe <PEName> <CPUs>|<CPURange>

Page 55: Korištenje računalnog klastera Isabella

Paralelni poslovi

• Primjeri

• posao zahtjeva 4 CPU-a i PE mpi

• posao zahtjeva 2 ili 4 CPU-a i PE mpi

Korištenje računalnog klastera Isabella

#$ -pe mpi 4

#$ -pe mpi 2,4

Page 56: Korištenje računalnog klastera Isabella

Paralelni poslovi

• Relevantne varijable okoline (parallelEnv.sge)

• Primjeri• parallelHosts.sge – korištenje datoteke $TMPDIR/machines za

izvođenje naredbe /bin/date na dodijeljenim čvorovima

Korištenje računalnog klastera Isabella

$TMPDIR/machines – datoteka koja sadrži popis

dodijeljnih čvorova

$NSLOTS – broj procesora

$NHOSTS – broj čvorova

Page 57: Korištenje računalnog klastera Isabella

Paralelni poslovi

• Dostupni PE-ovi na Isabelli:• mpi - općeniti paralelni poslovi

• mpisingle - sve jezgre se dodjeljuju na jednom radnom čvoru

• mpismp - jezgre se dodjeljuju 2 po radnom čvoru

• mpismp_4 - jezgre se dodjeljuju 4 po radnom čvoru

• mpismp_8 - jezgre se dodjeljuju 8 po radnom čvoru

• vsmp - jezgre se dodjeljuju na ScaleMP vSMP čvoru

• gpu - GPU poslovi (ne koristi se više)

Korištenje računalnog klastera Isabella

Page 58: Korištenje računalnog klastera Isabella

Paralelni poslovi - MPI

• MPI okoline na Isabelli• MVAPICH2 2.0 (podrazumijevana)

• MVAPICH2 2.0 s prevodiocima GNU 4.9

• ScaleMP MPICH2 (podrazumijevana na ScaleMP)

• Intel MVAPICH2 2.0 (preporučena)

Korištenje računalnog klastera Isabella

$ module load mvapich2-x86_64

$ module load mvapich2-gcc49-x86_64

$ source /opt/ScaleMP/mpich2/1.4/etc/mpich2.sh

$ module load mvapich2-intel-x86_64

Page 59: Korištenje računalnog klastera Isabella

Paralelni poslovi - MPI

• Pokretanje posla• navesti naredbu module load ako nije podrazumijevana okolina

• pokretanje aplikacije (parallelMPI.sge):

• primjer aplikacije prevedene s MVAPICH2 2.0 s prevodiocima GNU 4.9:

Korištenje računalnog klastera Isabella

mpirun_rsh -np $NSLOTS -hostfile $TMPDIR/machines

/home/NPB.parallel

module load mvapich2-gcc49-x86_64

mpirun_rsh -np $NSLOTS -hostfile $TMPDIR/machines

/home/NPB.parallel.gcc49

Page 60: Korištenje računalnog klastera Isabella

Polje poslova

• Višestruko izvođenje aplikacije• svaki zadatak ima svoj ID (<ID_posla>.<ID_zadatka>)

• svaki zadatak se samostalno raspoređuje

• Opcija

• firstID – prvi ID

• lastID – posljednji ID

• step – korak rasta vrijednosti ID-ja između prvog i posljednjeg (podrazumijevano:1)

Korištenje računalnog klastera Isabella

#$ -t <firstID>:<lastID>:<step>

Page 61: Korištenje računalnog klastera Isabella

Polje poslova

• Primjer

• Pokreće 5 zadataka s ID-jevima: 1,3,5,7,9

• Relevantna varijabla okoline $SGE_TASK_ID• moguće je ulaz razdijeliti u više datoteka

• koristiti $SGE_TASK_ID za dodjeljivanje datoteka zadacima

Korištenje računalnog klastera Isabella

#$ -t 1:9:2

Page 62: Korištenje računalnog klastera Isabella

Polje poslova

• Standardni izlaz i greška• obavezno navesti relativnu putanju

• u suprotnom će izlaz i greška biti prepisani od pojedinih zadataka

• Primjeri:• jobArray.sge: primjer polja serijskih poslova

• parallelMPIJobArray.sge: primjer polja paralelnih poslova

Korištenje računalnog klastera Isabella

Page 63: Korištenje računalnog klastera Isabella

Napredno opisivanje poslova

Korištenje računalnog klastera Isabella

Page 64: Korištenje računalnog klastera Isabella

Privremeni rezultati

• Ne koristiti direktorije u $HOME• smanjuje učinkovitost aplikacije

• opterećuje frontend klastera

• opterećuje mrežu klastera

• Ne stvarati proizvoljne direktorije• u slučaju greške podaci ostaju na čvoru

• upitno vlasništvo nad direktorijima

• upitna učinkovitost pristupa direktorijima

Korištenje računalnog klastera Isabella

Page 65: Korištenje računalnog klastera Isabella

Privremeni rezultati

• Koristiti scratch ($TMPDIR)• /scratch/<jobID>.<taskID>.<queue>

• stvara se za pojedini posao (na svim čvorovima)

• automatski se uklanja po završetku posla

• scratch.sge – kako koristiti scratch direktorij

Korištenje računalnog klastera Isabella

Page 66: Korištenje računalnog klastera Isabella

Privremeni rezultati – BeeGFS

• Paralelni datotečni sustav BeeGFS

• Dostupan na Isabelli i Srce CRO NGI sjedištu• /shared

• Ukupno raspoloživo 90 TB

• Nema automatskog uklanjanja direktorija

• shared.sge – kako koristiti shared direktorij

Korištenje računalnog klastera Isabella

Page 67: Korištenje računalnog klastera Isabella

Resursi

• Omogućavanje boljeg raspoređivanja poslova• navođenje daje poslovima veći prioritet!

• Korisno u slučaju greške u programu• posao se zaustavi u grešci i okupira čvor

• posao sadrži memory leak

• Opcija

Korištenje računalnog klastera Isabella

#$ -l <resource>=<value>

Page 68: Korištenje računalnog klastera Isabella

Resursi

Korištenje računalnog klastera Isabella

arch – arhitektura čvora (e.g.lx26-x86, lx24-amd64)

hostname – adresa čvora (compute-0-1.local)

vmem – količina virtualne memorije (format: <num>K|M|G)

rss – količina stvarne memorije

stack – veličina stoga

data – ukupna količina memorije (bez stoga)

fsize – ukupna veličina datoteka

cpu – procesorsko vrijeme (format:

[<hours>:<min>:]<sec>)

rt – stvarno vrijeme

Page 69: Korištenje računalnog klastera Isabella

Resursi

• Resursi (osim hostname & arch) imaju• soft (s_<resource>) vrijednost

• hard (h_<resource>) vrijednost

• Bitno: ako se ne postavi ispravno, postavljanje vrijednosti resursa može uzrokovati prekid posla

• u pozadini SGE koristi naredbu ulimit

• Bitno: vrijednosti se ne mogu mijenjati za aktivne poslove

• Primjer

• posao zahtjeva stvarno vrijeme izvođenja od 48 sati

Korištenje računalnog klastera Isabella

#$ -l h_rt=48:0:0

#$ -l s_rt=48:0:0

Page 70: Korištenje računalnog klastera Isabella

Resursi

• SGE omogućava dodjeljivanje proizvoljnih parametara čvorovima

• Primjer (Isabella & različite platforme čvorova)

• Moguće vrijednosti

Korištenje računalnog klastera Isabella

#$ -l vendor=<value>

HP – compute-0,2-*, vsmp

Page 71: Korištenje računalnog klastera Isabella

Resursi

• Primjer (Isabella & tražena memorija)

• korisno za poslove koji zahtijevaju veliku količinu memorije

• ne postavlja ograničenje kao vmem

• ne osvježava se automatski

• količina memorije u izražena u GB koju posao treba za izvođenje jednog procesa

• Primjer posao zahtjeva 20 jezgri i 200 GB RAM-a

Korištenje računalnog klastera Isabella

#$ -l memory=<value>

#$ -pe mpi 20

#$ -l memory=10

Page 72: Korištenje računalnog klastera Isabella

Resursi

• Primjer (Isabella & traženi scratch prostor)

• korisno za poslove koji zahtijevaju veliku količinu prostora na scratchu

• ne postavlja ograničenje na korištenom prostoru

• ne osvježava se automatski

• količina memorije u izražena u GB koju posao treba za izvođenje jednog procesa

• Primjer posao zahtjeva 4 jezgre i 200 GB scratch prostora

Korištenje računalnog klastera Isabella

#$ -l scratch=<value>

#$ -pe mpisingle 4

#$ -l scratch=50

Page 73: Korištenje računalnog klastera Isabella

Resursi

• Primjeri• resourceHost.sge – zahtjeva adresu i arhitekturu

• resourceVendor.sge – zahtjeva atribut vendor

• resourceMemory.sge – zahtjeva nedovoljnu količinu memorije

• resourceTime.sge – zahtjeva nedovoljno procesorsko vrijeme izvođenja posla

• resourceMemory2.sge – zahtjeva veliku količinu memorije

• resourceScratch.sge – zahtjeva veliku količinu scratch prostora

• ulimit.sge - izlaz naredbe ulimit prilikom postavljanja ograničenja memorije

Korištenje računalnog klastera Isabella

Page 74: Korištenje računalnog klastera Isabella

Projekti

• Korisnici su podijeljeni u projekte• SGE koristi projekte za definiranje prioriteta i fair-share

• mogu se koristiti za naplaćivanje korištenja

• Podrazumijevani projekt je u definiciji korisnika

• Može se definirati opcijom

Korištenje računalnog klastera Isabella

#$ -P <projectName>

Page 75: Korištenje računalnog klastera Isabella

Red poslova

• SGE podržava više redova poslova• za različite vrste poslova, korisnika, …

• za različite vrste čvorova (interaktivni, veliki SMP-ovi)

• Može biti definiran opcijom

Korištenje računalnog klastera Isabella

#$ -q <queueName>

Page 76: Korištenje računalnog klastera Isabella

Red poslova

• Redovi na Isabelli• all.q

• red za serijske poslove

• parallel.q• red za paralelne poslove

• tecaj• red za potrebe tečaja

• velebit• red za potrebe projekta od MZOE

• vsmp.q• red za ScaleMP vSMP čvor

• vsmp-test.q• red za potrebe tečaja o ScaleMP

Korištenje računalnog klastera Isabella

Page 77: Korištenje računalnog klastera Isabella

Obavijesti

• Email obavijesti o izmjeni stanja poslova• korisno za dugotrajne poslove

• Definiranje email adrese

• Definiranje uvjeta u kojem se šalju obavijesti

• b – kod početka izvođenja

• a – kada je posao prekinut

• e – kada je posao završen

• n – ne slati obavijesti (podrazumijevana opcija)

Korištenje računalnog klastera Isabella

#$ -M <emailAddress>[,<emailAddress>]…

#$ -m aben

Page 78: Korištenje računalnog klastera Isabella

Obavijesti

• Primjer

• poslati obavijest na adresu [email protected] prilikom prekida ili završetka posla

Korištenje računalnog klastera Isabella

#$ -m ae

#$ -M [email protected]

Page 79: Korištenje računalnog klastera Isabella

Ponavljanje poslova

• Što prilikom greške u izvođenju?• problem na čvoru

• problem u poslu

• U nekim slučajevima je poželjno automatsko ponavljanje

• Opcija

Korištenje računalnog klastera Isabella

#$ -r y|n

Page 80: Korištenje računalnog klastera Isabella

Rezervacija čvorova

• SGE omogućava rezervaciju čvorova• prilikom raspoređivanja SGE rezervira čvorove

• bitno za višeprocesorske poslove

• Opcija

Korištenje računalnog klastera Isabella

#$ -R y|n

Page 81: Korištenje računalnog klastera Isabella

SGE varijable okoline

Korištenje računalnog klastera Isabella

$JOB_ID – ID posla

$JOB_NAME – ime posla

$NSLOTS – broj dodijeljenih CPU-ova

$NHOSTS – broj dodijeljenih čvorova

$PE_HOSTFILE – datoteka sadrži popis dodijeljenih

čvorova

$SGE_O_PATH – vrijednost varijable PATH na frontendu

$SGE_O_WORKDIR – direktorij u kojem je pokrenut qsub

$SGE_STDOUT_PATH – lokacija datoteke za izlaz

$SGE_STDERR_PATH – lokacija datoteke za grešku

$SGE_TASK_ID – ID zadatka (vidi polja poslova)

$TMPDIR – privremeni direktorij posla

$QUEUE – ime reda poslova

Page 82: Korištenje računalnog klastera Isabella

Upravljanje poslovima

Korištenje računalnog klastera Isabella

Page 83: Korištenje računalnog klastera Isabella

Prikaz stanja poslova

• Naredba

• Korisne opcije

• p – poslovi koji čekaju u redu

• r – aktivni poslovi

• s – privremeno zaustavljeni aktivni poslovi

• h – privremeno zaustavljeni poslovi u redu

• detaljni prikaz stanja posla (npr. zašto se posao ne izvodi)

Korištenje računalnog klastera Isabella

$ qstat <options>

$ qstat –s rpsh

$ qstat –j

Page 84: Korištenje računalnog klastera Isabella

Prikaz stanja poslova

• prikaz stanja poslova i čvorova

• prikaz detaljnih informacija o čvorovima (resursi)

• dodatne informacije o poslovima (npr. projekti, prioriteti)

• detaljni podaci o prioritetima poslova

Korištenje računalnog klastera Isabella

$ qstat –f

$ qstat –F

$ qstat –ext

$ qstat –pri

Page 85: Korištenje računalnog klastera Isabella

Prikaz stanja poslova

• sažetak stanja pojedinih redova poslova

• detaljan prikaz informacija o jednom poslu

• filtriranje poslova prema resursima

• prikaz poslova u definiranom redu poslova

Korištenje računalnog klastera Isabella

$ qstat –g c

$ qstat –j <jobId>

$ qstat –l <resource>=<value>

$ qstat –q <queue>

Page 86: Korištenje računalnog klastera Isabella

Prikaz stanja poslova

• prikaz poslova od određenog korisnika (*-za sve)

• prikaz poslova koji koriste definiranu paralelnu okolinu

• dodatne informacije o traženim resursima

Korištenje računalnog klastera Isabella

$ qstat –u <user>

$ qstat –pe <name>

$ qstat –urg

Page 87: Korištenje računalnog klastera Isabella

Prikaz stanja poslova

• Korištenje filtera• bitno u produkciji sa stotinama poslova

• Primjer

• prikaz paralelnih poslova na strojevima tipa HP u redu poslova all.q

• prikaz svih poslova i čvorova korisnika pero na 64-bitnih čvorovima

Korištenje računalnog klastera Isabella

$ qstat –s r –pe mpi –l vendor=IBM –q all.q

$ qstat –s r –f –user pero –l arch=lx24-amd64

Page 88: Korištenje računalnog klastera Isabella

Prikaz radnih čvorova

• Naredba

• prikazuje broj procesora, jezgri, radne memorije po čvoru

• Ispis vrijednosti resursa

Korištenje računalnog klastera Isabella

$ qhost

$ qhost -F vendor,scratch,memory

Page 89: Korištenje računalnog klastera Isabella

Zaustavljanje poslova

• Naredba

• Moguće zaustaviti sve poslove korisnika

• Za zaglavljene poslove koristiti prisilno zaustavljanje

Korištenje računalnog klastera Isabella

$ qdel <jobID>

$ qdel –u <user>

$ qdel –f <jobID>

Page 90: Korištenje računalnog klastera Isabella

Privremeno zaustavljanje poslova

• Privremeno zaustavljanje poslova u redu

• Naredba

• Nema utjecaja za aktivne poslove

Korištenje računalnog klastera Isabella

$ qhold <jobID>

$ qrls <jobID>

Page 91: Korištenje računalnog klastera Isabella

Privremeno zaustavljanje poslova

• Korisno prilikom ponavljanja izvođenja• ukoliko je potrebno izmijeniti parametre posla

• npr. izmjena resursa

• Izmjene parametara kod ponavljanja izvođenja• privremeno zaustaviti posao (qhold)

• pokrenuti ponovno raspoređivanje posla (qmod –r)

• izmijeniti parametre (qalter)

• nastaviti izvođenje posla (qrls)

Korištenje računalnog klastera Isabella

Page 92: Korištenje računalnog klastera Isabella

Ponovno izvođenje poslova

• Ponovno raspoređivanje posla

• aktivni posao se zaustavlja i vraća u red poslova

• kada je čvor na kojem se posao izvodio nedostupan

• prethodno koristiti qhold ako se ne želi odmah ponoviti izvođenje posla

• Ponovno izvođenje posla

• podnosi se kopija posla

Korištenje računalnog klastera Isabella

$ qmod –r <jobID>

$ qmod –f –r <jobID>

$ qrerun <jobID>

Page 93: Korištenje računalnog klastera Isabella

Izmjena parametara posla

• Naredba

• Primjer

• onemogućiti automatsko ponovno izvođenje posla

• onemogućiti slanje email obavijesti

Korištenje računalnog klastera Isabella

$ qalter <options> <jobId>

$ qalter –r n –m n <jobId>

Page 94: Korištenje računalnog klastera Isabella

Informacije o poslovima

• Dohvat podataka o završenim poslovima• moguće koristiti isključivo za završene poslove

• Naredba

• Primjeri

• detaljne informacije o poslu <jobId>

• detaljne informacije o svim poslovima (velika količina podataka)

Korištenje računalnog klastera Isabella

$ qacct <options>

$ qacct –j <jobId>

$ qacct –j

Page 95: Korištenje računalnog klastera Isabella

Informacije o poslovima

• prikaz informacija o svim poslovima definiranog korisnika

• prikaz sažetka potrošnje definiranog korisnika• ako se ne definira <user> prikazuju se podaci za sve korisnike

• prikaz sažetka svih poslova koji su koristili definirani broj procesora• ako se ne definira <count> prikazuju se podaci za sve vrijednosti

Korištenje računalnog klastera Isabella

$ qacct –j –o <user>

$ qacct –o <user>

$ qacct –slots [<count>]

Page 96: Korištenje računalnog klastera Isabella

Informacije o poslovima

• prikaz informacija o svim poslovima za definirani projekt

• prikaz sažetka potrošnje definiranog projekta• ako se ne definira <projekt> prikazuju se podaci za sve projekt

Korištenje računalnog klastera Isabella

$ qacct –j –P <projekt>

$ qacct –P <projekt>

Page 97: Korištenje računalnog klastera Isabella

Informacije o poslovima

• prikaz informacija o svim poslovima za definirani red poslova

• prikaz sažetka potrošnje definiranog reda poslova• ako se ne definira <red> prikazuju se podaci za sve projekt

Korištenje računalnog klastera Isabella

$ qacct –j –q <red>

$ qacct –q <red>

Page 98: Korištenje računalnog klastera Isabella

Raspodijeljeni datotečni sustav BeeGFS

Korištenje računalnog klastera Isabella

Page 99: Korištenje računalnog klastera Isabella

BeeGFS

• Raspodijeljeni podatkovni sustav

• Razvijen od strane Fraunhofer Institute for Industrial Mathematics (ITWM)

• inicijalno razvijen 2005. za potrebe HPC (engl. High PerformanceComputing) klastera

• Prethodno ime FhGFS• engl. Fraunhofer Gesellschaft File System

• 2014. objavljeno novo ime i osnovan spin-off ThinkParQ

• Komercijalna programska potpora• dostupan je besplatno ili uz plaćanje podrške

• neke funkcionalnosti zahtijevaju plaćanje podrške

Korištenje računalnog klastera Isabella

Page 100: Korištenje računalnog klastera Isabella

BeeGFS

• Operacijski sustavi• Red Hat Linux 5, 6 i 7

• Suse Linux 11 i 12

• Debian Linux 7 i 8

• Datotečni sustavi za pohranu podataka• XFS - preporučeni sustav za podatkovni servis

• ext4 - preporučeni sustav za imenički servis

• drugi datotečni sustavi sukladni specifikaciji POSIX (ext3, ext4, RaiserFS)

• Mrežne tehnologije• Ethernet (1Gb/s i 10Gb/s)

• Infiniband (RDMA)

Korištenje računalnog klastera Isabella

Page 101: Korištenje računalnog klastera Isabella

Arhitektura

Korištenje računalnog klastera Isabella

Page 102: Korištenje računalnog klastera Isabella

BeeGFS u Srcu

• Klaster Isabella i CRO NGI• statistike: http://www.cro-ngi.hr/crongi_stats/

• Korisnički direktorij (home)• ukupno 110 TB

• 4 podatkovna poslužitelja

• 1 imenički servis

• iSCSI spremišni element

• 1 Gb/s Ethernet

• koristiti za ulazne i izlazne podatke

Korištenje računalnog klastera Isabella

Page 103: Korištenje računalnog klastera Isabella

BeeGFS u Srcu

• Direktorij za pohranu privremenih datoteka (scratch)• učinkovit rad s velikim datotekama

• ukupno 90 TB

• 4 podatkovna poslužitelja

• 4 imenička servisa

• 40 i 56 Gb/s Infiniband

• koristiti za velike privremene podatke

Korištenje računalnog klastera Isabella

Page 104: Korištenje računalnog klastera Isabella

BeeGFS

Korištenje računalnog klastera Isabella

Page 105: Korištenje računalnog klastera Isabella

BeeGFS

Korištenje računalnog klastera Isabella

Page 106: Korištenje računalnog klastera Isabella

Korisne naredbe

• Provjera dostupnosti servisa

• Provjera iskorištenja direktorija svih servisa

Korištenje računalnog klastera Isabella

beegfs-check-servers -p /beegfs

beegfs-df -p /beegfs

Page 107: Korištenje računalnog klastera Isabella

Sustavi korišteni u prošlosti

• GlusterFS• CRO NGI

• podatkovne usluge Filesender, GSS, JKP

• ukupno preko 200 TB prostora

• napušten zbog slabije učinkovitosti od BeeGFS-a i ujednačavanja raspodijeljenih podatkovnih sustava

• Lustre• klaster Isabella

• 6 poslužitelja (2 MDS, 2 OSS, 2 mosta između mreža Infiniband i Ethernet)

• visoka dostupnost (Heartbeat)

• napušten zbog složenosti održavanja, korištenja nestandardne jezgre i prestanka održavanja od strane Oraclea

Korištenje računalnog klastera Isabella

Page 108: Korištenje računalnog klastera Isabella

Sustavi korišteni u prošlosti

• GFS• klaster Isabella i CRO NGI

• klasterski datotečni sustav

• omogućava pristup istom logičkom disku na spremišnom sustavu s više poslužitelja

• napušten zbog loše učinkovitosti

• NFS• klaster Isabella i CRO NGI

• korisnički direktorij (home)

• napušten zbog loše učinkovitosti pri velikom opterećenju

• još uvijek se koristi na manjim klasterima

Korištenje računalnog klastera Isabella

Page 109: Korištenje računalnog klastera Isabella

Sustavi za nadzor

Korištenje računalnog klastera Isabella

Page 110: Korištenje računalnog klastera Isabella

Ganglia

• Sustav za nadzor• prikuplja informacije o čvorovima

• razmjenjuje informacije između frontenda i čvorova

• arhivira podatke

• Web sučelje• prikaz grafova pojedinih parametara (CPU, memorija, mreža, disk)

• povijest: sat, dan, mjesec, godina

• http://tannat.srce.hr/ganglia

Korištenje računalnog klastera Isabella

Page 111: Korištenje računalnog klastera Isabella

Ganglia

Korištenje računalnog klastera Isabella

Page 112: Korištenje računalnog klastera Isabella

Statistike o korištenju

• Stranica Srca• podaci iz sustava za nadzor Zabbix i Son of Grid Engine

• http://tannat.srce.hr/acc/

Korištenje računalnog klastera Isabella

Page 113: Korištenje računalnog klastera Isabella

PHPQstat

• Web aplikacija za prikaz aktivnih poslova

• Web prikaz ispisa iz naredbi• qhost

• qstat

• Moguće je filtriranje po korisniku

• http://tannat.srce.hr/PHPQstat/

Korištenje računalnog klastera Isabella

Page 114: Korištenje računalnog klastera Isabella

Reference

• Sun of Grid Engine• dokumentacija: http://arc.liv.ac.uk/SGE/howto/

• mailing lista http://gridengine.org/mailman/listinfo/users

• man stranice naredbi

• BeeGFS• http://www.beegfs.com/content/

• Ganglia• http://ganglia.info

Korištenje računalnog klastera Isabella

Page 115: Korištenje računalnog klastera Isabella

Srce politikom otvorenog pristupa široj javnosti

osigurava dostupnost i korištenje svih rezultata rada

Srca, a prvenstveno obrazovnih i stručnih informacija

i sadržaja nastalih djelovanjem i radom Srca.

Ovo djelo je dano na korištenje pod licencom

Creative Commons Imenovanje-Nekomercijalno

4.0 međunarodna.

www.srce.unizg.hr creativecommons.org/licenses/by-nc/4.0/deed.hr www.srce.unizg.hr/otvoreni-pristup

Hvala na pažnji!

Pitanja?