FP-intensive hyperthreading on recent Xeons

We recently purchased a two-level workstation Intel X5650 to run intensive simulation float under Ubuntu 10.04.

Each X5650 has 6 cores, so there are only 12 cores. The code is trivially parallel, so I ran it mostly with 12 threads and watched the processor use "1200%" with "top".

HyperThreading is included in the BIOS, so the operating system nominally sees 24 cores. If I increase the number of threads to 24, the top reports use about 2000% of the CPU usage, however, it seems that the actual code performance is increasing by 20/12.

My question is: how does HyperThreading work on the latest generation of Xeons? Will intensive floating point code benefit from scheduling more than one thread per core? Does the answer change if the working set is in the order of the cache size compared to several times larger or there are significant I / O operations (for example, writing simulation results to disk)?

Additionally - how should I interpret the percentage of CPU utilization from the “top” when hyperthreading is enabled?

+5
source share
2 answers

HT, OS 2 . , , "" ( 1 ). , , . .

I/O-, .. - - , HT .

HT , . parallelism , , HT . FP , , HT, -, , ( SSE), , - , . , , .

HT . FP- 1 ​​ (, ).

+5

, , , . AMD, + HT-, : , (HT) 670 . -HT-, , .

3 2, , , 1 . 1 50% , 2- HT.

, , , , - ​​ , , . , , , . - .

"" . , 75% , . , 1,5 .

, , "" , , , . "" , "" .

0

All Articles