I recently bought a new computer which has hyperthreading technology. What effect will this have on Micro-Cap performance?
Intel has recently incorporated a new technology called hyperthreading into their latest CPU offerings. It was initially introduced for the 3.1GHz Pentium 4 processor and will probably become fairly standard for business computers in the future.
Hyperthreading technology acts much like a multiple processor system. In fact, as far as the Windows operating system is concerned, there are two processors in the computer. Each application loaded is assigned a thread through the processor. The advantage to this technique is that multiple programs can be running at the same time without as much system degradation since one application isn't dominating the CPU's processing time. This can be quite useful if you have programs running in the background such as a virus scanner or when Micro-Cap is performing a long simulation.
While this technology will improve the stability and performance of the system when more than one program is running, only applications that have been written to take advantage of hyperthreading will see their individual performance improve when compared to a single processor computer.
The main disadvantage of the hyperthreading technology is that it still has only a single floating point unit. Applications that use highly intensive floating point operations such as Micro-Cap would see little to no benefit from optimizing for hyperthreading due to the floating point unit bottleneck. If two applications are running that both use the floating point unit extensively then much of the benefit of hyperthreading is lost. The optimum situation is to have an application such as Micro-Cap running along with an application such as Microsoft Word so that the floating point unit can be devoted entirely to Micro-Cap. The hyperthreading benefit will still be available when running Word at the same time.
A question that arises from all this is if Micro-Cap is running by itself, does hyperthreading help or hinder the speed of a simulation? With hyperthreading enabled, when you go to the Windows Task Manager and view the Processes that are running, the Micro-Cap executable process will appear to be taking up only 50% of the CPU time even though the other 50% is only being used by the System Idle Process. On a standard single processor, when Micro-Cap is running an analysis, it will typically take up to 99% of the CPU time when running by itself. At first instance, this would seem to be a large detriment to running Micro-Cap with hyperthreading as it appears to use only half of the resources of the CPU then it would if hyperthreading was disabled.
In order to test this, we ran a section of our trusty benchmarks on a new Dell Dimension 8300 which contains the hyperthreading technology. The benchmarks were run twice, once with hyperthreading enabled and a second time when hyperthreading was disabled. Hyperthreading can be enabled/disabled in the BIOS screen of the system. This is the screen that can be accessed usually by hitting either the F2 or Delete key when the system first boots up. Having hyperthreading enabled or disabled makes very little difference in the time of the runs. The difference between the total benchmark run times of the two states is about 1.5%. This falls within the error tolerance when running the benchmark on the same system from one day to the next.
Our recommendation is to leave the hyperthreading enabled. There is very little, if any, penalty in having it enabled, and it is a useful feature when running multiple applications.