|
Advice Beginners BIOS Guide CPUs Links Mainboards Memory Network Storage Video/Sound Cards Contact Forum SiteMap Sponsors WebNews Home |
. | . |
Prices: Mainboards ABIT ASUS Chaintech Shuttle Soyo Tyan CPU Intel P4 2.4C-800 P4 2.6C-800 P4 2.8C-800 P4 3.0-800 P4 3.2-800 AMD AthlonXP XP 1700+ XP 2000+ XP 2400+ XP 2500+ XP 2700+ XP 3000+ XP 3200+ Athlon64 Athlon64 3200+ Athlon64 FX-51 Opteron Opteron 240 Opteron 242 Opteron 244 Opteron 246 Memory Corsair Crucial Kingston Mushkin OCZ |
LOSTCIRCUITS |
|
| Pentium4 3.06 GHz GHz HyperThreading and the Non-Parallel Universe | |
| (Review by MS, Nov. 18, 2002) |
No processor can double its performance by wearing a new name or even by creating a logical clone of itself. Such practice would be analogous to putting up a mirror and pretending to do twice the work. In many ways, however, HT can be compared with one person working two jobs at the time, which either requires constantly running back and forth between offices or sitting in one office working for two different companies. Everybody knows that not every workday is 100% busy, rather, there are phases of activity and pauses. Let's say that there is only one phone and the employee has to wait for someone to return a call. In this situation he cannot make other calls until the return call has come in. In order to use this pause for a different call, additional hardware will be required, e.g. a second phone. Compared to the overall office, another phone is a minor overhead, however, the overall productivity will increase. The increase in productivity will be relative to the overall workload, that is, it will depend on how many pauses there are and how poorly or how well the worker is utilized in his/her job. On the other hand, there will also be a drawback of having to divert attention in order to be prepared for possibly upcoming tasks which then could result in a performance hit compared to a single workload attacked with undivided attention.
In tech-jargon, the zipper is called thread-level-parallelism (TLP) and as we explained above, it does not increase the performance of the processor itself but it increases the utilization of processor execution resources. As a rule of thumb, Intel claims an average 40% improvement in resource utilization, which by its own nature will allow higher processing throughput. Because multiple applications are loaded into the TLP naturally, this also means reduced switching time in multitasking applications. Again, and that is really the key issue here, simultaneous HyperThreading thrives on utilizing CPU resources that would otherwise be idle and nothing else. Likewise, the diversification of attention would be the multiprocessing kernel overhead in the current tech-parlance.
From a software standpoint, HT is transparent to the operating system, many current applications are already multithreaded but it is up to the software developers to take full advantage of the potential of TLP. There are differences between operating systems as well. Windows 9x by definition is not capable of using either multi processing or multithreading, Windows 2000 can handle multiprocessor systems but is not optimized for HyperThreading, WindowsXP can do both. For the P4 at hand, it doesn't matter whether W2K or WinXP is being used, the differences mentioned will mostly come to bear in system configurations where multiple processors capable of HyperThreading are used. Important here is also to mention that software licensing agreements are bound (at least in most cases) to physical processors and, therefore, HT will not be subject to additional fees or dues.
Windows Task Manager immediately after terminating one benchmark run of 3DMark2001SE at the end of the High Detail Car Chase. The CPU usage of both logical processors adds up to 100%, however, if the load is averaged, each processor only comes out as running 50%. We have seen the same before using SMP systems: 3DMark2001SE does not benefit from enabling HyperThreading or MultiProcessing.
One thing should already be clear. By definition, HT will not result in any performance increase in single non-multithreaded application workloads. If there is nothing to toggle, additional logical or even physical processors will not be of any use and the only effect will be load balancing which, in the analogy of the office HyperThreader would be to swap a blue hat for a red hat while the actual performance/persona stays the same. Another thing that fits this analogy quite well is the fact that if any application already fully utilizes the processor resources, there will be no benefit from HyperThreading. On the contrary, we will actually see a performance hit because of the additional administrative effort going into management of two processors regardless of whether they are logical or physical.
Windows Task Manager while running Caligari TrueSpace 5.1 3D rendering. Both logical processors are running under full load, for a sum of 200% or an average of 100% CPU usage of both logical processors. Multithreading and Multiprocessing were enabled in this application.
What about SMP enabled applications, that is applications that are capable of taking full advantage of dual processors? In this case, we actually will not see load balancing but we'll see both logical processors running at full load. What happens to the performance in this case, is another story that we will cover later, it is actually quite interesting.
next page: => The Good, The Bad And The Ugly =>