SLURM açık kaynaklı bir iş yükü yönetimi ve iş çizelgeleme sistemidir. Bölümdeki Turing HPC makinesi 64 çekirdek (4 x 16) ve 192 GB RAM içermektedir.
Sistem Hakkında
Küme topolojisi:

- slurm(.ceng.metu.edu.tr) sunucusu, kullanıcı yönetimi ve turing(.ceng.metu.edu.tr) üzerine iş göndermek içindir. Slurm'un tek amacı Turing HPC'ye iş göndermek olduğundan, minimum sayıda derleyici içerecek şekilde kurulmuştur.
- Kullanıcılar iş göndermek için ekteki örnek betikleri düzenlemeli ve kullanmalıdır. Aksi takdirde, slurm makinesi kısıtlı donanım kapasitesi nedeniyle yanıt vermeyebilir.
- Turing HPC, SLURM yapısında "partition" (bölüm) olarak adlandırılan 2 kuyruk içerir: halley ve supernova. Ayrıca özdeş düğümlere (node) ayrılmıştır ve her düğüm 1 çekirdek ile 3 GB RAM'e sahiptir.
- halley bölümü, maksimum 12 saatlik çalışma süresiyle sınırlı 40 düğüm içerirken; supernova bölümü, maksimum 24 saatlik çalışma süresiyle sınırlı 20 düğüm içerir.
- Slurm FIFO prensibiyle çalışır; yani gönderilen bir iş, önceki işler tamamlanana kadar ilgili bölümde bekletilir.
Faydalı Komutlar
1) sbatch : iş göndermek için
user@slurm:~$ sbatch slurmscript.sh
Submitted batch job 2Referans: sbatch dokümantasyonu
2) squeue : gönderilen bir işin durumunu görmek için
user@slurm:~$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
2 halley slurm_test user R 0:00 20 node-[1-20]Durum Kodları (ST):
CA CANCELLED İş, kullanıcı veya sistem yöneticisi tarafından açıkça iptal edildi.
CD COMPLETED İş, tüm düğümlerdeki tüm süreçleri sonlandırdı.
CF CONFIGURING İşe kaynak ayrıldı ancak kaynakların hazır olması bekleniyor.
CG COMPLETING İş tamamlanma aşamasında.
F FAILED İş, sıfır olmayan bir çıkış kodu veya başka bir hata durumuyla sonlandı.
NF NODE_FAIL İş, ayrılan bir veya daha fazla düğümün arızalanması nedeniyle sonlandı.
PD PENDING İş, kaynak tahsisi bekliyor.
PR PREEMPTED İş, öncelik kesilmesi (preemption) nedeniyle sonlandırıldı.
R RUNNING İşin şu anda bir tahsisi var ve çalışıyor.
S SUSPENDED İşin tahsisi var ancak yürütme askıya alındı.
TO TIMEOUT İş, zaman sınırına ulaştığı için sonlandırıldı.
Referans: squeue dokümantasyonu
3) sinfo : bölüm yapısını görmek için / sinfo -lNe : bölümleri donanım detaylarıyla görmek için
user@slurm:~$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST halley up 12:00:00 40 idle node-[1-40] supernova* up 1-00:00:00 20 idle node-[41-60] user@slurm:~$ sinfo -lNe NODELIST NODES PARTITION STATE CPUS S:C:T MEMORY TMP_DISK WEIGHT FEATURES REASON node-[1-40] 40 halley idle 1 1:1:1 3072 0 1 (null) none node-[41-60] 20 supernova* idle 1 1:1:1 3072 0 1 (null) none
Referans: sinfo dokümantasyonu
4) scancel : gönderilen bir işi iptal etmek için
Kullanım: scancel <job_id>
Referans: scancel dokümantasyonu
Örnek Betikler
Düzenlemek ve iş göndermek için slurmscript1 ve slurmscript2 dosyalarını indirebilirsiniz. Betikler yorum satırlarıyla açıklanmıştır; sorularınız olursa admin [at] ceng.metu.edu.tr adresine e-posta gönderebilirsiniz.
Yüklü Paketler
- slurm 15.08.3
- Python 2.7.9 / Python 3.4.2
- openmpi-1.10.1
- Java 1.8.0_65
- tensorflow-0.11.0
- Hadoop 2.6.3
- Apache Maven 3.3.9
- octave 3.8.2
Referanslar
Son güncelleme