1.Introduction
The amazing growth of the Internet and telecommunications is powered by ever-faster systems demanding increasingly higher levels of processor performance. Hyper-threading, officially called Hyper-ThreadingTechnology (HTT), is Intel's trademark for their implementation of the simultaneous multithreading technology on the Pentium 4 microarchitecture. It is basically a more advanced form of Super-threading that first debuted on the Intel Xeon processors and was later added to Pentium 4 processors. The technology improves processor performance under certain workloads by providing useful work for execution units that would otherwise be idle.
Simultaneousmultithreading, often referred to as SMT, is a technique for improving the overall efficiency of the hardware that executes instructions in a computer. This hardware is typically called the CPU. SMT permits multiple independent threads of execution to better utilize the resources provided by modern processor architectures
Super-threading is a form of simultaneous multithreading, similar in design to hyper-threading. In super-threading, the processor can execute instructions from a different thread each cycle. Thus cycles left unused by a thread can be used by another that is ready to run. Still, a given thread is almost surely not utilizing all the multiple execution units of a modern processor at the same time. More advanced implementations of SMT allow multiple threads to run in the same cycle, using different execution units of a superscalar processor.
- Technology Perspective
2.1Concept
Faster clock speeds are an important way to deliver more computing power. But clock speed is only half the story. The other route to higher performance is to accomplish more work on each clock cycle, and that's where Hyper-Threading Technology comes in. A single processor supporting Hyper-Threading Technology presents itself to modern operating systems and applications as two virtual processors.Each logical processor maintains a complete set of the architecture state. The architecture state consists of registers including the general-purpose registers, the control registers, the advanced programmable interrupt controller (APIC) registers, and some machine state registers. From a software perspective, once the architecture state is duplicated, the processor appears to be two processors. The number of transistors to store the architecture state is an extremely small fraction of the total. Logical processors share nearly all other resources on the physical processor, such as caches, execution units, branch predictors, control logic, and buses. Each logical processor has its own interrupt controller or APIC. Interrupts sent to a specific logical processor is handled only by that logical processor. The processor can work on two sets of tasks simultaneously; use resources that otherwise would sit idle, and get more work done in the same amount of time.
A goal was to ensure that when one logical processor is stalled the other logical processor could continue to make forward progress. A logical processor may be temporarily stalled for a variety of reasons, including servicing cache misses, handling branch mispredictions, or waiting for the results of previous instructions. Independent forward progress was ensured by managing buffering queues such that no logical processor can use all the entries when two active software threadswere executing. This is accomplished by either partitioning or limiting the number of active entries each thread can have. Another goal was to allow a processor running only one active software thread to run at the same speed on a processor with Hyper-Threading Technology as on a processor without this capability. This means that partitioned resources should be recombined when only one software thread is active. The buffering queues are either partitioned or duplicated to ensure independent forward progress through each logic block.
HT Technology takes advantage of the multithreading capability that's built in to Windows XP and many advanced applications. Multithreaded software divides its workloads into processes and threads that can be independently scheduled and dispatched. In a multiprocessor system, those threads execute on different processors. HT Technology allows a single Pentium 4 processor to function as two virtual or logical processors. There's still just one physical Pentium 4 processor in your PC — but the processor can execute two threads simultaneously.
Figure 2.1.1Greater resource utilization equals greater performance and responsiveness.
Higher clock frequencies can greatly improve performance by increasing the number of instructions that can be executed each second. ILP refers to techniques to increase the number of instructions executed each clock cycle. As shown in the fig 2.1.1, in high-performance workstations, Hyper-Threading Technology enables thread-level parallelism (TLP) by duplicating the architectural state on each processor while sharing one set of processor execution resources. When scheduling threads, the operating system treats the two distinct architectural states as separate "logical" processors, which allows multiprocessor capable software to run unmodified on twice as many logical processors. Although Hyper-Threading Technology will not provide the level of performance scaling achieved by adding a second processor, benchmark tests show video capture applications can experience up to a 30% gain in performance. This technology will perform best with operating systems that have been optimized for Hyper-Threading Technology, such as Windows XP.
2.2Performance
The advantages of Hyper-Threading are listed as: improved support for multi-threaded code, allowing multiple threads to run simultaneously, improved reaction and response time, and increased number of users a server can support. Fundamentally we still only have one CPU and one set of execution units, so if the OS dispatches two threads that contend for identical resources in the CPU then HTT could reduce performance. According to Intel, the first implementation only used an additional 5% of the die area over the "normal" processor, yet yielded performance improvements of 15-30%. Intel claims up to a 30% speed improvement compared against an otherwise identical, non-SMT Pentium 4. The performance improvement seen is very application dependent, however, and some programs actually slow down slightly when HTT is turned on. This is due to the replay system of the Pentium 4 tying up valuable execution resources, thereby starving the other thread. However, any performance degradation is unique to the Pentium 4 (due to various architectural nuances), and is not characteristic of simultaneous multithreading in general.
Figure 2.2.1No. of Processors Vs Performance
Figure 2.2.2Web Server Vs Performance
The above shown two graphs (2.2.1 & 2.2.2) explains how the perfomance of a processor varies when hyperthreading is added to it. We can also see that eventhough the number of processors and the workload of the webservers are increasing the hyperthreading shows it’s excellent performance
3.Applications
3.1Business Desktop PCs
HT Technology helps desktop users get more performance out of existing software in multitasking environments. Many applications are already multi-threaded and will automatically benefit from this technology. Business users can run the most demanding desktop applications simultaneously while maintaining system responsiveness. IT departments can deploy desktop background services that make their environments more secure, efficient and manageable, while minimizing the impact on end-user productivity and providing headroom for future business growth and new solution capabilities.
3.2Gaming and Video
The Intel® Pentium® processor Extreme Edition combines HT Technology with dual-core processing to give people PCs capable of handling four software threads. HT Technology enables gaming enthusiasts to play the latest titles and experience ultra realistic effects and game play. And multimedia enthusiasts can create, edit, and encode graphically intensive files while running a virus scan in the background. As the video editing is more important in the commercial perspective it needs fast and accurate processing of the data that will be provided by the HT technology even though the processor is in tough situation.
3.3Servers
With HT Technology, multi-threaded server software applications can execute threads in parallel within each processor in a server platform. The Intel® Xeon® processor family uses HT Technology to increase compute power and throughput for today's Web-based and enterprise server applications. In the web based applications the rate of transmission and in the case of servers handling of users is very important. In the HT technology treats the users as threads and uses the whole resources and will provide better performance in quick time.
3.4Enterprise and e-Business
Enables more users support, improving business productivity and have faster response times for Internet and e-Business applications, enhancing customer experiences. It helps to increase the number of transactions that can be processed in a time limit and allows compatibility with existing IA-32 applications and operating systems. It exhibits great performance when it handles larger workloads.
4.Future
The future of Hyper-Threading is not bright. With Intel shifting its priority in processor design to energy efficiency and multi-core instead of single-core performance, Hyper-Threading seems to be a dead end. Hyper-Threading consumes about the same amount of power as an additional processor core, even though adding the technology only offers a fraction of the performance increase compared to adding another core to a processor. Thus, Intel has decided to relegate Hyper-Threading to a feature used to separate top of the line enthusiast processors from mainstream processors. This is demonstrated in the difference between the mainstream Pentium D which does not support Hyper-Threading and the top of the line Pentium Extreme Edition which does support Hyper-Threading. We can hope that the excellent properties of transistors will help in reducing the power consumption and will bring back the hyperthreading technology in path of future.
5.Conclusion
Intel’s Hyper-Threading Technology brings the concept of simultaneous multi-threading to the Intel Architecture as advanced version of super threading technology. This is a significant new technology direction for Intel’s future processors. Even though the power consumption problems decreases the usability of HT technology in the limited number of high end applications, it will become increasingly important going forward as it adds a new technique for obtaining additional performance for lower transistor and power costs.
- References
- Technology.mht
- Kent F. Milfeld, Chona S. Guiang, Avijit Purkayastha, and John R. Boisseau, Texas Advanced Computing Center
1