I'd strongly recommend upgrading Slurm too. Version 2.3 hasn't even supported for about four years.

Quoting Ralph Castain <[email protected]>:
Hmmm….I haven’t seen someone using OMPI 1.6.0 in a very long time. Please note that the latest OMPI release is now 1.10.0, so your installation is rather far behind.

At the very least, I would start by updating OMPI to the 1.8.8 or 1.10.0 level. You will then find that the SLURM integration has improved quite a bit, and you no longer need to use the —resv-ports option. OMPI will run with the standard PMI library.

You will also find that mpirun will respect the SLURM-assigned task affinity.

You may also want to update SLURM, but I leave that to others to advise - the OMPI change by itself should resolve the problem.


On Aug 27, 2015, at 2:26 AM, Turner, Andrew <[email protected]> wrote:

Dear all

We are running SLURM version 2.3 and openmpi 1.6.0.
In order to run openmpi jobs and inherit the correct task affinity from SLURM, jobs are executed with 'srun --resv-ports ./the_job' under sbatch (or salloc).

Pure mpi tasks with --cpus-per-task=1 run fine.
The issue is when attempting a hybrid mpi-omp task, with --cpus-per-task > 1, the job fails when using 'srun --resv-ports'.
Many error messages are printed, along the lines of
' ORTE_ERROR_LOG: Not found in file ess_slurmd_module.c at line 504'

I am not the administrator of the cluster, only a user, but I was hoping we might be able to point the administrators in a useful direction to solve the issue. Is this a known issue? E.g. due to some incompatibility between this SLURM version and the OpenMPI we have installed? Would updating SLURM and/or OpenMPI solve this issue? Or could it be a configuration issue that is easily fixed? (see config file below)

As a side issue, maybe related, we find that
- We can run multiple threads per task if we execute using mpirun (e.g. mpirun -bind-to-socket -bysocket), but mpirun does not know anything about what cores it has been allocated, so it only works with exclusive node option. On shared nodes it will often crash. - We don’t use mpirun for pure MPI jobs since we find tasks do not have the correct task affinity/binding (in this case, no binding). Hence we use ‘srun’ since nodes are shared. - With srun we must use ‘--resv-ports’. Without resv-ports results in the error message:
  orte_grpcomm_modex failed
--> Returned "A message is attempting to be sent to a process whose contact information is unknown" (-117) instead of "Success" (0)

Hopefully someone can advise how we can make it work for multiple threaded jobs? Thanks in advance.

Andy


Andrew Turner
Culham Centre for Fusion Energy
Culham Science Centre
Abingdon
Oxfordshire
OX14 3DB

www.ccfe.ac.uk <http://www.ccfe.ac.uk/>

Our slurm.conf file

ClusterName=erik
ControlMachine=erik000
BackupController=erik001
SlurmUser=slurm
SlurmctldPort=6817
SlurmdPort=6818
AuthType=auth/munge
StateSaveLocation=/home/sysadmin/SlurmState
SlurmdSpoolDir=/tmp/slurmd
SwitchType=switch/none
MpiDefault=none
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmdPidFile=/var/run/slurmd.pid
Proctracktype=proctrack/linuxproc
CacheGroups=0
ReturnToService=1
TaskPlugin=task/affinity
# TIMERS
SlurmctldTimeout=300
SlurmdTimeout=300
InactiveLimit=0
MinJobAge=300
KillWait=30
Waittime=0
#
# SCHEDULING
SchedulerType=sched/wiki
SchedulerPort=7321
SelectType=select/cons_res
FastSchedule=1
# LOGGING
SlurmctldDebug=3
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=3
SlurmdLogFile=/var/log/slurmd.log
JobCompType=jobcomp/filetxt
JobCompLoc=/var/slurm/accounting
#
# ACCOUNTING
JobAcctGatherType=jobacct_gather/linux
JobAcctGatherFrequency=30
#
AccountingStorageType=accounting_storage/filetxt
#
# MPI
MpiParams=ports=12000-12999
#
# COMPUTE NODES
NodeName=erik000 Procs=16 Sockets=2 CoresPerSocket=8 ThreadsPerCore=1 State=UNKNOWN NodeName=DEFAULT Procs=16 Sockets=2 CoresPerSocket=8 ThreadsPerCore=1 RealMemory=129009 State=UNKNOWN
NodeName=erik[001-044]
PartitionName=erik Nodes=erik[001-044] Default=YES MaxTime=INFINITE State=UP


--
Morris "Moe" Jette
CTO, SchedMD LLC
Commercial Slurm Development and Support
===============================================================
Slurm User Group Meeting, 15-16 September 2015, Washington D.C.
http://slurm.schedmd.com/slurm_ug_agenda.html

Reply via email to