Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej

Systemy kolejkowe

Spis treści

Informacje ogólne

Funkcje systemu kolejkowego

  • umożliwienie współdzielenia zasobów w postaci wieloprocesorych komputerów przez wielu użytkowników jednocześnie,
  • rozdział zasobów w sensie przyznawania użytkownikom żądanej ilości zasobów na określony czas,
  • umożliwienie korzystania z aplikacji równoległych przez przydzielanie odpowiedniej liczby procesorów, bez konieczności wyszukiwania wolnych procesorów przez użytkownika
  • szeregowanie zadań według kolejności ich zgłaszania lub innych priorytetów (polityki) ustalonych przez Administratora,
  • kontrola czasu i sposobu korzystania z zasobów i przerywanie zadań, które wyczerpały przydzielone limity,
  • umożliwienie administratorowi definiowania polityki przydzielania zasobów, priorytetów dla użytkowników, itp.
  • udostępnianie informacji o stanie zadań oczekujących i uruchomionych,
  • udostępnianie informacje rozliczeniowych po zakończeniu zadania.

Budowa systemu kolejkowego

W systemach kolejkowym można wyróżnić kilka logicznych modułów:

  • programy klienckie - programy umożliwiające uzytkownikom, wstawianie, monitorowanie i kontrolowanie zadań np: qsub, qstat, qdel w PBS, bsub, bjobs, bkill w LSFie
  • serwer - koordynuje działanie całości, zbiera informacje o systemi, przyjmuje zlecenia od programów klienckich i zwraca odpowiednie informacje,
  • moduł szeregujący (scheduler)- zajmuje się szeregowaniem zadań, przydziałem zasobów, zgodnie z ustaloną polityką, decyduje o kolejności uruchamiania zadań,
  • moduł monitorujący - dostarcza informacji o stanie nodów, zadań, o dostępności zasobów; zazwyczaj na każdym nodzie klastra działa osobny program,
  • moduł wykonawczo-nadzorczy - uruchamia zadania na nodach, kontroluje ich wykonanie, przekazuje wyniki do użytkownika.

Jest to zgrubny podział, systemy kolejkowe mogą zawierać inne również inne elementy. W różnych systemach moduły te mogą być róznie zaimplementowane - np. funkcje kilku modułów mogą być skupione w jednym programie.

Działanie systemu kolejkowego

Schemat działanie systemu kolejkowego może wyglądać następująco:

  • Użytkownik za pomocą odpowiedniej komendy zgłasza zadanie,
  • System sprawdza podstawowe dane związane z żądaniem - nazwę kolejki, specyfikację wymagań. Jeśli są spełnione podstawowe kryteria, zlecenie jest przyjmowane i zapisywane w puli zleceń,
  • Moduł szeregujący okresowao analizuje wszystkie zlecenia. Sprawdza dostępność zasobów, wymagania zadań, przydziela im priorytety zgodnie ze

zdefiniowaną polityką, kieruje do uruchomienia zadania dla których są wystarczające zasoby zgodnie z wyliczonymi priorytetami,

  • Serwer przekazuje zadania gotowe do uruchomienia modułom nadzorczym na nodach,
  • Zadanie jest wykonywane pod kontrolą modułu nadzorczego,
  • Zadanie kończy się lub jest ubijane przez nadzorcę jeśli wyczerpało przyznane limity. Jeśli to konieczne kopiowane są wyniki, wysyłana jest poczta do użytkownika, zadanie jest usuwane z systemu, zapisywane są dane rozliczeniowe

Na komputerach TASK stosowane są dwa systemy kolejkowe: LSF oraz PBS