|
Hyper-Threading Technology
INTRO
Hyper-Threading Technology, developed by IntelŪ Corporation, enables multi-threaded software applications to execute simultaneous instructions from a single processor. Threading is the process of splitting instructions into "multiple streams" within a software application. If configured, multiple processors within a computer system can then act upon each stream. Today, with Hyper-Threading Technology, the execution of multiple streams -- or threads -- can be achieved on a single processor, thus making more efficient use of processor resources and improved performance with today's multi-threaded software.
With Hyper-Threading Technology, a software application designed to allow for multi-threading can now execute more than one thread on a single, physical processor. This significantly increases the throughput of the applications and provides for future scaling to handle future workloads. This technology provides real benefits for today's applications by: Increasing the number of transactions that can be processed by a single processor, by providing faster response time for multi-threaded software applications, and by fully exploiting the benefits of dual processors.
Most of today's operating systems and desktop applications have been written to support multi-threading. With Intel's Hyper-Threading Technology, now a single Desktop Hyper-Threading-enabled processor can simultaneously process two threads of code, improving the performance of multi-threaded code running on that single processor.
HISTORY
In conventional multithreading, the processor gave the appearance of "running" more than one program at the same time. And, in fact, multiple programs were actually loaded into memory. But the CPU only executed these programs one at a time. The OS gave the impression of multiple executions by rapidly switching between running programs at a fixed interval, called a "time slice". The time slice needed to be small enough to prevent any noticeable degradation of the running programs, but large enough so that each program had a sufficient amount of CPU time to fully execute in a timely manner.
One way to overcome this "time slice" scenario was to configure a system that could actually execute more than one process at the same time. The conventional way of doing this on a PC was to add a second CPU. In an symmetric multiprocessing (SMP) system, the OS is designed to work with two processes, with each process executing on a its own CPU. However, even this could not fully exploit a true multithreading environment because no process was allowed to monopolize either CPU. Each process had to wait its time slice. The upside to this, however, was that there were now two CPUs providing these time slices and, therefore, these processes required less time to execute. The net effect was more total execution time available to the system within a given time interval. Each running process spent more time actually executing and less time waiting around in memory for a time slice to open up.
IN A NUTSHELL
With Intel's latest IA-32 processor release (codenamed Prescott) simultaneous multithreading (SMT), also known as hyper-threading, was introduced. SMT allows a single CPU to run more than one program at the same time.
Virtually all contemporary operating systems (including Microsoft Windows and Linux) divide their workload up into processes and threads that can be independently scheduled and dispatched. The same division of workload can be found in many high-performance applications such as database engines, scientific computation programs, engineering-workstation tools, and multi-media programs. To gain access to increased processing power, programmers design these programs to execute in dual-processor (DP) or multiprocessor (MP) environments. Through the use of symmetric multiprocessing (SMP), processes and threads can be dispatched to run on a pool of several physical processors.
With multi-threaded, MP-aware applications, instructions from several threads are simultaneously dispatched for execution by the processors. In processors with Hyper-Threading Technology, a single processor executes these threads concurrently. This is achieved by duplicating the architectural state on each processor, while sharing one set of processor execution resources. By allowing the processor to use resources on the CPU that would otherwise have been idle, Hyper-Threading Technology provides a performance boost on multi-threading and multi-tasking operations.
Hyper-Threading Technology provides a second logical processor in a single package for higher system performance.
BENEFITS
Intel Hyper-Threading Technology improves the utilization of onboard resources so that a second thread can be processed in the same processor. Hyper-Threading Technology provides two logical processors in a single processor package.
Hyper-Threading Technology offers
- Improved overall system performance - Increases number of users a platform can support - Increases number of transactions that can be processed - Allows compatibility with existing IA-32 applications and operating systems - Handles larger workloads - Improves reaction and response time because tasks can be run on separate threads - Increases number of transactions that can be executed
A Hyper-Threading Technology-enabled system will automatically process multiple threads of multi-threaded code.
CONCLUSION
Intel Hyper-Threading Technology provides two logical processors in one processor package that enables the use of underutilized execution resources on the chip. Hyper-Threading Technology offers higher throughput of multi-threaded code and greater overall system performance. Intel Hyper-Threading Technology improves performance even further when additional Hyper-Threading Technology-enabled processors are added.
Systems with the new IntelŪ PentiumŪ 4 Processor with HT Technology logo have been verified to utilize Hyper-Threading Technology. To carry the IntelŪ PentiumŪ 4 Processor with HT Technology logo, systems must have: - The Intel Pentium 4 processor at 2.4GHz or higher - An IntelŪ chipset that supports HT Technology - System BIOS supports HT Technology and has it enabled - An operating system that includes optimizations for HT Technology
The following desktop operating systems include optimizations for HT Technology and are currently eligible to carry the new IntelŪ PentiumŪ 4 Processor with HT Technology logo:
- Microsoft* Windows* XP Professional Edition - Microsoft* Windows* XP Home Edition - Microsoft Windows NT* 4.0
The following desktop operating system can detect Hyper-Threading Technology enabled processors, but has not been fully optimized for its support.
- Microsoft Windows 2000
The following desktop operating systems are not recommended for use with Hyper-Threading Technology. If you are using one of the following desktop operating systems, it is advised that you should disable Hyper-Threading Technology in the system BIOS Setup program:
- Microsoft Windows Me - Microsoft Windows 98 - Microsoft Windows 98 SE |
| |
|