Boosting performance through multiprocessing
The QNX hypervisor supports both symmetric multiprocessing (SMP) and asymmetric multiprocessing (AMP). You can configure threads in the hypervisor host to run on physical CPUs (pCPUs) that have certain hardware features that are required by the guest or can at least improve performance.
This includes vCPU threads and other threads in your qvm processes.
You can pin vCPU threads to one or several pCPUs by using the
cpu cluster option when you assemble your VMs.
Non-vCPU qvm threads such as vdev threads are pinned (bound)
to the same pCPUs as the initial qvm thread which sets up the VM,
but these other threads can use QNX OS mechanisms such as
ThreadCtl(_NTO_TCTL_RUNMASK) to bind themselves to another
cluster of pCPUs. This cluster can be different from the one used by the vCPUs.
For full details about binding threads to particular CPUs in a multiprocessor
environment, refer to the Processor affinity, clusters, runmasks, and inherit masks
section of the QNX OS Programmer's Guide.
For general information about QNX OS support for
multiprocessing, read the Multicore Processing
chapter in this
other guide.
