SMT permits multiple independent threads of execution to better use the resources provided by modern processor architectures.
Multithreading is similar in concept to preemptive multitasking but is implemented at the thread level of execution in modern superscalar processors.
[1] Because it inevitably increases conflict on shared resources, measuring or agreeing on its effectiveness can be difficult.
[2] In modern systems, SMT effectively exploits concurrency with very little additional dynamic power.
Intel calls the functionality Hyper-Threading Technology, and provides a basic two-thread SMT engine.
[7] MIPS MT provides for both heavyweight virtual processing elements and lighter-weight hardware microthreads.
RMI, a Cupertino-based startup, is the first MIPS vendor to provide a processor SOC based on eight cores, each of which runs four threads.
In 2010, IBM released systems based on the POWER7 processor with eight cores with each having four Simultaneous Intelligent Threads.
Although many people reported that Sun Microsystems' UltraSPARC T1 (known as "Niagara" until its 14 November 2005 release) and the now defunct processor codenamed "Rock" (originally announced in 2005, but after many delays cancelled in 2010) are implementations of SPARC focused almost entirely on exploiting SMT and CMP techniques, Niagara is not actually using SMT.
Fujitsu SPARC64 VI has coarse-grained Vertical Multithreading (VMT) SPARC VII and newer have 2-way SMT.
Intel Xeon Phi has 4-way SMT (with time-multiplexed multithreading) with hardware-based threads which cannot be disabled, unlike regular Hyper-Threading.
AMD Bulldozer microarchitecture FlexFPU and Shared L2 cache are multithreaded but integer cores in module are single threaded, so it is only a partial SMT implementation.
[15] Critics argue that it is a considerable burden to put on software developers that they have to test whether simultaneous multithreading is good or bad for their application in various situations and insert extra logic to turn it off if it decreases performance.
Current operating systems lack convenient API calls for this purpose and for preventing processes with different priority from taking resources from each other.
[17] There are also sophisticated machine learning exploits to HT implementation that were explained at Black Hat 2018.