Computer Help forum

Resolved Question

Why is my CPU not being utilized efficiently?

by qpruwoei / August 6, 2011 8:32 AM PDT

Hardware and specs:
3.4Ghz Intel Core i7-2600K 8MB Cache Quad-Core
ASUS SABERTOOTH P67 REV 3.0 (Intel P67, 2xPCI-E, 8xSATA, 4xDDR3
16GB (4GBx4) PC3 10666 DDR3 1333Mhz Memory
128GB Crucial RealSSD C300 CTFDDAC128MAG-1G1 SATA3 SSD
1536MB GeForce GTX 580 GDDR5 PCI-E Dual-DVI

qpruwoei has chosen the best answer to their question. View answer
Discussion is locked
You are posting a reply to: Why is my CPU not being utilized efficiently?
The posting of advertisements, profanity, or personal attacks is prohibited. Please refer to our CNET Forums policies for details. All submitted content is subject to our Terms of Use.
Track this discussion and email me when there are updates

If you're asking for technical help, please be sure to include all your system info, including operating system, model number, and any other specifics related to the problem. Also please exercise your best judgment when posting in the forums--revealing personal information such as your e-mail address, telephone number, and address is not recommended.

You are reporting the following post: Why is my CPU not being utilized efficiently?
This post has been flagged and will be reviewed by our staff. Thank you for helping us maintain CNET's great community.
Sorry, there was a problem flagging this post. Please try again now or at a later time.
If you believe this post is offensive or violates the CNET Forums' Usage policies, you can report it below (this will not automatically remove the post). Once reported, our moderators will be notified and the post will be reviewed.
Collapse -
Clarification Request
You indicate a QUAD CORE ...
by Edward ODaniel / August 6, 2011 11:03 AM PDT

but seem overly worried about only four cores showing activity - What does QUAD mean to you?

No matter how many cores or actual processors unless the software is actually written for them to take advantage of their capabilities the multiple cores help some but not anything like doubling or in your case quadrupling the processing capability.

Lagging is a very relative term and means different things to different people. Generally when the "lagging" complaint is linked to GAMES it is the video card that needs attention. Have you configured it for optimal performance with your problem games?

Collapse -
I'm a technonoob, so quad means 4
by qpruwoei / August 6, 2011 4:55 PM PDT

but I saw 8, so I was confused.

All Answers

Best Answer chosen by qpruwoei

Collapse -
This is a big can of worms
by Jimmy Greystone / August 6, 2011 10:59 AM PDT

This is a big can of worms, and it's the subject of a lot of research in the computer science world right now.

Programs have to be specifically written to make use of more than one CPU or core (there's a subtle difference, but for our purposes here they can be used interchangeably) and it's a lot of work for a programmer (currently) to keep that many balls in the air.

So let's just take a rather simplistic example of a video player program. Seems like it would make sense to break up the audio and video decoding into two separate processes, right? So now you have those two processes, plus you need a third that coordinates the actions between the two so that they stay in sync. Otherwise, the audio decoding process would get way ahead of the video, since there's many times less data in the audio stream to process. So as the developer, now you have to keep track of the two decoding processes, and also that sort of overlord process that keeps all the other processes in line. Now let's say you want to be able to add some basic controls so you can pause, resume, fast forward, etc, and you make that into a new process. This new process now has to be able to communicate with the overlord process to be able to tell it that it needs to take some kind of action with the audio and video decoding process. So you've added inter-process communications to the mix, and now this overlord process also has to be listening in case that input process says that you pressed the pause button or something. The more functions you add in, and then break off into separate processes then has to be monitored by this overlord process which gets to be more and more complex every time you add some new feature.

There's a lot of work going on in the computer science field to try and come up with some method of simplifying the process for programmers, but it's a very difficult problem to tackle as you can probably imagine just from my rather simple example. Right now the hardware is far outstripping the pace of research related developments into the issue, and the number of people who can juggle that many balls without dropping them tend to be few. So you don't see a large number of programs really using multi-core CPUs to their full advantage. It's just something you're going to have to learn to live with, because there's probably no magic bullet anywhere on the horizon for this problem.

Collapse -
Thansk for the feedback.
by qpruwoei / August 6, 2011 5:00 PM PDT

I actually get that analogy, no thanks to my nonexistent computer science education.

Collapse -
Not quite
by Jimmy Greystone / August 6, 2011 11:26 PM PDT

Not quite... It's kind of a situation where CPU makers couldn't just keep increasing the CPU speed like they had in the past, because they were very quickly hitting the limits of what was possible with current manufacturing methods. However, they still needed some way to justify getting people to buy new products, so they came up with sandwiching multiple CPU cores onto a single chip.

That works all fine and well when you may have Program A running on one core and Program B running on another core, but if you want to have Program C using more than one core at a time, it requires a lot of work.

And yes, clock speeds are per core. The difference between a multi-core system and a multi-CPU system, is that with multi-core there's only one set of interrupts. Which is to say there's only one path in and out for all cores. So it doesn't matter if you have 2 or 50 cores on a CPU, all the data comes in and out in a single place. So if one core finishes working on what it's doing while another core is shipping data out, the first core has to wait for the second core to finish. Same deal as if one core is waiting for another core to finish bringing in fresh data to work on. It's a less ideal solution compared to multi-CPU setups, but it's also cheaper, so it's kind of a tradeoff. And in this case, all the coordination efforts are being handled by the CPU's internal logic, so you just have to hope Intel's engineers did a good job.

Finally, you have a quad core hyperthreaded CPU. Without going into large amounts of detail, hyperthreading just means that some of the instruction processing logic for each core is duplicated allowing you to run two processes on a single core. The OS sees it as another core, though it's not quite that simple. So if Process A is already running on a core, and then you start Process B, it can only use whatever functions of the core Process A isn't using. So it wouldn't be very useful to run two copies of Process A on the same core, because they both want to use the same functions.

The moral of the story here is, is that multi-core CPUs are kind of a solution in search of a problem. Most people seem to think that the processing power stacks, so if you have a quad core 3.4GHz chip, that's the same as a 13.6GHz single core CPU. It's not. Think of it like the old telephone operators who used to have to manually connect phone calls by plugging various wires into different holes. A single core CPU is like a single operator who can only make one connection at a time. Doesn't matter how fast she can make those connections, it's still only one at a time. On a multi-core CPU it's like having a room with 2-4 different operators, each making connections. So if you have a large number of people calling in to the switchboard, the call load will be handled much more smoothly with multiple operators as opposed to a single operator who just works faster. You have some redundancy built into the system so that if one operator needs to go on a lunch break, the whole system doesn't come screeching to a halt.

Collapse -
Answer
Core parking
by Bob__B / August 6, 2011 11:52 PM PDT
Collapse -
After doing a little research
by Jimmy Greystone / August 7, 2011 12:55 AM PDT
In reply to: Core parking

After doing a little research on core parking, it looks like it's really not something you want to disable. Doing so can actually decrease overall performance, and also increase power consumption, which leads to more heat being generated, etc. It's yet another one of those aspects of Windows that is set the way it is because it's the best setting for the overwhelming majority of people.

Default settings in Windows don't just happen, there's a lot of time spent by developers testing different settings and deciding which is the best for the largest number of people.

Popular Forums
icon
Computer Newbies 10,686 discussions
icon
Computer Help 54,365 discussions
icon
Laptops 21,181 discussions
icon
Networking & Wireless 16,313 discussions
icon
Phones 17,137 discussions
icon
Security 31,287 discussions
icon
TVs & Home Theaters 22,101 discussions
icon
Windows 7 8,164 discussions
icon
Windows 10 2,657 discussions

CNET FORUMS TOP DISCUSSION

Help, my PC with Windows 10 won't shut down properly

Since upgrading to Windows 10 my computer won't shut down properly. I use the menu button shutdown and the screen goes blank, but the system does not fully shut down. The only way to get it to shut down is to hold the physical power button down till it shuts down. Any suggestions?