Hi Jim,

I think how the additional threads are used depends on what else your
binary is linked against, for example if I set
LIBPROCESS_NUM_WORKER_THREADS=4 on my local mesos-master, I get a process
with 7 threads, of which are:

  - 1 "main" thread
  - 4 addional libprocess worker threads
  - 1 background thread spawned by LevelDB
  - 1 backgrount thread spawned by libev

Best regards,
Benno

On Mon, Sep 25, 2017 at 2:24 PM, James Vanns <jvanns....@gmail.com> wrote:

> Hi guys,
>
> Can anyone shed some light on the threading models/setup used by Mesos
> and/or libprocess? I've got a problem with mixing/competing thread pools! I
> introduced some OpenMP code and of course now I get N**2 threads started
> each time a different libprocess thread executes my OMP code by way of a
> mesos scheduler framework callback. Well, that's what I'm guessing!
>
> Anyway, I've come across LIBPROCESS_NUM_WORKER_THREADS and I can set that
> to get a known #threads as workers - but my question is (this is now
> curiosity more than anything) what are the remainder used for? Eg. If I
> have a 4 core machine and indeed the above env var is set to 4 it appears
> (without OMP) that libmesos or libprocess still spawn an additional 12
> threads. So what are those 12 threads used for?
>
> Oh - this is the (ancient) 0.28.3-2.0.1 release for Ubuntu 14.04 LTS, in
> case that matters.
>
> Cheers,
>
> Jim
>
> --
> Senior Production Engineer
> Industrial Light & Magic (ILM)
>



-- 
Benno Evers
Software Engineer, Mesosphere

Reply via email to