Slurm HPC

SLURM açık kaynaklı bir iş yükü yönetimi ve iş planlama sistemidir. Bölümde yer alan Turing HPC makinesinde 64 çekirdek (4 x 16) ve 192 GB RAM bulunmaktadır.

Sistem Hakkında

- Kümenin topolojisi:
  • Sunucu slurm(.ceng.metu.edu.tr), kullanıcı yönetimi ve turing(.ceng.metu.edu.tr)'ye iş gönderilmesi içindir. Slurm'un tek amacı Turing HPC'ye iş göndermek olduğundan minimum sayıda derleyici içerecek şekilde kurulur.
  • Kullanıcılar bir işi göndermek için ekteki örnek komut dosyalarını düzenlemeli ve kullanmalıdır. Aksi takdirde slurm makinesi sınırlı donanım kapasitesi nedeniyle yanıt vermeyebilir.
  • Turing HPC, halley ve supernova olmak üzere 2 kuyruk (SLURM yapısında bölümler olarak adlandırılır) içerir. Aynı zamanda özdeş düğümlere bölünmüştür ve her düğümde 1 çekirdek ve 3 GB RAM bulunur.
  • Halley bölümü, maksimum 12 saatlik çalışma süresiyle sınırlı olan 40 düğüm içerirken, supernova bölümü, maksimum 24 saatlik çalışma süresiyle sınırlı olan 20 düğüm içerir.
  • Slurm FIFO'dur, yani gönderilen bir iş önceki işler tamamlanana kadar bir bölümde beklemelidir.

Yararlı Komutlar

1) sbatch : görevi gönderir.

user@slurm:~$ sbatch slurmscript.sh
Submitted batch job 2

[1] https://computing.llnl.gov/linux/slurm/sbatch.html

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]
           
            All ST (status codes):
           
            PD (pending), R (running), CA (cancelled), CF(configuring), CG (completing), CD (completed), F (failed), TO (timeout), and NF (node failure):

CA CANCELLED
Job was explicitly cancelled by the user or system administrator. The job may or may not have been initiated.
CD COMPLETED
Job has terminated all processes on all nodes.
CF CONFIGURING
Job has been allocated resources, but are waiting for them to become ready for use (e.g. booting).
CG COMPLETING
Job is in the process of completing. Some processes on some nodes may still be active.
F FAILED
Job terminated with non-zero exit code or other failure condition.
NF NODE_FAIL
Job terminated due to failure of one or more allocated nodes.
PD PENDING
Job is awaiting resource allocation.
PR PREEMPTED
Job terminated due to preemption.
R RUNNING
Job currently has an allocation.
S SUSPENDED
Job has an allocation, but execution has been suspended.
TO TIMEOUT
Job terminated upon reaching its time limit.

[2] https://computing.llnl.gov/linux/slurm/squeue.html

3) sinfo : partisyon yapısını görüntülemek 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]

sinfo -lNe : donanım ayrıntılarını içeren partisyonları görüntülemek için

user@slurm:~$ sinfo -lNe
Wed Nov 25 18:46:23 2015
NODELIST      NODES  PARTITION       STATE    CPUS    S:C:T MEMORY TMP_DISK WEIGHT FEATURES REASON
node-[1-40]         40          halley               idle                 1:1:1      3072            0              1               (null) none
node-[41-60]       20          supernova*        idle                 1:1:1      3072            0              1               (null) none

[3] https://computing.llnl.gov/linux/slurm/sinfo.html

4) scancel <job_id> : <job_id> numarasına sahip gönderilen bir işi iptal etmek için

[4] https://computing.llnl.gov/linux/slurm/scancel.html

Sample Scripts

Bir işi düzenlemek ve göndermek için slurmscript1 ve slurmscript2'yi indirebilirsiniz. Senaryolar yorumlarla birlikte açıklanmaktadır ve sorularınız varsa 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 (octave-control octave-image octave-io octave-optim octave-signal octave-statistics)

Referanslar