LSF
System kolejkowania zadań: LSF
Load Sharing Facility (LSF) jest to system szeregowania zadań, którego wprowadzenie umożliwia podział obciążenia zasobów i tworzenie kolejek rozproszonych.
Pakiet LSF składa się z następujących częci:
- LSF Base - zawierający LIM (Load Information Manager) oraz RES (Remote Execution Server)
- LSF Batch - zbiór programów narzędziowych do szeregowania zadań wsadowych dla rozproszonych środowisk heterogenicznych
- LSF JobScheduler - integrator serwerów heterogenicznych dla wsparcia rozproszonych zdarzeń i szeregowania zadań kalendarzowych
- LSF MultiCluster - zawiera zbiór funkcji umożliwiających zgrupowanie komputerów w sieci LAN i WAN
W systemie LSF można uruchamiać zarówno zadania sekwencyjne jak i równoległe w trybie interakcyjnym lub wsadowym. Udostępnia on również narzędzia i biblioteki do rozwoju własnych programów zaimplementowanych w jezyku C oraz
skryptów.
W CI TASK został zdefiniowany klaster gdansk, w skład którego wchodzą dwa serwery galeon i fregata, a klientem jest
kliper. Osobnym klastrem w terminologi LSF'a jest galera, będąca jednocześnie i serwerm i klientem.
Informacje o zdefiniowanym klastrze i jego komputerach można uzyskać używając nastepujących opcji:
- lsinfo - wyświetlenie informacji o konfiguracji LSF'a
- lsid - wyświetlenie nazwy klastra i nazwy komputera zarządzającego
- lsclusters - wyświetlenie informacji o klastrze (nazwa, status, nazw komputera zarządzającego, identyfikator administratora, liczba klientów, liczba serwerów)
- lshosts - wyświetlenie informacji o komputerach zdefiniowanych w danym klastrze (nazwa, typ, model, współczynnik mocy, liczba procesorów, maksymalny rozmiar pamięci, maksymalny rozmiar swap'u, serwer (ok/no), zasoby systemowe)
- lshosts -l host_name - wyświetlenie informacji o komputerze, którego nazwa została podana
- lsload - wyświetlenie informacji o obicšżeniu poszczególnych komputerów (nazwa, status, obciążenie w ciagu ostatnich 15 sekund, obciążenie w ciagu ostatniej minuty, obciążenie w ciagu ostatnich 15 minut, obciążenie procesorów w %, rozmiar przerzuconych blokow danych z pamięci do swap'a, liczba zalogowanych użytkowników, czas podawany w minutach, podczs którego użytkownicy nie korzystali z klawiatury, rozmiar katalogu tymczasowego, rozmiar swap'u, rozmiar pamięci)
- lsmon - wyświetla te same informacje co komenda lsload, ales są one na bieżąco uaktualniane
- xlsmon - monitoring obciążenia komputerów klastra (środowisko graficzne)
Zadania interakcyjne mogą być uruchamiane na dwa sposoby:
- przy użyciu programów lstools, takich jak: lsrun, lsgrun, lsmake
- używając komendy bsub
Zadania wsadowe mogą być uruchamiane w wybranej przez użytkownika kolejce.
Wybierając kolejke należy:
- zwrócić uwage na parametry danej kolejki, w szczególności na czas wykonywania zadania i rozmiar pamięci. Informacje o zdefiniowanych w systemie kolejkach można uzyskać za pomocą komendy bqueues, ktorej opcja -l wyświetla pełną informację o kolejkach.
- sprawdzić, czy można skorzystać z danej kolejki za pomocą komendy bqueues -u user_name.
- sprawdzić, czy można uruchomić zadanie na wybranym komputerze za pomocą komendy bqueues -m host_name.
- upewnić się, czy kolejka jest aktywna.
Do uruchamiania i nadzorowania zadań wsadowych wykorzystywane są
następujące komendy:
- bsub - uruchamianie zadań wsadowych
- bmodify - modyfikacja parametrów uruchomionego zadania
- bjobs - wyświetlenie informacji o danym zadaniu z kolejki
- bqueues - wyświetlenie informacji o zdefiniowanych kolejkach
- bhosts - wyświetlenie informacji o zdefiniowanych serwerach
- bhpart - wyświetlenie informacji o zdefiniowanych partycjach omputerów
- busers - wyświetlenie informacji o danym użytkowniku
- bugroup - wyświetlenie informacji o zdefiniowanych grupach użytkowników i użytkownikach im przypisanych
- bmgroup - wyświetlenie informacji o zdefiniowanych grupach komputerów i komputerach im przypisanych
- bparams - wyświetlenie aktualnych wartości konfiguralnych parametrów LSF Batch'a
- bpeek - wyświetlenie strumienia wyjściowego i błędów danego zadania
- bhist - wyświetlenie historii przebiegu wykonywania zadania
- bkill - wysłanie sygnalu do zadania Unix'owego
- bdel - usunięcie zadania
- bstop - zatrzymanie zadania
- bresume - ponowne uruchomienie zadania