SLURM (Simple Linux Utility for Resource Management), büyük veya küçük ayrım olmaksızın Linux cluster’ları için açık kaynak kodlu, hataya dayanıklı ve yüksek ölçeklenebilir bir cluster yönetimi ve iş planlama sistemidir. Çekirdek değişikliği gerektirmediği için yazılım uyumsuzluk sorunlarına yol açmaz; dünyanın en büyük süper bilgisayarlarından on-prem ar-ge cluster’larına kadar geniş bir yelpazede kullanılır.
Temel Fonksiyonlar
SLURM iş yükü planlayıcısı olarak üç temel fonksiyona sahiptir:
- Kullanıcılara, işleri çalıştırabilmeleri için hesaplama düğümlerine belirli bir süre boyunca özel veya paylaşımlı erişim sağlar.
- Kullanıcıların tahsis edilen düğümler üzerinde işi başlatmasını, yürütmesini ve izlemesini mümkün kılar.
- Hesaplama kaynakları üzerinde bekleyen iş kuyruğunu yönetir.
İsteğe Bağlı Eklentiler
- Muhasebe — kullanıcı/proje bazında kullanım kayıtları ve faturalandırma
- Gelişmiş kaynak rezervasyonu — bakım pencereleri ve özel iş yükleri için
- Paralel işler için zaman paylaşımı
- Topoloji optimizasyonlu kaynak seçimi — InfiniBand fat-tree, dragonfly vb.
- Dolgu (backfill) planlaması
- Kullanıcı veya banka hesabına göre kaynak limitleri
- Çok faktörlü iş önceliklendirme algoritmaları
Mimari
SLURM, kaynakları ve çalışmaları izlemek için merkezi bir yöneticiye sahiptir. Mimarinize göre arıza durumunda devreye girecek bir yedekleme yöneticisi de yapılandırabilirsiniz; böylece cluster üzerinde kesintiye uğramadan işleriniz çalışmaya devam eder.
Her hesaplama sunucusunda; uzak shell ile karşılaştırılabilen, iş bekleyen / yürüten / durumu raporlayan bir slurmd daemon’u vardır. Slurmd istemcileri hataya dayanıklı hiyerarşik iletişim sağlar.
Birden fazla SLURM tarafından yönetilen cluster için kullanım ve kullanıcı istatistiklerini tek veritabanında toplamak isteyenler için isteğe bağlı bir slurmdbd (SLURM Database Daemon) bileşeni mevcuttur.
Yetenekleri
Kullanıcı Komutları
SLURM, son kullanıcı için sade ve güçlü bir komut seti sunar:
| Komut | Açıklama |
|---|---|
srun | İşleri başlatır (etkileşimli veya batch) |
sbatch | Batch iş betiklerini kuyruğa gönderir |
scancel | Sıraya alınan veya çalışan işleri sonlandırır |
sinfo | Sistem durumunu (partition/node) raporlar |
squeue | İşlerin durumunu raporlar |
sacct | Çalışan veya tamamlanmış işler ile iş adımları hakkında bilgi verir |
smap / sview | Ağ topolojisi dahil sistem ve iş durumunu grafik olarak gösterir |
Yönetici Araçları
Cluster yöneticileri için:
scontrol— yapılandırma ve durum bilgilerini izleme/değiştirmesacctmgr— muhasebe veritabanını yönetme (kullanıcılar, hesaplar, limitler)
Birlikte kullanıldığında çalışma zamanı politikaları, kuyruk yapılandırmaları ve kaynak tahsis kuralları üzerinde tam kontrol sağlanır.
Ölçeklenebilirlik & Hataya Dayanıklılık
- Tek SLURM kontrolcüsü on binlerce hesaplama düğümünü yönetebilir
- Yedek (backup) kontrolcü ile failover desteği
- Hiyerarşik iletişim sayesinde tek bir noktanın darboğaza dönüşmesi engellenir
- Plugin tabanlı mimari — kuyruk algoritmaları, hesaplama yöntemleri ve topoloji modelleri için modüler genişletme
Top500 listesindeki süper bilgisayarların önemli bir kısmı SLURM kullanır.
Güç Yönetimi & Kaynak Politikaları
- Kullanıcı, grup, proje ve hesap bazında fair-share önceliklendirme
- GPU/GRES (Generic Resource) ile gelişmiş kaynak modelleme
- Düğüm bazında enerji tasarrufu (idle nodes power-down)
- QoS (Quality of Service) sınıfları ile farklı SLA seviyeleri
Lisanslama & Destek
SLURM açık kaynaktır (GPL-2). Mevasis, kurumsal SLURM kurulumu, yapılandırması, sürüm geçişi, eklenti geliştirme ve 7/24 teknik destek hizmetleri sunar. Bizimle iletişime geçebilirsiniz.