________________________________________________________________________
Applicable Environment
________________________________________________________________________
- Topic: Intel Hyperthreading in QNX Neutrino
- SDP: 6.5.0
- Target: Targets that support Intel Hyperthreading
________________________________________________________________________
Question
________________________________________________________________________
Some posts on
community.qnx.com suggest that Intel Hyperthreading is best turned off in the BIOS when using QNX Neutrino. Is this true?
________________________________________________________________________
Recommendation________________________________________________________________________
This is not necessarily true, although it is not necessarily untrue either. The Neutrino kernel treats a hyper-thread core the same way a 'real' core. For example, if a thread needs to run somewhere and the scheduler has to make the decision of what core to run it on, it does not differentiate between choosing a real or hyper-thread core. The hyper-thread core doesn't have the capabilities of a real core, so it may not make the most optimal decision. But, if you disable hyper-threading, you are losing a resource that can help improve performance. The trade-off is difficult to account for. My understanding is that in some situations, it may turn out to be better with HT disabled, in others, performance is higher with it on. It depends on some factors such as how many threads are being used, whether realtime is a concern, whether the threads are involved in QNX message passing, or doing pure math, whether floating point, or other work that a HT core may not be a good at....,etc...
Only thing I can recommend is to do some tests/simulations for yourself. Also, do some searching on the forums at
community.qnx.com.
It could be that at some point we will implement a concept of 'preferred cores', which will help fix this problem. We could probably implement this as a custom engineering project as well, if you were interested.
________________________________________________________________________
NOTE:
This entry has been validated against the SDP version listed above. Use
caution when considering this advice for any other SDP version. For
supported releases, please reach out to QNX Technical Support if you have any questions/concerns. ________________________________________________________________________