Hyper-Threading vs SMT: Which One has Better Performance?
Join me to review Intel Hyper-Threading and AMD SMT. In the past but not so long, just before 2001 and before design first multi-core CPU, processors had one core. Intel, AMD and others they tried to increase transistors and frequency in processors. Result of one core CPU was processing single thread at time, the thread might not take all CPU time. Multi-Core processors and multi-threading helping to processing more than one task or process at a time. Today, processors have more cores and also have features to doing multi-threading.
Intel Hyper-Threading
This technology is a form of simultaneous multithreading technology introduced by Intel, while the concept behind the technology has been patented by Sun Microsystems.
Architecturally, a processor with Hyper-Threading Technology consists of two logical processors per core, each of which has its own processor architectural state.
Each logical processor can be individually halted, interrupted or directed to execute a specified thread, independently from the other logical processor sharing the same physical core.
Unlike a traditional dual-processor configuration that uses two separate physical processors, the logical processors in a hyper-threaded core share the execution resources.
These resources include the execution engine, caches, and system bus interface; the sharing of resources allows two logical processors to work with each other more efficiently, and allows a logical processor to borrow resources from a stalled logical core (assuming both logical cores are associated with the same physical core).
A processor stalls when it is waiting for data it has sent for so it can finish processing the present thread. The degree of benefit seen when using a hyper-threaded or multi core processor depends on the needs of the software, and how well it and the operating system are written to manage the processor efficiently.
Intel Hyper-Threading delivers better performance in physical and virtual environments.
AMD EPYC SMT
AMD EPYC 2nd Generation processors have up to 64 physical cores, it’s enough for many of workloads, it helps to increase VM density per server, also the processors have Simultaneous multithreading (SMT) feature. AMD EPYC 7742 providing 128 logical processors or threads in single socket. I think, AMD also using same technologies to implementing the feature.
Consolusion
Intel has implemented two ways SMT from Intel Pentium 4 and 4 ways SMT in Intel Phi processors and we all know the improvements and benefits. AMD has implemented SMT in Zen architecture and now there is no difference between Intel processors and AMD processor to support multi-threading. It was a good job from AMD, latest AMD’s processors will provides resources to creating larger virtual machines and delivering better performance in physical and virtual environments.
Further Reading
Virtualization will be better on AMD processors by Zen
Nice summary Davoud. “Back in the day” – In the early days of VMware ESX, AMD reigned supreme (at least in my shop) due to the memory/CPU interface speed absolutely blowing away Intel options. Not until Intel moved past the front side bus did we switch our hosts back to Intel chips. Now, AMD may prove competitive again, especially since many highly-regulated shops are being forced to disable hyper threading thanks to the whole Meltdown / Spectre fiasco…
I totally agree with you.