2 things I do not understand about CPU

minun

Distinguished
May 27, 2010
155
0
18,690
1. In Windows Task Manager, if I increase the Priority (it is currently the lowest) on a game, will it run better? I do not understand how increasing Priority affect programs/process.

2. What are Parked CPUs?

http://img39.imageshack.us/f/cpugn.jpg/

Thank you!
 
1. increasing priority simply does that. It increases the priority of resources to the process you set priority for. For example, if you run folding@home, it automatically reduces priority. So although it will use 100% usage on all your cores, other processes will have priority so they will not get slowed down trying to access resources that folding@home is getting.

If you set priority to high for gaming, it will make no difference since I assume you aren't running any heavy tasks in the background.

2. I have never heard of this but a google search tells me this is a power saving feature of windows 7. I may look more into it.
I found this thread that seems to explain:
http://www.techspot.com/vb/topic145893.html
 

4745454b

Titan
Moderator
Threads are anything thats running on your computer. The OS runs many threads, and each program will be running at least one and often more. Each thread will work its way through the CPU core, one at a time.

Diggle, you didn't just quote someone and fail to cite him did you? If thats your own explanation then you shouldn't have used quotes. If someone else wrote that, you should have given credit.
 

Bacterius

Distinguished
Dec 21, 2010
215
0
18,710
In Windows Task Manager, if I increase the Priority (it is currently the lowest) on a game, will it run better? I do not understand how increasing Priority affect programs/process.
It will have a marginal impact on performance, the Windows Scheduler already does a very good job at prioritizing applications, and changing the priority of a busy application is more likely to freeze the others and globally make your system perform worse (input lag, stuttering, etc...).

I understand now thanks!, but what are threads exactly?
A thread is kind of a hard concept to grasp. A thread is one part of a process that independently executes code that is associated with it. This allows for parallelized execution, like with two different processes, your browser can display a website while your music player plays your song, if they were in the same thread you'd have something like half the page displayed - a bit of music - the other half displayed, etc: a thread can only do one thing at a time, so for different tasks you use more threads - your CPU itself can only do so much at a time, but this is transparent to the system and the thread scheduler in your OS does its best to fit all your threads into the CPU as efficiently as possible.

A funnel :
stemfun.jpg


Picture a thread as a marble and the CPU as a funnel. When a marble falls completely through the funnel, the "code" that was associated with that marble (thread) gets executed, and the marble is put back into the funnel for the next bit of code. Marbles compete together to get to the funnel as quickly as possible. Priority can be pictured as the size of a marble - the smaller the marble, the easier it will fall between the others and make it through the funnel quicker.

Problem is, if you have a tiny marble (maximum priority thread) that keeps going through the funnel extremely quickly, other, heavier marbles will have trouble actually getting through themselves, and since those marbles happen to be critical system processes, drivers, etc... your system will slow down as a [strike]hole[/strike] whole.

Multi-core CPU's can be pictured as having many different funnels (one per core), and marbles are put back into the funnel that has the least amount of marbles in it. So with a CPU with more cores, it is harder to slow down the system since if you bottleneck one funnel you still have others to work with, but it does have an impact anyway.

Pretty effective picture right?

So overall thread/process priority is best left alone unless you really know what you're doing.
 

4745454b

Titan
Moderator
It was actually a really good analogy. I think the only thing it didn't cover was OoO execution. But thats the only thing I didn't see. Its clear enough that I can see bookmarking it and using it to try to explain CPUs, cores, threads, etc.