Menedżer obciążeń Slurm

slums
Deweloperzy SchedMD
Wersja stabilna
Magazyn
Napisane w C
System operacyjny Linux , BSD
Typ Harmonogram zadań dla klastrów i superkomputerów
Licencja Powszechna Licencja Publiczna GNU
Strona internetowa slurm .schedmd .com

Slurm Workload Manager , wcześniej znany jako Simple Linux Utility for Resource Management ( SLURM ) lub po prostu Slurm , to darmowy program do planowania zadań typu open source dla jąder Linux i uniksopodobnych , używany przez wiele ś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 w celu wykonywania przez nich pracy,
  • 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
  • arbitraż rywalizacji o zasoby poprzez zarządzanie kolejką oczekujących zadań.

Slurm zarządza obciążeniem około 60% superkomputerów TOP500 .

Slurm wykorzystuje algorytm najlepszego dopasowania oparty na harmonogramowaniu krzywej Hilberta lub topologii sieci typu fat tree w celu optymalizacji lokalizacji przydziału 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żer zasobów wolnego oprogramowania. Został zainspirowany zamkniętym kodem źródłowym Quadrics RMS i ma podobną składnię. Nazwa jest nawiązaniem do napoju gazowanego w Futuramie . W projekt zaangażowało się ponad 100 osób z całego świata. Od tego czasu przekształcił się w wyrafinowany harmonogram wsadowy, który może zaspokoić wymagania wielu dużych centrów komputerowych.

Według stanu na listopad 2021 r. Lista TOP500 najpotężniejszych komputerów na świecie wskazuje, że Slurm jest menedżerem obciążenia w ponad połowie z dziesięciu najlepszych systemów.

Struktura

Projekt Slurm jest bardzo modułowy z około 100 opcjonalnymi wtyczkami. W najprostszej konfiguracji można go zainstalować i skonfigurować w ciągu kilku minut. Bardziej wyrafinowane konfiguracje zapewniają integrację z bazą danych w celu rozliczania, zarządzania limitami zasobów i ustalania priorytetów obciążenia.

Cechy

Funkcje Slurm obejmują: [ potrzebne źródło ]

  • 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 zgłoszeń na sekundę i 600 wykonań zadań na sekundę)
  • Wolne i otwarte oprogramowanie ( Powszechna Licencja Publiczna GNU )
  • Wysoce konfigurowalny z około 100 wtyczkami
  • Harmonogram sprawiedliwego podziału z hierarchicznymi rachunkami bankowymi
  • Planowanie z wyprzedzeniem i zespołowe (podział czasu na równoległe zadania)
  • Zintegrowany z bazą danych do rozliczania i konfiguracji
  • Alokacje zasobów zoptymalizowane pod kątem topologii sieci i topologii węzłów (gniazda, rdzenie i hiperwątki)
  • Zaawansowana rezerwacja
  • Bezczynne węzły można wyłączyć
  • Dla każdego zadania można uruchomić różne systemy operacyjne
  • Planowanie zasobów ogólnych (np. jednostka przetwarzania grafiki )
  • Rozliczanie w czasie rzeczywistym aż do poziomu zadania (zidentyfikuj określone zadania 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)
  • Obsługa tablic zadań
  • Profilowanie zadań (okresowe próbkowanie użycia procesora, pamięci, zużycia energii, sieci i systemu plików)
  • Zaawansowane wieloczynnikowe algorytmy ustalania priorytetów zadań
  • Wsparcie dla MapReduce+
  • Obsługa bufora burst , który przyspiesza przenoszenie danych naukowych

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

  • Ulepszona struktura danych tablicy zadań i skalowalność
  • Obsługa heterogenicznych zasobów ogólnych
  • Dodaj opcje użytkownika, aby ustawić zarządcę procesora
  • Polityka automatycznego ponownego kolejkowania zadań na podstawie wartości wyjściowej
  • Zgłaszaj użycie interfejsu API według użytkownika, typu, liczby i zużytego czasu
  • Węzły bram komunikacyjnych 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 komputerów, w tym:

Licencja

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

Wsparcie komercyjne

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

Zobacz też

Dalsza lektura

Linki zewnętrzne