Rich Freeman on 20 Mar 2013 09:35:26 -0700 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] Dumb question about System Monitor |
On Wed, Mar 20, 2013 at 11:15 AM, Adam Zion <azion1995@gmail.com> wrote: >> I've noticed across two Ubuntu releases and two Fedora releases, that >> System Monitor is reporting more CPU cores than I'm expecting. > >> Hyper Threading is the likely culprit. >> http://en.wikipedia.org/wiki/Hyper-threading > > OK- any way to solve this? What's to solve? A 4-core Intel processor exposes 8 virtual cores, and as far as the OS is concerned that's how it behaves. It just can only run 4 of those virtual cores at any particular time. You could solve it by buying an AMD processor instead I suppose, but it won't make your system any faster (well, that depends a bit on where you buy on the price/performance curve and the phase of the moon and how heat-adverse you are - not really the topic here). Back in the P4 days the Intel chips were developing much longer pipelines than AMD, and that made the cost of a failed branch prediction much higher. Their solution was hyperthreading - have more instructions staged to go on the CPU, and if for whatever reason if the CPU had to bail and restart on one of them it could instead process the other one while the other pipeline refilled. That keeps the chip busier, and reduces the impact of failed branch prediction. AMD had shorter pipelines, so they didn't bother with any of that. I'm not sure what the length of the pipelines are on modern chips, but whether for that reason or others Intel has kept the feature. No doubt implementing it costs them transistors, but their engineers have obviously decided that's the best use of them right now. For most purposes you can just pretend you have extra cores and not worry about it. Maybe in some realtime situations they might cause issues (those cores are not truly independent), and perhaps Linux has some way to disable hyperthreading on some/all cores. However, I'd expect your overall performance to drop if you did that, though your performance on a single thread might pick up (but when that thread stalls the only way for the CPU to do other work is for the OS to perform a full context switch). Rich ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug