$GALAXY_SLOTS equals to 1

Hello!

I was advised to use $GALAXY_SLOTS variable in order to obtain number of processor cores. Workflow automation? - #2 by mvdbeek But when i print this variable in the tools, i get exactly one despite i have 16 - 48 logical processors.

Why it is not set automatically? E. g why not add

 elif [ `nproc` > 0 ]; then 
     GALAXY_SLOTS=`nproc`

into /data/galaxy/lib/galaxy/jobs/runners/util/job_script/CLUSTER_SLOTS_STATEMENT.sh ?

We assume and highly recommend that jobs submitted by Galaxy are run on a HPC system with a job scheduler (like SLURM, PBS, Torque, LSF) or kubernetes. You then configure the destinations in the job_conf.xml file to request the required resources, and you assign tools to the destination. If you don’t have this available you can use local_slots as you found out, but you still need to map tools to destinations.

Note that this is not recommended, as there is no way for Galaxy to know what resources are available, so you will start consuming more resources than are available if you queue up many jobs.

Connecting Galaxy to a compute cluster walks through installing slurm using ansible on the head node … while that’s still not ideal it is better than using the local job runner.

3 Likes