Wednesday, May 1, 2013

100% vs 50% CPU usage, twice as fast? Not really!

Some user observed that when performing a search, the CPU usage for PEAKS would only go up to 50%. Why PEAKS does not use 100% of the CPU?

The observation is for sure valid, but the CPU usage reported by Windows Task Manager is somewhat misleading. 100% CPU usage does not mean the program is running twice as fast as under 50% CPU usage. The reason for this is, in my opinion, due to the Hyper-Threading technology most Intel CPUs have enabled by default. While the technology can improve the performance and responsiveness of a computer in some situation, it does not help much for computation heavy application, like PEAKS.

I did a performance test on a desktop PC with the following specification, a quad-core CPU with lots of RAM.
Intel i7 3770 3.4GHz CPU (quad core with hyperthreading)
System drive SSD, data drive 7200RPM HDD
Windows 8 Pro 64bit
The dataset contains about 9000 MS/MS spectrum from Thermo Orbitrap instrument. PEAKS de novo was manually configured to run on 1, 2, 4 and 8 threads configuration respectively. For each configuration, two searches were done, one with hyper-threading enabled, one with hyper-threading disabled. So in total, there were 8 runs, a clean project was created for each run and the PC was rebooted between the runs.

As you can see on the chart, with HT enabled, there is only about 10% performance gain running 8 threads (100% CPU usage) than running 4 threads (50% CPU usage). The search indeed run slightly faster, but the computer is not very responsive for even the simplest tasks like email, excel, etc.

1 comment: