|
Boost : |
Subject: Re: [boost] [threadpool] parallel_sort example
From: Edouard A. (edouard_at_[hidden])
Date: 2009-03-02 13:54:31
> How many worker-threads should be created inside the default
> threadpool?
[Edouard A.]
As many threads as there are physical available sounds like a nice default
to me.
> Which scheduling strategy should by applied?
[Edouard A.]
>
> The pool could use FIFO ordering of the queued tasks but the amount of
> worker-threads depend on the threadpool usage.
> THe pool could create as many worker-threads as CPUs are online an bind
> each
> thread to one specific CPU/Core - CPU intensive apps could benefit form
> this
> scenario.
[Edouard A.]
Unless you know what you're doing it's best to let the OS decide on which
CPU the thread should be running. For a default pool I submit it is better
to let affinity alone. As noted above I agree with one thread / core.
Don't forget you're going to have threads outside your pool also requesting
the preciouuuus CPU resource.
Applications with lot of IO require usally more worker-
> threads than
> CPUs.
[Edouard A.]
You are correct but this doesn't sound like an use case for a "default"
pool.
-- Edouard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk