On Fri, 2013-07-19 at 00:29 -0700, boundabout wrote:
> We have observed two issues, possibly with a common cause, with threading in
> qpid 0.18.
> 
> Issue 1 - Using the C++ broker on an IBM M4, performance is very poor (and
> CPU utilisation very high) unless the size of the thread pool is reduced by
> setting worker-threads to a small number. I believe the default is to create
> one more thread than the number of logical cores, which for this box is 24.
> So the question here is why having a lot of threads could increase CPU
> loading. I wondered if it might be that threads were being moved between
> cores, causing a lot of cache invalidation, but setting hard affinity
> indicates that this is not the case.

One issue that we have observed is that running on multiple sockets
doesn't give such high performance as running on a single socket. Some
of the best performance can be got by setting the process/thread
affinity so that you are using the usual n+1 rule but limiting the
threads to run on the CPUs in a single socket.

My presumption here is that the memory hierarchy matters a lot and that
invalidating 2nd/3rd level caches messes up performance.

As to the client issue you are having - I don't think it is especially
related to the broker issue, but there may be a general resemblance if
you are using a lot of connections/Listeners.

Andrew



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to