Easy way to improve CPU usage


  1. Posts : 238
    Win7-64
       #1

    Easy way to improve CPU usage


    I was rendering an HD video in Sony Vegas and thought I'd check how my i7-920's 8 CPUs were doing. So I started Task Manager and noticed that only 5 of the 8 CPUs seemed busy. (Vegas is set to 8 threads for rendering video.)

    So I started Resource Monitor and clicked on the CPU tab. What I discovered was that most of the time 3 CPUs were "parked". When parked they were doing no work (utilization =0.) So even though Vegas

    Why? Well apparently Microsoft decided that its OK to disable some CPUs to save power (and reduce chip temperature.) But my electricity bills are OK and my PC has a good 3rd party cooler. I figured I'd rather have all 8 CPUs working on rendering.

    I Googled "CPU Parking" and found that, for each Power Scheme defined in Control Panel/Power Options there are 2 parameters that control CPU parking: Min and Max. Microsoft sets Min = 0 and Max =100 which means at any time all of the CPUs can be parked. It is not clear how Windows decides which CPUs to park when, but it apparently does.

    I found the following fix to disable parking:

    These steps allow a multi-core CPU to use all of its processors when rendering:

    - Go to Regedit

    - Find this key:- " 0cc5b647-c1df-4637-891a-dec35c318583 "

    - Within this key, there is a value called: " ValueMax "

    - This value represents the % number of cores the system will park - the default 100% ie: all Cores are potentially park-able

    - Change the value from 64 to 0 so the " ValueMin " and " ValueMax " are both zero

    - You will have to find the key a few times and repeat the process for each time it is found - the number of instances will depend on the number of power profiles in your system [ in my DAW it was only found twice ]

    - Do a full shutdown and power-off and cold-re-start

    This works. (You just have to restart after making the change; power off is not req'd.) After the change what I noticed is 2 things:

    1. All CPUs are working during rendering

    2. The workload is spread much more evenly across the CPUs than when some were parked

    Here is the webpage I found that has lots of background and additional links on this:

    Windows 7 & Core Parking .... a *better* way to Turn It OFF ....

    From what I can tell from initial tests this change has speeded up rendering on my system by about 20%. I think this is a nice performance improvement for a simple registry tweak.
      My Computer


  2. Posts : 8,398
    ultimate 64 sp1
       #2

    this looks like a great tip - are there any downsides in doing this, apart from increased electricity bills?
      My Computer


  3. Posts : 908
    Windows 7 Home Premium
       #3

    bbinnard said:
    I was rendering an HD video in Sony Vegas and thought I'd check how my i7-920's 8 CPUs were doing. So I started Task Manager and noticed that only 5 of the 8 CPUs seemed busy. (Vegas is set to 8 threads for rendering video.)

    Why? Well apparently Microsoft decided that its OK to disable some CPUs to save power (and reduce chip temperature.) But my electricity bills are OK and my PC has a good 3rd party cooler. I figured I'd rather have all 8 CPUs working on rendering.

    This is a different setting than that found in the advanced Control Panel/Power Options setting?

    Ap
      My Computer


  4. Posts : 6,285
    Windows 10 Pro X64
       #4

    Did it improve rendering performance or just distribute the load better?
      My Computer

  5.   My Computer


  6. Posts : 6,285
    Windows 10 Pro X64
       #6

    Interesting, the state and cache transfer to a different core actually slows things down.

    Thanks Shawn.
      My Computer


  7. Posts : 6,349
    Windows7 Pro 64bit SP-1; Windows XP Pro 32bit
       #7

    .....and another Urban Legend bites the dust.

    Thanks Brink
      My Computer


  8. Posts : 72,037
    64-bit Windows 11 Pro for Workstations
       #8

    You're welcome. I was thinking about doing a tutorial on it when I read what was in that link and how it could more likely slow things down instead. Oh well, maybe the next one. :)
      My Computer


  9. Posts : 238
    Win7-64
    Thread Starter
       #9

    Hopalong X said:
    .....and another Urban Legend bites the dust.
    Well I'm not so sure.....

    I read those papers too. And it seemed to me the primary reason for introducing core parking was to prolong laptop battery life, which of course it will do. And naturally, since less power is being used, less heat is produced. I have no problem for this for laptop users.

    But a desktop system is not the same. Obviously desktops have neither battery or power/heat limitations (unless you do over-clocking which is another matter altogether.)

    The point about switching tasks between cores is exactly correct - since each core has its own look-ahead buffer any time a task has to switch cores that buffer has to be emptied and refilled. Plus all the CPU registers have to be reloaded. Clearly this cause a performance hit.

    But how can anyone say parking reduces this hit? It seems to me it can only increase the likelihood of this happening. Here's why:

    Most Win7 systems have something like 60 - 80 individual processes running, independent of applications. I've pared mine down to what I think is the bare minimum and it runs with 39. What this means is there are at least 39 pieces of software active on the system at all times, any of which can ask for CPU service at any time. And this is with no applications running at all.

    So if I have more cores active (8 in my case) doesn't it seem logical that there would be less switching between cores than if I had fewer? In the most extreme case (1 single threaded core) only one instruction stream can be processed at a time, so if there are multiple streams that need processing the system is forced to task switch for each one in turn. With 8 cores active at least the system is able to keep 8 instruction streams running continuously.

    Without a detailed trace of internal activities it is impossible to know exactly what processes get CPU service when, but with (say) 50 active Windows processes along with however many apps are running I think it's safe to say there is a fair amount of task switching going on all the time. So how can anyone say that fewer instruction stream processors is better than more? If this were true, why not turn all of them off except one? And why have multi-threaded chips anyway? Does that make sense? I don't think so.

    More instruction stream processors = less switching between instruction streams and this is the desired result.
      My Computer


  10. Posts : 6,349
    Windows7 Pro 64bit SP-1; Windows XP Pro 32bit
       #10

    You have 4 cores active. Intel® Core

    Hyper threading shows as a core but just increases speed because it is bidirectional. That is the way Windows recognizes it. Always has even on the P4 HT.

    Intel® Hyper-Threading technology enables highly threaded applications to get more work done in parallel. With 8 threads available to the operating system, multi-tasking becomes even easier³.
    Intel® Hyper-Threading Technology (Intel® HT Technology)

    A quad core CPU such as yours is equivalent to four Pentium 4 HT CPU's at one time.
    One P4 does the work at hand for start up processes.
    You start rendering videos it kicks in a second P4 to help. If necessary it uses the third and fourth core.
    All the time it is using the fastest internal links of the quad core structure to its advantage.
    The firmware built into the CPU by Intel (even AMD's multi cores) uses internal structure for maximum efficiency and synchronization.

    What you have done is make four CPU's that work independently first.
    Synchronization between them comes second.
    The firmware synchronization has been limited by your software overrides.

    That is the simplified basics. Dig in to the Intel website if you wish.

    Mike
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 08:25.
Find Us