Page tree
Skip to end of metadata
Go to start of metadata

Podstawowe informacje

PBS Pro to komercyjny system zarządzania zasobami oraz zadaniami użytkowników. Jest on zainstalowany na klastrze Bem w WCSS. Aby z niego skorzystać należy mieć w Portalu aktywne usługi:

  • Dostęp do UI - WCSS,
  • Lokalny dostęp do klastrów WCSS.

Kolejki

Uruchamianie obliczeń poprzez system PBS odbywa się w ramach kolejek, które różnią się między sobą priorytetem, limitami czy prawami dostępu (a czasem również dostępnymi zasobami):

Nazwa kolejkiWłaściwości
plgrid-testing
  • kolejka o wysokim priorytecie przeznaczona do testów
  • limit czasu zadania: 1 h
  • limit zakolejkowanych zadań: 4 per użytkownik
  • limit uruchomionych zadań: 1 per użytkownik
plgrid
  • kolejka na typowe zdania
  • limit czasu zadania: 72 h (3 dni)
plgrid-long
  • kolejka na długie zadania
  • limit czasu: 168 h (7 dni)

Zasoby 

Po wyborze odpowiedniej kolejki należy zadeklarować ilość wymaganych zasobów. Przydział zasobów może odbywać się w jednej, spójnej części (dla zadań szeregowych lub zrównoleglonych w obrębie jednego komputera) lub kilku (dla zadań zrównoleglonych przy użyciu bibliotek MPI).

Deklarację buduje się używając wyrażenia select dla parametru -l polecenia qsub (opisanego w dalszej części). Jej format jest następujący:

select=X:zasób1=wartość1:zasób2=wartość2+Y:zasób3=wartość3:zasób4=wartość4

 gdzie:

  • X - liczba części pierwszego zbioru zasobów
  • zasób1=wartość1:zasób2=wartość2 - opis pierwszego zbioru zasobów
  • Y - liczba części drugiego zbioru zasobów
  • zasób3=wartość3:zasób4=wartość4 - opis drugiego zbioru zasobów

Liczba zbiorów zasobów może być różna (równa 1 lub większa).

Dostępne parametry:

  • ncpus - liczba rdzeni obliczeniowych
    • domyslnie: 1
    • maksymalnie: 24
  • mem - rozmiar pamięci
    • domyślnie: 2000 MB
    • maksymalnie: 125 000 MB (na części węzłów klastra Bem) lub 60 000 MB (na większości węzłów klastra Bem)

Osobnym słowem kluczowym, którego używa się podczas żądania zasobów, jest liczba procesów MPI zadania:

  • mpiprocs - liczba procesów MPI
    • domyślnie: 1
    • maksymalnie: 24

Należy skorzystać z tego parametru, kiedy w jednej części alokacji chcemy uruchomić więcej niż jeden proces MPI.

Przykładowe definicje wymagań

Zadanie uruchamia 4 procesy w obrębie jednego węzła i wymaga 4096 MB RAM (po 1024 MB na proces)

select=1:ncpus=4:mem=4096MB

Zadanie uruchamia 8 procesów MPI, z których każdy wymaga 512 MB RAM

select=8:ncpus=1:mem=512MB

Zadanie uruchamia 32 procesów MPI, po 4 na każdym węźle (i domyślne 1700 MB na każde 4 procesy):

select=8:ncpus=4:mpiprocs=4

Zadanie wymaga 16GB RAM (i jednego rdzenia)

select=1:mem=16GB

Zadanie wymaga 1 karty GPU i 4 GB pamięci

select=1:ngpus=1:mem=4GB

Wstawianie zadań

Do wstawiania zadań do kolejki służy polecenie qsub. Opis zadania powinien być zawarty w skrypcie powłoki. Natępnie taki skrypt przekazywany jest do kolejki jako parametr polecenia qsub (lub na standardowe wejście tej komendy).

Najważniejsze parametry polecenia można znaleźć poniżej:

  • -A - identyfikator grantu (jeżeli nie zostanie podany, zadanie będzie zlecone w ramach grantu domyślnego)
  • -q - wybór kolejki

  • -l specyfikacja wymagań - wartości parametru mogą być następujące
    • select= - opis wymagań
    • software= - informacja o używanym oprogramowaniu

      Proszę korzystać z powyższego parametru, nie jest on obowiązkowy, ale pozwala administratorom sporządzać statystyki wykorzystania aplikacji.

  • -N - nazwa zadania (jej długość nie może przekraczać 12 znaków)
  • -m - włączenie wysyłania powiadomień o zdarzeniach
    • b - o rozpoczęciu zadania
    • e - o zakończeniu zadania
  • -I - zadanie interaktywne (w tym przypadku nie należy przekazywać skryptu)
  • -X - przekierowanie wyświetlania (ma sens w przypadku zadań interaktywnych, wymaga logowania z przekierowaniem wyświetlania)

Cenną cechą programu qsub jest możliwość przekazywania parametrów w skrypcie podanym jako argument, poprzez linie zaczynające się od:

#PBS

Sprawdzanie stanu zadań

Do sprawdzenia stanu kolejki służy polecenie qstat. Można korzystać z następujących jego parametrów:

  • -r - pokazuje uruchomione zadania
  • -i - pokazuje zadania oczekujące
  • -u - pokazuje zadania wybranego użytkownika
  • -f - pokazuje szczegółowe informacje o zadaniach (lub zadaniu, jeżeli podamy jego identyfikator po parametrze)

Usuwanie zadań

Jeżeli z jakiegoś powodu istnieje potrzeba usunięcia zadania - należy skorzystać z polecenia qdel, które przyjmuje jako parametr identyfikator zadania. Można kasować zadania zarówno oczekujące w kolejce jak i uruchomione.

Przykłady

Uruchomienie obliczeń na postawie skryptu

  • zawartość skryptu uruchom.sh

    #!/bin/bash
    #PBS -q plgrid-testing
    #PBS -l select=1:ncpus=2:mem=2048MB
    #PBS -l software=test_qsub
    #PBS -m be
    #PBS -l walltime=6:00:00
    
    # wejscie do katalogu, z ktorego zostalo wstawione zadania
    cd $PBS_O_WORKDIR
     
    # uruchom program
    ./test1 > wynik.txt
    
    
  • wstawienie zadania 

    chmod +x skrypt.sh
    ./skrypt.sh
    

Więcej o poleceniu qsub można znaleźć w manualu - poprzez uruchomienie polecenia man qsub.

  • No labels