Hola,
hace un tiempo explicaba aquí cómo montar grid-engine en Debian para gestionar trabajos paralelos en un servidor multicore. Como he tenido algunos problemas he probado slurm, que está activamente desarrollado y documentado.
En concreto lo he hecho sobre un servidor Debian 11. Si vienes de otros sistemas, como LSF, tendrás que convertir tus comandos con tablas como ésta. Los pasos que he seguido los he adaptado de aquí:
sudo apt install slurmd slurmctld -y sudo chmod 777 /etc/slurm # creo fichero de configuración /etc/slurm/slurm.conf, # tendrás que adaptar CPUs= y RealMemory= al final , # en mi caso he definido "16 nodos" sudo cat << EOF > /etc/slurm/slurm.conf # See the slurm.conf man page for more information. # ClusterName=localcluster SlurmctldHost=localhost MpiDefault=none ProctrackType=proctrack/linuxproc ReturnToService=2 SlurmctldPidFile=/var/run/slurmctld.pid SlurmctldPort=6817 SlurmdPidFile=/var/run/slurmd.pid SlurmdPort=6818 SlurmdSpoolDir=/var/lib/slurm/slurmd SlurmUser=slurm StateSaveLocation=/var/lib/slurm/slurmctld SwitchType=switch/none TaskPlugin=task/none # # TIMERS InactiveLimit=0 KillWait=30 MinJobAge=300 SlurmctldTimeout=120 SlurmdTimeout=300 Waittime=0 # SCHEDULING SchedulerType=sched/backfill SelectType=select/cons_tres SelectTypeParameters=CR_Core # #AccountingStoragePort= AccountingStorageType=accounting_storage/none JobCompType=jobcomp/none JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/none SlurmctldDebug=info SlurmctldLogFile=/var/log/slurm/slurmctld.log SlurmdDebug=info SlurmdLogFile=/var/log/slurm/slurmd.log # # COMPUTE NODES NodeName=localhost CPUs=16 RealMemory=200 State=UNKNOWN PartitionName=LocalQ Nodes=ALL Default=YES MaxTime=INFINITE State=UP EOF # iniciamos el gestor sudo chmod 755 /etc/slurm sudo systemctl start slurmctld sudo systemctl start slurmd # probamos el cluster sinfo sbatch --wrap=date cat slurm-1.out
PD Para ver las propiedades de tu nuevo "cluster" puedes probar:
scontrol show node
Hasta pronto,
Bruno
No hay comentarios:
Publicar un comentario