Hi Wolfgang,
GALAXY_SLOTS is not defined as an environment variable and the default is not used it most probably defaults to 1 somewhere. I could not determine where. I solved my problem by creating, in the jobs_conf.xml file, a destination for 4 threaded software, a handler for multithreaded jobs, a local plugin and individual entries for all the multithreaded software I found in the locally installed tools... I guess I interpreted the commentaries in the jobs_conf.xml correctly as now bowtie2 runs with 4 threads.
I must confess that it was a hit and miss process until everything was working. I still do not understand the relation of the threads defined in the galaxy.ini and the worker threads declared in the jobs_conf.xml file. I had to declare the web server and the handlers with 5 threads or otherwise I had an error.
in the end my config files are like this.
galaxy.ini
[server:web0]
use = egg:Paste#http
port = 8080
host = 127.0.0.1
use_threadpool = true
threadpool_workers = 5
#[server:web1]
#use = egg:Paste#http
#port = 8081
#host = 127.0.0.1
#use_threadpool = true
#threadpool_workers = 5
[server:handler0]
use = egg:Paste#http
port = 8082
host = 127.0.0.1
use_threadpool = true
threadpool_workers = 5
[server:handler1]
use = egg:Paste#http
port = 8083
host = 127.0.0.1
use_threadpool = true
threadpool_workers = 5
[server:handler2]
use = egg:Paste#http
port = 8084
host = 127.0.0.1
use_threadpool = true
threadpool_workers = 5
and job_conf.xml
<job_conf>
<plugins>
<plugin id="local" type="runner" load="galaxy.jobs.runners.local:LocalJobRunner" workers="10"/>
<plugin id="multilocal" type="runner" load="galaxy.jobs.runners.local:LocalJobRunner" workers="2"/>
</plugins>
<handlers default="handlers">
<handler id="handler0" tags="handlers"/>
<handler id="handler1" tags="handlers"/>
<handler id="handler2" tags="multi"/>
</handlers>
<destinations default="local">
<destination id="local" runner="local"/>
<destination id="multicore4" runner="multilocal">
<param id="local_slots">4</param> <!-- Specify GALAXY_SLOTS for local jobs. -->
<param id="embed_metadata_in_job">True</param>
<job_metrics />
</destination>
<destination id="multicore8" runner="multilocal">
<param id="local_slots">8</param> <!-- Specify GALAXY_SLOTS for local jobs. -->
<param id="embed_metadata_in_job">True</param>
<job_metrics />
</destination>
</destinations>
<tools>
<tool id="bowtie2" handler="handler2" destination="multicore4" />
<tool id="bowtie" handler="handler2" destination="multicore4" />
<tool id="deeptools" handler="handler2" destination="multicore4" />
<tool id="cufflinks" handler="handler2" destination="multicore4" />
<tool id="cuffdiff" handler="handler2" destination="multicore4" />
<tool id="cuffmerge" handler="handler2" destination="multicore4" />
<tool id="tophat2" handler="handler2" destination="multicore4" />
<tool id="fastq_groomer_parallel" handler="handler2" destination="multicore4" />
</tools>
</job_conf>
Is this a reasonable configuration for a 40 cores server?
Any input on this would be appreciated!
Cristian