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