That means you have hyperthreading turned on. There is a BIOS setting to turn that off if you don't want it.
Hyperthreading makes each core act like two cores that are each around half as fast as the real core. For some work loads, each half of a core may be significantly more than half as fast as the real core, so that for those work loads having hyperthreading turned on will improve total system performance. Computations that switch between a high rate of branch misprediction and a high rate of floating point computation can benefit a lot from hyperthreading (as long as you also have enough threads doing that kind of work).
For some work loads, especially those with high cache miss rates, each half core may be significantly slower than half a real core, so hyperthreading may significantly reduce total system performance.
If you have fewer than 32 threads using CPU time, the OS should be smart enough to idle half of each core before idling all of any one core. When hyperthreading is enabled but half of a core is idle, the other half is nearly as fast as it would have been with hyperthreading disabled. So often having fewer than 32 threads active is not necessarily a reason for wanting hyperthreading off. But if you rarely have more than 16 threads active, then there is some overhead to having hyperthreading enabled with half of each core idle vs. hyperthreading disabled.
If you have processes active with a variety of different priorities, hyperthreading could make the high priority processes get half as much work done as they would without hyperthreading, while low priority processes get more work done.
Hopefully, I have given you some of the basic concepts to inform the decision of whether you should reboot into BIOS setup and disable hyperthreading. But ultimately that decision is either a guess or the result of very difficult controlled experiments. Determining whether hyperthreading is better or worse from just the kind of general ideas I described above is not a reliable way to make the best decision.
BTW, others reading this may have very few cores and have the decision of whether to turn hyperthreading on or off. With very few cores, hyperthreading may improve the responsiveness of the system and reduce various latencies even though it slows the throughput of major computations. So it might be a good idea even if it doesn't improve total performance. The OP, with 16 real cores, is far outside the range where you would enable hyperthreading to reduce latencies. If it doesn't improve the total throughput, turn it off.
Last edited by johnsfine; 11-01-2012 at 09:48 AM.