Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Disater recover features are in process, Q&A will be added once they are complete.

Threading

Could someone provide a brief description of the worker thread duties in the current Qpid release?

The broker uses IO threads for all the work it does. This means that when work is signalled via an event (socket, RDMA, timer) an IO thread is scheduled and it runs until it completes the work and then returns back to the IO thread pool. This allows the CPUs to be utilized efficiently. The general rule is that we allocate 1 thread per core +1. So on a 8 way machine you see worker-threads default to 9. On a 4 way it will be 5. Sometimes it if work changing the default allocation if:

a.) you run on high core count machine >8 to a lower number
b.) if you taskset, then set to the cores allocated +1

Why was the number X chosen as the default number of worker threads?

Qpidd defaults to cores + 1

What happens in parallel?

Concurrency in the broker is at the session level. So yes. If you want more concurrency, create another session on the same connection.

How are worker threads allocated to individual client sessions if there are more clients than threads in the pool?

They are not allocated to a specific client

How To

C++

How to use RDMA with Qpid

...