Views

PBS na Cray X1e

From Centrum Komputerów Dużej Mocy, ICM Uniwersytet Warszawski

Jump to: navigation, search
Poradnik
Konto użytkownika  • Poczta elektroniczna  • Korzystanie z SSH  • Systemy kolejkowe: PBS (Klaster halo2), LoadLeveler (BlueGene/P notos)
Programowanie
Kompilatory: C/C++, Fortran  • Programowanie równoległe: OpenMP, MPI, UPC, CAF, SHMEM, pthreads  • Biblioteki numeryczne: BLAS, LAPACK, FFTW
Optymalizacja
Uruchamianie i optymalizacja kodów na architekturze Blue Gene/P  • Uruchamianie i optymalizacja kodów na halo2
Krok po kroku
Logowanie do ICM (Windows)  • Logowanie do ICM (UNIX)  • MPI (Klaster halo2)  • MPI (BlueGene/P notos)
Wszystkie "Krok po kroku"
Dokumentacja

System kolejkowy PBS Pro instalowany komputerach Cray X1e (u nas tornado) ma kilka istotnych, wartych omówienia cech. Proszę traktować tę stronę jako uzupełnienie informacji umieszczonych na stronie poświęconej systemowi PBS.

Architektura sprzetowa i jej ograniczenia

Cray X1 nie posiada odpowiednika procesora znanego z innych serwerow, lecz sklada sie z rozdzielnych plyt sprzetowych. Na kazdej plycie znajduja sie cztery MSPs (multistreaming processors) zawierajace po dalsze cztery SSPs (single-streaming processors) kazdy. Oznacza to, ze mozemy traktowac "procesory" Craya X1 lub jako "procesory" o czterech watkach kazdy (MSP) z bardzo szybka komunikacja pomiedzy tymi watkami (ktore w rzeczywistosci sa scalonymi czterema "procesorami" SSP), lub jako zbior rozdzielnych "procesorow" jednowatkowych (SSP). Dodatkowo w kazdej plycie znajduje sie 16 Gb RAM. Jako, ze zadania sekwencyjne maja dostep tylko do zasoow plyty sprzetowej, na ktorej sie wykonuja, wlasnie 4 MSPs lub 16 SSPs oraz 16 GB RAM sa limitem maksymalnie dostepnych zasobow. Zastosowaniem, do ktorego Cray X1 zostal zaprojektowany, sa zadania mpi-owe. Dla ich wykonania system operacyjny wirtualnie "scala" calosc dostepnych zasobow tworzac ciagla przestrzen adresowa i prezentujac sie jako jeden monolit o zasobach rownych zasobom wszystkich plyt w sumie. Ze wstepu tego wynikaja nastepujace przeslanki:

  • zadania sekwencyjne (czyli bez wykorzystania mpi-a) sa ograniczne do zasobow jednej plyty sprzetowej
  • zadania mpi-owe sa ograniczone do calosci zasobow sprzetowych serwera
  • wielowatkowe zadanie w ramach jednego MSP (czyli 4 SSP na tym samym MSP) wykonuje sie szybciej niz przy wykorzystaniu 4 SSP pochodzacych z roznych MSP - z wyjatkiem sytuacji calkowitego braku wspolnych zasobow pomiedzy procesami oraz komunikacji miedzy nimi

Wprowadzenie do systemu kolejkowania

Ze wzgledu na architekture systemu mozliwe jest specyfikowanie zasobow na dwa sposoby: albo pod wzgledem ilosci wymaganych MSPs (czyli SSPs razy cztery z gwarancja otrzymania w calosci wolnych MSPs), albo pod wzgledem wymaganych SSPs (czyli pojedynczych SSPs rozproszonych pomiedzy dostepnymi MSPs). W obu przypadkach kluczowa role odgrywa parametr cput okreslajacy calkowity czas wykonywania zadania. Przy jego kalkulacji waga procesu w trybie MSP jest cztery razy wieksza niz waga zadania w trybie SSP, czyli klakulacja przebiega wedlug wzoru: 4*(suma czasow dla kazdego wykorzystywanego MSP)+(suma czasow dla kazdego wykorzystywanego SSP). Oznacza to, ze X godzin cput moze oznaczac zarowno X/4 sumy czasow cpu MSPs, X sumy czasow SSPs lub tez X/8 sumy czasow SSPs oraz X/2 sumy czasow SSPs (bo 4*X/8+X/2=X) w obrebie jednego zadania. Z powyzszego wynikaja nastepujace wnioski:

  • przydzielenie jednego MSP z punktu widzenia systemu kolejkowania oznacza przydzielenie 4 SSPs na jednym MSP
  • przydzielenie czterech SSPs z punktu widzenia kolejkowania nie oznacza przydzielenia jednego MSP, gdyz SSPs znajduja sie w roznych MSP's (choc oczywiscie mozliwe jest, ze przypadkowo beda w obrebie jednego MSP)
  • calkowity czas zadania (cput) liczony jest wedlug wzoru 4*(suma czasow procesow w trybie MSP)+(suma czasow procesow w trybie SSP)

Przyklad wykorzystania systemu kolejkowania

#!/bin/csh
#PBS -N test
#PBS -l mppe=2
#PBS -l mppssp=8
#PBS -l cput=24:00:00

cd /tmpx/workdir
echo "Starting program at " `date`
mpirun -n 2 ./program
echo "Finished at " `date`

Oznacza to, ze zadanie o nazwie test (-N test) moze zawierac maksymalnie dwa procesy w trybie MSP (-l mppe=2) lub 8 w trybie SSP (-l mppssp=8) albo tez dowolna ich mieszanke przy przeliczeniu 1 MSP = 4 SSP (ale nie 4 SSP = 1 MSP, gdyz nie ma gwarancji, ze SSPs znajduja sie fizycznie w obrebie tego samego MSP), a suma czasu wszystkich procesow w zadaniu moze wyniesc maksimum 24 godziny (-l cput=24:00:00), gdzie czas wykorzystany liczy sie wedlug wzoru 4*(suma czasu procesow w trybie MSP)+(suma czasow procesow w trybie SSP).

W przypadku zapotrzebowania tylko na MSPs lub SSPs nalezy uzyc odpowiednio opcji mppe lub mppssp.

Pelny zestaw mozliwych do wyspecyfikowania zasobow znajduje sie na tornado na odpowiedniej stronie manuala (man pbs_resources_unicosmp).


Image:error.png Uwaga, ta strona jest w budowie. Z czasem jej zawartość zostanie uzupełniona. Przepraszamy i prosimy o cierpliwość.