Menedżer obciążenia pracą Slurm - Slurm Workload Manager

Slurm
Slurm logo.svg
Wersja stabilna
20.02,3, 19.05,7
Magazyn Edytuj to na Wikidata
Napisane w C
System operacyjny Linux , BSD
Rodzaj Harmonogram zadań dla klastrów i superkomputerów
Licencja Powszechna Licencja Publiczna GNU
Stronie internetowej slurm .schedmd .com

Slurm Workload Manager , wcześniej znany jako prosty Linux narzędzia do zarządzania zasobami ( slurm ), albo po prostu slurm , jest darmowy i open-source harmonogramu pracy dla systemów Linux i Unix-like jąder , używane przez wielu światowych superkomputerów i klastrów komputerowych .

Zapewnia trzy kluczowe funkcje:

  • przydzielanie użytkownikom wyłącznego i/lub niewyłącznego dostępu do zasobów (węzłów komputerowych) na określony czas, aby mogli wykonywać pracę,
  • zapewnienie struktury do uruchamiania, wykonywania i monitorowania pracy, zwykle zadania równoległego, takiego jak Message Passing Interface (MPI) na zestawie przydzielonych węzłów, oraz
  • rozstrzyganie rywalizacji o zasoby poprzez zarządzanie kolejką oczekujących zadań.

Slurm jest menedżerem obciążenia na około 60% superkomputerów TOP500 .

Slurm wykorzystuje algorytm najlepszego dopasowania oparty na harmonogramowaniu krzywych Hilberta lub topologii sieci z drzewa tłuszczowego w celu optymalizacji lokalizacji przydziałów zadań na komputerach równoległych.

Historia

Slurm rozpoczął rozwój jako wspólny wysiłek głównie Lawrence Livermore National Laboratory , SchedMD , Linux NetworX, Hewlett-Packard i Groupe Bull jako menedżera zasobów wolnego oprogramowania. Został zainspirowany zamkniętym źródłem Quadrics RMS i ma podobną składnię. Nazwa nawiązuje do sody w Futuramie . Do projektu przyczyniło się ponad 100 osób z całego świata. Od tego czasu ewoluował w wyrafinowany program do planowania wsadowego, zdolny do zaspokojenia wymagań wielu dużych centrów komputerowych.

Według stanu na listopad 2017 r. lista TOP500 najpotężniejszych komputerów na świecie wskazuje, że Slurm jest menedżerem obciążenia w sześciu z dziesięciu najlepszych systemów, w tym Sunway TaihuLight z 10 649 600 rdzeniami obliczeniowymi.

Struktura

Projekt Slurm jest bardzo modułowy i zawiera około 100 opcjonalnych wtyczek. W najprostszej konfiguracji można go zainstalować i skonfigurować w kilka minut. Bardziej wyrafinowane konfiguracje zapewniają integrację bazy danych w celu rozliczania, zarządzania limitami zasobów i priorytetyzacji obciążeń.

Cechy

Funkcje Slurm obejmują:

  • Brak pojedynczego punktu awarii, demony kopii zapasowych, opcje zadań odpornych na awarie
  • Wysoce skalowalny (planuje do 100 000 niezależnych zadań na 100 000 gniazd IBM Sequoia )
  • Wysoka wydajność (do 1000 przesłanych zadań na sekundę i 600 wykonań zadań na sekundę)
  • Wolne i otwarte oprogramowanie ( Powszechna Licencja Publiczna GNU )
  • Wysoce konfigurowalny z około 100 wtyczkami
  • Sprawiedliwe planowanie akcji z hierarchicznymi rachunkami bankowymi
  • Planowanie wywłaszczające i grupowe (podział czasu na zadania równoległe)
  • Zintegrowany z bazą danych do księgowości i konfiguracji
  • Przydział zasobów zoptymalizowany pod kątem topologii sieci i topologii węzłowej (gniazda, rdzenie i hiperwątki)
  • Rezerwacja z wyprzedzeniem
  • Bezczynne węzły można wyłączyć
  • Dla każdego zadania można uruchomić różne systemy operacyjne
  • Harmonogramowanie zasobów ogólnych (np. Jednostka przetwarzania grafiki )
  • Rozliczanie w czasie rzeczywistym do poziomu zadania (identyfikacja określonych zadań o wysokim zużyciu procesora lub pamięci)
  • Limity zasobów według użytkownika lub konta bankowego
  • Rozliczanie zużycia energii według zadań
  • Obsługa środowiska równoległego IBM (PE/POE)
  • Wsparcie dla tablic zadań
  • Profilowanie zadań (okresowe próbkowanie użycia procesora przez każde zadanie, użycie pamięci, zużycie energii, użycie sieci i systemu plików)
  • Zaawansowane wieloczynnikowe algorytmy priorytetyzacji zadań
  • Wsparcie dla MapReduce+
  • Obsługa bufora burst, który przyspiesza ruch danych naukowych

Następujące funkcje zostały ogłoszone w wersji 14.11 Slurm, która została wydana w listopadzie 2014 roku:

  • Ulepszona struktura danych i skalowalność tablicy zadań
  • Wsparcie dla heterogenicznych zasobów generycznych
  • Dodaj opcje użytkownika, aby ustawić regulator CPU
  • Polityka automatycznego żądania pracy na podstawie wartości wyjścia
  • Raportuj użycie interfejsu API według użytkownika, typu, liczby i zużytego czasu
  • Węzły bramy komunikacyjnej poprawiają skalowalność

Obsługiwane platformy

Slurm został opracowany przede wszystkim do pracy z dystrybucjami Linuksa , chociaż istnieje również wsparcie dla kilku innych systemów operacyjnych opartych na POSIX , w tym BSD ( FreeBSD , NetBSD i OpenBSD ). Slurm obsługuje również kilka unikalnych architektur komputerowych, w tym:

  • Modele IBM BlueGene /Q, w tym 20 petaflopów IBM Sequoia
  • Cray XT, XE i Cascade
  • Tianhe-2 system 33,9 petaflop z 32 000 układów Intel Ivy Bridge i 48 000 układów Intel Xeon Phi o łącznej liczbie 3,1 miliona rdzeni
  • Środowisko równoległe IBM
  • Antoni

Licencja

Slurm jest dostępny na licencji GNU General Public License v2 .

Wsparcie handlowe

W 2010 roku twórcy Slurm założyli firmę SchedMD, która utrzymuje źródło kanoniczne, zapewnia rozwój, wsparcie komercyjne na poziomie 3 i usługi szkoleniowe. Wsparcie komercyjne jest również dostępne w firmach Bull, Cray i Science + Computing.

Zobacz też

Bibliografia

Dalsza lektura

Linki zewnętrzne