Hyper-Threading Support

Intel’s Hyper-Threading (HT) technology provides two hardware threads per processor and further optimizes resource use to provide higher efficiencies and processor performance. On an HT-enabled system, the operating system reports each HT-enabled CPU as two logical CPUs. It is this feature that causes the most confusion as there is only a single execution unit for both hardware threads to execute on, therefore they do not execute in parallel as is sometimes assumed. The real intent of hyper-threading is to provide a more efficient way to keep the processors busy more of the time.

For multi-threaded applications, HT-enabled CPUs can boost performance by up to 30% in comparison to Intel CPUs of comparable clock speeds without HT enabled. The bottom line here is that you must be aware of the HT-processors and initially program your software to take advantage of its resources by understanding how to best partition resource use in your software to minimize resource dependencies between the threads.

NOTE: A HT-enabled processor does not provide as much of a performance benefit for multi-threaded applications as a true multi-processor system that uses Intel CPUs of comparable clock speeds. This is because threads executing on a HT-enabled processor must share the same processor execution resources.

When using Hyper-Threading, you should avoid splitting two logical cores that use the same physical core between Windows and RTSS. Sharing of a physical core between a Window logical core and RTSS logical core could impact the determinism of the RTSS logical core.

For more information regarding Intel’s Hyper-Threading technology, refer to Intel’s Hyper-Threading technology overview at https://www.intel.com/content/www/us/en/architecture-and-technology/hyper-threading/hyper-threading-technology.html

Topics: