Čia yra sena dokumento versija!
Turinys
Įrangos aprašymas
Paskirstytų skaičiavimų tinklas (PST) yra specialiai paruoštas kompiuterių tinklas, kuriame yra galimybė vykdyti programas, kurios galėtų efektyviai apsikeisti duomenimis.
Vyksta TESTAVIMAS iki 2021m spalio 31d, galite naudotis, bet nėra garantuojamas duomenų išsaugojimas.
VU MIF PST sudaro superkompiuteris iš telkinių (pirmas skaičius - faktiškai pasiekiamas kiekis):
Pavadinimas | Mazgai | CPU | GPU | RAM | HDD | Tinklas | Pastabos |
---|---|---|---|---|---|---|---|
main | 35/36 | 48 | 0 | 384GiB | 0 | 1Gbit/s, 2x10Gbit/s, 4xEDR(100Gbit/s) infiniband | CPU |
gpu | 3/3 | 40 | 8 | 512GB/32GB | 7TB | 2x10Gbit/s, 4xEDR(100Gbit/s) infiniband | CPU NVIDIA DGX-1 |
power | 2/2 | 32 | 4 | 1024GB/32GB | 1.8TB | 2x10Gbit/s, 4xEDR(100Gbit/s) infiniband | IBM Power System AC922 |
Iš viso 40/41 mazgų, 1912 CPU cores su 17TB RAM, 32 GPU su 1TB RAM.
Toliau tekste procesorius = CPU = core - procesoriaus vienas branduolys (su visomis hypergijomis, jei jos yra įjungtos).
Programinė įranga
main ir gpu yra instaliuota Qlustar 11 operacinė sistema (OS) su Linux branduoliu. Ji yra sukurta Ubuntu 18.04 LTS pagrindu. power yra instaliuota Ubuntu 18.04 LTS.
Instaliuotų OS paketų sąrašą galite pasitikrinti su komanda dpkg -l
(prisijungimo mazge hpc arba power mazguose).
Su komanda singularity galima pasinaudoti jau paruoštomis konteinerių failų kopijomis kataloguose /apps/local/hpc
, /apps/local/nvidia
, /apps/local/intel
arba pačiam atsisiųsti iš singularity ir docker internetinių katalogų. Pasinaudojus MIF cloud paslauga galima susikurti ir savo singularity konteinerius.
Kataloge /apps/local/bigdata
yra paruošti scenarijai pasileisti savo hadoop užduotis pasinaudojant Magpie rinkiniu.
Su JupyterHub galite interneto naršyklės pagalba vykdyti skaičiavimus su python komandų eilute ir pasinaudoti JupyterLab aplinka.
Registracija
PST gali naudotis tik registruoti VU MIF kompiuterių tinklo naudotojai. Esami VU MIF tinklo naudotojai PST gali naudotis be papildomos registracijos.
Registracijai reikia užpildyti ITAPC paslaugų užsakymo formą ir pateikti ten nurodytu adresu. Paraišką patenkinus, suteikiamas VU MIF kompiuterių tinklo naudotojo vardas. Jei esate VU darbuotojas ar studentas ir registracijos metu nurodėte savo VU el. pašto adresą. Tada įvesti savo pradinį slaptažodį, galite per pamiršto slaptažodžio pakeitimo procedūrą, naudodami VU E.tapatybės duomenis. Kitu atveju teks atvykti į VU MIF Didlaukio g. 47, 302/304 kab. darbo metu, dėl tikslaus laiko galite pasitikslinti tel. 8 5219 5005 arba 8 5219 5006.
Su suteiktu (pasirinktu) naudotojo vardu ir savo įvestu slaptažodžiu įgyjama teisė jungtis prie serverio uosis.mif.vu.lt, VU MIF mokymo klasių ir dalies VU MIF darbo vietų kompiuterių.
Adresu Waldur yra savitarnos portalas, kur su savo universiteto (eduGAIN arba LITNET tinkle) prisijungimu galima pačiam susikurti VU MIF HPC prisijungimą ir prašyti gauti prieigą prie šių resursų.
Prisijungimas
Norint prisijungti prie PST reikia naudoti SSH programas (ssh, putty, winscp, mobaxterm) ir Kerberos arba SSH raktų autentikaciją.
Jeigu naudojate Kerberos:
- Prisijungiate į Linux aplinką VU MIF klasėje arba viešame terminale savo VU MIF naudotojo vardu ir slaptažodžiu
- arba su ssh ar putty programa prisijungiate į uosis.mif.vu.lt savo VU MIF naudotojo vardu ir slaptažodžiu.
- Su komanda klist patikrinkite ar turite galiojantį Kerberos raktą (ticket). Jei rakto nėra arba jo galiojimo laikas pasibaigęs, tai reikia įvykdyti komandą kinit.
- Jungiatės į mazgą hpc su komanda ssh hpc (turi nereikalauti slaptažodžio).
- Pirmą kartą prisijungus turi praeiti 5min, kad galėtumėte naudotis PST.
Jeigu naudojate SSH raktus (pvz: jei norite kopijuoti didelius failus):
- Jei neturite SSH raktų, instrukciją kaip juos susikurti Windows aplinkoje rasite čia
- Prieš naudodami šį būdą, reikia bent kartą prisijungti su Kerberos ir PST failų sistemoje susikurti
~/.ssh
katalogą ir į jį įdėti savo ssh viešąjį raktą (OpenSSH formatu) į failą~/.ssh/authorized_keys
. - Prisijungiate su ssh, sftp, scp, putty, winscp ar kitomis ssh protokolą palaikančiomis programomis į hpc.mif.vu.lt su savo ssh privačiu raktu nurodydami savo VU MIF naudotojo vardą (turi nereikalauti prisijungimo slaptažodžio, bet gali reikalauti jūsų ssh privataus rakto slaptažodžio).
Bendra failų sistema (Lustre)
VU MIF PST bendra failų sistema yra pasiekiama /scratch/lustre
kataloge.
Joje kiekvienam PST naudotojui yra sukuriamas /scratch/lustre/home/username
katalogas, kur username - PST naudotojo vardas.
Šios failų sistemos failai yra vienodai pasiekiami visuose skaičiavimo mazguose ir mazge hpc.
Prašome šiuos katalogus naudoti tik pagal paskirtį ir atlikus skaičiavimus - išsivalyti.
PST eilės (partition)
Eilė (partition) | Laiko limitas | RAM | Pastabos |
---|---|---|---|
main | 7d | 7000MB | CPU telkinys |
gpu | 48h | 12000MB | GPU telkinys |
power | 48h | 2000MB | IBM Power9 telkinys |
Visose eilėse užduotims laiko limitas yra 2h, jei jis nebuvo nurodytas, o lentelėje yra pateiktas maksimalus leidžiamas laiko limitas.
RAM stulpelyje yra pateikiamas kiekvienam rezervuotam CPU branduoliui skiriamas RAM kiekis.
Paketinis užduočių vykdymas (SLURM)
Norint pasinaudoti PST skaičiavimo resursais, reikia formuoti užduočių scenarijus (sh arba csh).
Pavyzdys:
- mpi-test-job.sh
#!/bin/sh #SBATCH -p main #SBATCH -n4 module load openmpi/default mpicc -o mpi-test mpi-test.c mpirun mpi-test
Jame kaip specialūs komentarai yra nurodymai užduočių vykdytojui. -p short - į kokią eilę siųsti (main, gpu, power). -n4 - kiek procesorių rezervuoti.
Užduoties pradinis einamasis katalogas yra dabartinis katalogas (pwd) prisijungimo mazge iš kur paleidžiama užduotis, nebent parametru -D pakeistas į kitą. Pradiniam einamajam katalogui naudokite PST bendros failų sistemos katalogus /scratch/lustre, nes jis turi egzistuoti skaičiavimo mazge ir ten yra kuriamas užduoties išvesties failas slurm-JOBID.out, nebent nukreiptas kitur parametrais -o arba -i (jiems irgi patariama naudoti bendrą failų sistemą).
Suformuotą scenarijų siunčiame su komanda sbatch
$ sbatch mpi-test-job
kuri gražina pateiktos užduoties numerį JOBID.
Laukiančios arba vykdomos užduoties būseną galima sužinoti su komanda squeue
$ squeue -j JOBID
Su komanda scancel galima nutraukti užduoties vykdymą arba išimti ją iš eilės
$ scancel JOBID
Jeigu neatsimenate savo užduočių JOBID, tai galite pasižiūrėti su komanda squeue
$ squeue
Užbaigtų užduočių squeue jau neberodo.
Jeigu nurodytas procesorių kiekis nėra pasiekiamas, tai jūsų užduotis yra įterpiama į eilę. Joje ji bus kol atsilaisvins pakankamas kiekis procesorių arba kol jūs ją pašalinsite su scancel.
Vykdomos užduoties išvestis (output) yra įrašoma į failą slurm-JOBID.out. Jei nenurodyta kitaip, tai ir klaidų (error) išvestis yra įrašoma į tą patį failą. Failų vardus galima pakeisti su komandos sbatch parametrais -o (nurodyti išvesties failą) ir -e (nurodyti klaidų failą).
Daugiau apie SLURM galimybes galite paskaityti Quick Start User Guide.
Interaktyvios užduotys (SLURM)
Interaktyvias užduotis galima pradėti vykdyti su komanda srun:
$ srun --pty $SHELL
Įvykdę aukščiau pateiktą komandą prisijungsite prie SLURM paskirtos skaičiavimo mazgo aplinkos ir galėsite tiesiogiai vykdyti ir derinti programas jame.
Įvykdę komandas atsijunkite nuo skaičiavimo mazgo su komanda
$ exit
Jeigu norima vykdyti grafines programas, tai reikia jungtis su ssh -X į uosis.mif.vu.lt ir hpc:
$ ssh -X uosis.mif.vu.lt $ ssh -X hpc $ srun --pty $SHELL
GPU užduotys (SLURM)
Norint pasinaudoti GPU, reikia papildomai nurodyti
--gres gpu:N
kur N - norimas GPU kiekis.
Su nvidia-smi
užduotyje galite pasitikrinti kiek GPU buvo paskirta.
Pavyzdys interaktyvios užduoties su 1 GPU:
$ srun -p gpu --gres gpu --pty $SHELL
Įvadas į OpenMPI
Ubuntu 18.04 LTS yra 2.1.1 versijos OpenMPI paketai. Norint pasinaudoti naujesne 4.0.1 versija reikia naudoti
module load openmpi/4.0
prieš vykdant MPI komandas.
MPI programų kompiliavimas
Paprastos MPI programos pavyzdys yra kataloge /scratch/lustre/test/openmpi
. mpicc (mpiCC, mpif77, mpif90, mpifort) yra apvalkalai C (C++, F77, F90, Fortran) kompiliatoriams, kurie automatiškai įtraukia į komandų eilutę reikiamus MPI intarpų (include) ir bibliotekų failus.
$ mpicc -o foo foo.c $ mpif77 -o foo foo.f $ mpif90 -o foo foo.f
MPI programų vykdymas
MPI programos startuojamos su mpirun arba mpiexec programa. Daugiau apie jas galima sužinoti su komanda man mpirun arba man mpiexec.
Paprasta (SPMD) programa gali būti startuojama su tokia mpirun komandų eilute.
$ mpirun foo
Tai naudos visus paskirtus procesorius, pagal tai, kiek jų buvo užsakyta. Jeigu norima pasinaudoti mažiau, tai mpirun galima nurodyti parametrą -np kiekis
. Nepageidaujama ilgesniam laikui naudoti mažiau, nei rezervuota, nes neišnaudoti CPU lieka laisvi. Didesnį kiekį, nei rezervuotą, yra griežtai draudžiama naudoti, nes tai gali turėti įtakos kitų užduočių vykdymui.
Daugiau apie instaliuotą OpenMPI yra OpenMPI puslapyje.
Užduočių efektyvumas
- Prašome išnaudoti ne mažiau 50% užsakyto CPU kiekio.
- Naudoti daugiau CPU, nei užsakyta, nepadidins efektyvumo, nes jūsų užduotis galės naudoti tik tiek CPU, kiek buvo užsakyta.
- Jeigu naudosite parametrą
–mem=X
, tai užduotis gali rezervuoti daugiau CPUs proporcingai norimos atminties kiekiui. Pvz: užsakius–mem=14000
eilėje main, bus užsakyti ne mažiau 2 CPUs, jei kiti parametrai nenurodo daugiau. Jeigu jūsų užduotis naudos mažiau, tai bus neefektyvus resursų naudojimas, be to tai gali veikti lėčiau, nes gali būti naudojama kita, nei vykdančio, procesoriaus atmintis.
Nuorodos
- pagalba@mif.vu.lt - problemų su PST registracija