/ Çözümler

SLURM İş Kuyruğu Yöneticisi

SLURM (Simple Linux Utility for Resource Management) kurulumu, yapılandırması ve optimizasyonu. Türkiye'nin en yaygın HPC scheduler çözümü.

SLURM (Simple Linux Utility for Resource Management), günümüzde dünya genelindeki HPC kümelerinin büyük çoğunluğunda kullanılan açık kaynaklı iş kuyruğu yöneticisidir. Birden fazla kullanıcının aynı hesaplama kaynaklarına adil ve verimli biçimde erişmesini sağlayan SLURM, NASA, CERN ve dünyanın en hızlı süperbilgisayarlarından pek çoğunda tercih edilmektedir. Mevasis olarak Türkiye’deki kurumsal ve araştırma HPC kümelerinde SLURM kurulumu, yapılandırması ve uzun vadeli optimizasyonunu sağlıyoruz.

SLURM Nedir ve Neden Gereklidir?

Bir HPC kümesinde onlarca, hatta yüzlerce çekirdek yer alır. Bu kaynakları manuel olarak atamak — hangi kullanıcının hangi düğümde ne zaman çalışacağını elle belirlemek — hem verimsiz hem de yönetilemez bir süreçtir. Kaynak çakışmaları, lisanslı yazılım sınırı aşımları ve kullanıcılar arası adaletsiz dağılım kaçınılmaz hale gelir.

SLURM bu sorunu üç temel işlevle çözer:

  • Kaynak yönetimi: İş gönderen kullanıcının talep ettiği CPU, bellek, GPU ve süre kaynaklarını kuyrukta bekletir; uygun düğüm müsait olduğunda işi otomatik olarak başlatır.
  • Adil çizelgeleme: Kullanıcı ve grup bazında öncelik, hakkaniyet ve kota politikaları uygular; kimsenin kaynakları tekelleştirmesini engeller.
  • Hesap takibi: Her işin ne kadar kaynak tükettiğini, ne kadar sürdüğünü ve hangi kullanıcıya ait olduğunu kayıt altına alır. Bu veri, hem maliyet analizi hem de kapasite planlaması için kullanılır.

Küçük ölçekli bir kurulumda SSH ile doğrudan erişim yeterli görünebilir; ancak kullanıcı sayısı üçü geçtiğinde veya işler saatlerle ölçülen hesaplama süreleri gerektirdiğinde bir iş kuyruğu yöneticisi olmadan verimli çalışmak mümkün değildir.

SLURM Nasıl Çalışır?

SLURM’ün mimarisi birkaç temel bileşenden oluşur:

Temel Bileşenler

BileşenGörev
slurmctldMerkezi kontrol daemon’ı; kuyruk, öncelik ve çizelgeleme kararlarını yönetir
slurmdHer hesaplama düğümünde çalışan agent; işleri başlatır, izler, sonlandırır
slurmdbdVeritabanı daemon’ı; hesap, kullanıcı ve iş geçmişini MariaDB’ye yazar
MUNGEDaemon’lar arası kimlik doğrulama; token tabanlı güvenli iletişim sağlar
squeue/sbatch/srunKullanıcı tarafı araçlar; iş gönderme, sorgulama ve etkileşimli çalıştırma

Tipik İş Akışı

Kullanıcı, işini bir betik dosyasıyla sbatch komutuyla kuyruğa gönderir. SLURM, mevcut kaynakları ve politikaları değerlendirir; uygun düğümü seçer ve işi başlatır. İş tamamlandığında çıktı dosyaları belirlenen dizine yazılır.

#!/bin/bash
#SBATCH --job-name=cfd_sim
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=28
#SBATCH --mem=128G
#SBATCH --time=12:00:00
#SBATCH --partition=hpc
#SBATCH --output=/scratch/%u/%j/slurm.out

module load ansys/2024R1
cd /scratch/$USER/$SLURM_JOB_ID
fluent -g -t $SLURM_NTASKS -i case.jou

Bu örnekte dört düğümde toplamda 112 çekirdek ve 512 GB bellek talep eden bir ANSYS Fluent işi tanımlanmaktadır. SLURM bu kaynaklar müsait olduğunda işi otomatik başlatır; kullanıcının başka bir şey yapmasına gerek kalmaz.

SLURM Bölüm ve Öncelik Mimarisi

Gerçek dünya HPC kümelerinde tüm işleri tek bir kuyruğa yığmak yerine partition (bölüm) yapısı kurulur. Her bölüm farklı politikalar, kaynak limitleri ve öncelikler taşır.

Örnek Bölüm Yapılandırması

# /etc/slurm/slurm.conf (bölüm tanımları)
PartitionName=short   Nodes=cn[01-08] MaxTime=04:00:00 Default=YES Priority=100
PartitionName=long    Nodes=cn[01-08] MaxTime=7-00:00:00             Priority=50
PartitionName=gpu     Nodes=gpu[01-02] MaxTime=24:00:00 TRESBillingWeights="CPU=1,GRES/gpu=10"
PartitionName=debug   Nodes=cn01       MaxTime=00:30:00 MaxNodes=1   Priority=200

Bu yapıyla kısa testler yüksek öncelikle anında çalışırken uzun işler arka plana alınır; GPU düğümleri ayrı muhasebe politikasıyla faturalanır.

Mevasis’in SLURM Uygulama Süreci

1. Altyapı Analizi ve Planlama

Kurulum öncesinde mevcut kümenin durumu belgelenir: düğüm sayısı, CPU ve bellek kapasitesi, ağ topolojisi, işletim sistemi sürümü ve varsa mevcut iş yöneticisi. Bu aşamada hangi kullanıcı grupları hangi kaynaklara erişecek, hangi yazılımlar (ANSYS, LS-DYNA, OpenFOAM, MATLAB vb.) kaç eş zamanlı lisans kullanabilecek gibi politika kararları netleştirilir.

2. MUNGE ve Kimlik Doğrulama Katmanı

SLURM’ün güvenli çalışması için önce MUNGE kurulur ve tüm düğümlerde ortak anahtar dağıtılır. OpenLDAP entegrasyonu isteniyorsa kullanıcı hesapları merkezi dizinden senkronize edilecek biçimde yapılandırılır. Bu adım atlandığında küme büyüdükçe kullanıcı yönetimi kaosa dönüşür.

3. Cgroup Tabanlı Kaynak İzolasyonu

Modern SLURM kurulumlarında her iş Linux cgroup’larıyla izole edilir. Bir iş talep ettiğinden fazla bellek tüketmeye çalıştığında işletim sistemi onu sonlandırmak yerine SLURM önce uyarır, sonra gerekirse müdahale eder. Bu olmadan tek bir hatalı iş tüm düğümü çökertebilir.

# cgroup.conf
CgroupAutomount=yes
ConstrainCores=yes
ConstrainRAMSpace=yes
ConstrainSwapSpace=yes

4. GPU Kaynakları ve GRES Yapılandırması

GPU içeren düğümlerde SLURM’ün GRES (Generic Resource) eklentisi devreye girer. Her GPU ayrı bir kaynak olarak tanımlanır; işler --gres=gpu:2 ile kaç GPU istediğini açıkça belirtir. Bu olmadan kullanıcılar GPU atamalarını kendileri yapmak zorunda kalır ve çakışmalar yaşanır.

5. Hesap, Kota ve Öncelik Politikaları

slurmdbd veritabanıyla her kullanıcıya ve gruba maksimum eş zamanlı iş sayısı, aylık CPU-saat kotası ve öncelik ağırlığı atanır. Bu mekanizma, araştırma grupları arasında adil kaynak dağılımını otomatik olarak sağlar.

6. İzleme ve Uyarı Entegrasyonu

SLURM metriklerini Prometheus üzerinden toplayıp Grafana panolarında görselleştiririz. Bir düğüm hizmetten çıktığında veya kuyruk bekleme süresi eşiği aştığında otomatik bildirim gönderilir. Bu entegrasyon HPC bakım paketimizin standart bir parçasıdır.

Sık Karşılaşılan Sorunlar ve Çözümleri

Kurumsal SLURM kurulumlarında yıllar içinde en sık karşılaştığımız sorunlar ve yaklaşımlarımız:

SorunNeden OlurÇözüm
Düğümler drain durumuna düşüyorBellek taşması, donanım hatası veya iletişim kesintisiscontrol ile düğüm sağlığını sorgula, slurmd log’larını incele, otomatik sağlık denetimi ekle
İşler sonsuza kadar pending kalıyorYetersiz kaynak talebi veya partition politikası uyumsuzluğusqueue -j <jobid> --start ile bekleme nedenini sor; kapasite veya politika düzenle
Öncelik dengesizliğiFair-share ağırlıkları yanlış ayarlanmışsshare -l ile grup kullanımını incele, PriorityWeightFairshare değerini ayarla
Lisans çakışmasıYazılım lisans sunucusu SLURM ile entegre değilSLURM lisans kaynağı tanımla; sbatch --licenses=ansys_hpc:4 ile talep kontrolü sağla

Kimler Kullanmalı?

SLURM, aşağıdaki ortamlar için doğal bir seçimdir:

  • Üniversite araştırma merkezleri ve ulusal laboratuvarlar
  • Otomotiv, havacılık ve enerji sektörlerinde CAE (CFD/FEA) iş yükleri çalıştıran mühendislik departmanları
  • Akademik ve ticari makine öğrenmesi ve derin öğrenme altyapıları
  • Farklı projelere veya bütçe kodlarına göre hesaplama maliyetlerini izlemek isteyen kurumlar

Eğer kümenizde birden fazla kullanıcı var ve işlerin ne zaman, hangi kaynakla çalıştığı önemli ise SLURM kurmak en doğru yatırımdır.

SLURM Desteği için Mevasis ile Çalışın

Mevasis olarak SLURM kurulumunu yalnızca bir yazılım yükleme işlemi olarak görmüyoruz. Her kurulumu, müşterinin iş yüklerine ve kullanıcı profiline özel politika tasarımıyla birlikte teslim ediyoruz. Kurulum sonrasında HPC bakım paketlerimizle kümenizin sağlığını uzaktan izliyor, sorunları proaktif olarak çözüyor ve SLURM sürüm güncellemelerini yönetiyoruz.

Sıfırdan kurulum, mevcut kurulumu kurtarma veya performans optimizasyonu konularında destek almak için iletişim sayfamızı ziyaret edin ve kısa bir brifing paylaşın — size özel teklifimizi iki iş günü içinde iletiyoruz.

← Tüm Çözümler

Sıkça Sorulan Sorular

Bu çözüm ne zaman tercih edilmeli?

SLURM, birden fazla kullanıcının ortak bir HPC kümesini paylaştığı her ortamda tercih edilmelidir. Özellikle hesaplama süreleri saatlerle günler arasında değişen simülasyon, CFD, FEA veya makine öğrenmesi iş yükleri; öncelik tabanlı sıralama ve adil kaynak dağılımı gerektiren araştırma ve mühendislik ortamları; lisanslı yazılım (ANSYS, LS-DYNA vb.) kaynaklarının kontrollü paylaşılması gereken kurumsal yapılar SLURM'ün öne çıktığı senaryolardır. Tek kullanıcılı veya küçük ölçekli (<8 çekirdek) bir küme için bu ek yük gerekmeyebilir; bu durumda doğrudan SSH erişimi yeterli olabilir.

Mevasis bu çözümü nasıl sağlıyor?

Mevasis, SLURM kurulumu ve yapılandırmasını donanım teslimatından bağımsız olarak sunar: mevcut kümenize yeni bir scheduler entegre edebilir, sıfırdan kurulum yapabilir veya bozuk/eski bir SLURM kurulumunu kurtarıp optimize edebiliriz. Proje kapsamına göre MUNGE kimlik doğrulaması, OpenLDAP entegrasyonu, Cgroup tabanlı kaynak izolasyonu, GPU gres eklentisi ve otomatik node sağlık denetimi dahil tüm bileşenleri eksiksiz kurarız. Sonrası için 7/24 HPC bakım paketlerimizle izleme ve destek hizmetini de sürdürebiliriz.

Fiyatlandırma nasıl?

SLURM kurulum ve yapılandırma hizmetinin bedeli; küme büyüklüğüne, mevcut altyapı durumuna ve istenilen entegrasyon kapsamına göre değişir. Tek seferlik kurulum projeleri için sabit proje bedeli, süregelen bakım için aylık retainer modeli sunuyoruz. Kesin fiyat bilgisi için teklif formunu doldurmanız yeterlidir; iki iş günü içinde size özel teklif hazırlayarak iletiyoruz.