Menedżer obciążeń Slurm
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 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:
- IBM BlueGene / Q, w tym IBM Sequoia o mocy 20 petaflopów
- Cray XT, XE i Cascade
- Tianhe-2 system 33,9 petaflopów z 32 000 chipami Intel Ivy Bridge i 48 000 chipami Intel Xeon Phi z łącznie 3,1 milionami rdzeni
- Środowisko równoległe IBM
- Anton
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ż
- Harmonogram zadań i kolejkowanie wsadowe dla klastrów
- Gromada Beowulfa
- Harmonogram klastra Maui
- Zasoby aplikacji klastrowych Open Source (OSCAR)
- MOMENT OBROTOWY
- Silnik siatki Univa
- Platforma LSF
Dalsza lektura
- Balle, Susanne M.; Palermo, Daniel J. (2008). Ulepszanie Menedżera zasobów Open Source dzięki obsłudze wielordzeniowej/wielowątkowej . Strategie planowania zadań dla przetwarzania równoległego. Notatki z wykładów z informatyki . Tom. 4942. str. 37. doi : 10.1007/978-3-540-78699-3_3 . ISBN 978-3-540-78698-6 .
- Jette, M.; Grondona, M. (czerwiec 2003). „SLURM: proste narzędzie Linux do zarządzania zasobami” (PDF) . Materiały z konferencji i wystawy ClusterWorld . San José w Kalifornii.
-
Layton, Jeffrey B. (5 lutego 2009). „Caos NSA i Perceus: kompleksowy stos oprogramowania klastrowego” . Magazyn Linuksa . Zarchiwizowane od oryginału w dniu 11 lutego 2009 r.
{{ cite journal }}
: CS1 maint: unfit URL ( link ) - Yoo, Andy B.; Jette, Morris A.; Grondona, Mark (2003). SLURM: Proste narzędzie Linux do zarządzania zasobami . Strategie planowania zadań dla przetwarzania równoległego. Notatki z wykładów z informatyki. Tom. 2862. s. 44 . CiteSeerX 10.1.1.10.6834 . doi : 10.1007/10968987_3 . ISBN 978-3-540-20405-3 .