Thread: Core Parking

Page 1 of 2
1
2
LastLast
  1. #1
    Moderator chazus's Avatar
    Join Date
    Nov 2011
    Location
    Las Vegas
    Posts
    10,893

    Core Parking

    Well, it's that time again when I see posts regarding something and realize... I have little to no clue as to what something is.

    Core Parking.

    As far as I understand it, it has to do with how Windows manages cores being active, and sometimes gets a bit too zealous, leaving cores disabled when it could be using them more efficiently.

    Thats... about as far as I understand it. Modifying that info requires editing power profile settings (?)

    My question is this.

    I often see Core Parking as the suggested culprit of poor game performance. Given that I've not modified my settings to my system, why am I not experiencing problems, while other people (often with better systems) are? I guess I'm wondering if Core Parking is a sort of red herring issue, or maybe I just don't understand it clearly enough.
    Gaming: Dual Intel Pentium III Coppermine @ 1400mhz + Blue Orb | Asus CUV266-D | GeForce 2 Ti + ZF700-Cu | 1024mb Crucial PC-133 | Whistler Build 2267
    Media: Dual Intel Drake Xeon @ 600mhz | Intel Marlinspike MS440GX | Matrox G440 | 1024mb Crucial PC-133 @ 166mhz | Windows 2000 Pro

    IT'S ALWAYS BEEN WANKERSHIM | Did you mean: Fhqwhgads
    "Three days on a tree. Hardly enough time for a prelude. When it came to visiting agony, the Romans were hobbyists." -Mab

  2. #2
    Warchief mrgummage's Avatar
    Join Date
    Feb 2009
    Location
    The Hague, NL
    Posts
    2,085
    Very few PC games are optimised to make use of more than two cores anyway, so Core Parking is unlikely to be a huge issue.

  3. #3
    Task Manger > CPU > Open Resource Manager > Look @ each CPU and see if it says "parked"

  4. #4
    Core parking is normally not a problem on a fairly new computer but sometimes it can go wrong and cause some performance issues.

    http://bitsum.com/about_cpu_core_parking.php
    Intel i5-3570K @ 4.7GHz | MSI Z77 Mpower | Noctua NH-D14 | Corsair Vengeance LP White 1.35V 8GB 1600MHz
    Gigabyte GTX 670 OC Windforce 3X @ 1372/7604MHz | Corsair Force GT 120GB | Silverstone Fortress FT02 | Corsair VX450

  5. #5
    Quote Originally Posted by n0cturnal View Post
    Core parking is normally not a problem on a fairly new computer but sometimes it can go wrong and cause some performance issues.

    http://bitsum.com/about_cpu_core_parking.php
    that is a nice program, I just ran it and all is flickering green.

  6. #6
    I am Murloc! Cyanotical's Avatar
    Join Date
    Feb 2011
    Location
    Colorado
    Posts
    5,312
    Quote Originally Posted by chazus View Post
    I often see Core Parking as the suggested culprit of poor game performance. Given that I've not modified my settings to my system, why am I not experiencing problems, while other people (often with better systems) are? I guess I'm wondering if Core Parking is a sort of red herring issue, or maybe I just don't understand it clearly enough.
    people lie, and/or are dumb, my best example are the people claiming their alienware is getting 200 FPS on ultra when my system is crawling along at 45 (timeless isle launch, locked server)

    core parking is a hold over, and is not needed on anything since vista, essentially you could lock a process to only use a certain core, this was useful on dual cores so that you could put something like a render on core1 and everything else on core0

    its not needed anymore simple because SMP kernels are much more mature and handle hundreds to thousands of threads without a problem, parking a process (and subsequently all its threads and handles) on a single core will in fact reduce performance on modern computers


    it still shows up from time to time when people do some digging for ways to improve performance without spending money

    i7-4790K | Z97 Class. | 8GB DDR3-2133 | GTX-690 Quad SLI | RAIDR | 512GB Samsung 830 | AX1200 | RV05
    Dell U2711 | Ducky Shine3 YoS | Steelseries Sensei | Xonar Essence One | KRK RP8G2s

  7. #7
    Moderator chazus's Avatar
    Join Date
    Nov 2011
    Location
    Las Vegas
    Posts
    10,893
    Quote Originally Posted by n0cturnal View Post
    but sometimes it can go wrong and cause some performance issues.
    Quote Originally Posted by Cyanotical View Post
    it still shows up from time to time when people do some digging for ways to improve performance without spending money
    See, that's the issue. I'm talking about people with 3570K+ CPU's having massive FPS issues. How exactly does it 'sometimes go wrong', is it a problem with windows services? Wouldnt setting to default fix the issue (rather than modifying it manually).

    I'm just confused as to why something that works in its default state would cause problems and require modification.
    Gaming: Dual Intel Pentium III Coppermine @ 1400mhz + Blue Orb | Asus CUV266-D | GeForce 2 Ti + ZF700-Cu | 1024mb Crucial PC-133 | Whistler Build 2267
    Media: Dual Intel Drake Xeon @ 600mhz | Intel Marlinspike MS440GX | Matrox G440 | 1024mb Crucial PC-133 @ 166mhz | Windows 2000 Pro

    IT'S ALWAYS BEEN WANKERSHIM | Did you mean: Fhqwhgads
    "Three days on a tree. Hardly enough time for a prelude. When it came to visiting agony, the Romans were hobbyists." -Mab

  8. #8
    Pit Lord Cyrops's Avatar
    Join Date
    Aug 2013
    Location
    US Eonar
    Posts
    2,447
    I want to do some tests with my rig and core parking, can anyone suggest a software for that?

  9. #9
    I am Murloc! Cyanotical's Avatar
    Join Date
    Feb 2011
    Location
    Colorado
    Posts
    5,312
    Quote Originally Posted by chazus View Post
    See, that's the issue. I'm talking about people with 3570K+ CPU's having massive FPS issues. How exactly does it 'sometimes go wrong', is it a problem with windows services? Wouldnt setting to default fix the issue (rather than modifying it manually).

    I'm just confused as to why something that works in its default state would cause problems and require modification.
    most gaming and enthusiast boards default to C6 off in the bios, which eliminates the sleep status of cores, but it doesn't stop people from parking threads on a core, or at least trying to

    i think part of the problem is that people simply expect too much from a new computer, ie "wow is 10 years old, you can run ultra on a potato" not realizing the limitations of the way the engine works

    another part is the standard stuff, win7, dx11 game, youtube running with flash hardware acceleration on, etc

    i7-4790K | Z97 Class. | 8GB DDR3-2133 | GTX-690 Quad SLI | RAIDR | 512GB Samsung 830 | AX1200 | RV05
    Dell U2711 | Ducky Shine3 YoS | Steelseries Sensei | Xonar Essence One | KRK RP8G2s

  10. #10
    High Overlord Krasuss's Avatar
    Join Date
    May 2009
    Location
    Czech Republic
    Posts
    114
    Quote Originally Posted by chazus View Post
    See, that's the issue. I'm talking about people with 3570K+ CPU's having massive FPS issues. How exactly does it 'sometimes go wrong', is it a problem with windows services? Wouldnt setting to default fix the issue (rather than modifying it manually).

    I'm just confused as to why something that works in its default state would cause problems and require modification.
    iirc the unpack app modifies registers, fixing issue when sometimes all cores doesnt wake up when needed causing bad performance. I have no idea how it works exactlly, but considering it is software based i believe it can randomly get messed up like every other drivers or something and cause issues.

    I have 3570K without issues, but the race for maximum performance in BF4 in its early unoptimized state made me use it and never look back. I think the placebo effect is strong in this one lol

  11. #11
    Pit Lord Cyrops's Avatar
    Join Date
    Aug 2013
    Location
    US Eonar
    Posts
    2,447
    Ok, so I ran tests and I got clear results. When parking was enabled 4 cores were parked all the time (during testing).
    Used Shrine to Binan village flightpath as a test.

    Single WoW:
    From Shrine:
    Unprk Avg: 54.842- Min: 30 - Max: 88
    Parked Avg: 57.884 - Min: 37 - Max: 87

    To Shrine:
    Unprk Avg: 51.279 - Min: 31 - Max: 87
    Parked Avg: 53.891 - Min: 31 - Max: 93

    Dual WoW:
    From Shrine:
    Unprk Avg: 34.412 - Min: 19 - Max: 56
    Parked Avg: 29.453 - Min: 18 - Max: 51
    To Shrine:
    Unprk Avg: 33.979 - Min: 19 - Max: 56
    Parked Avg: 29.004 - Min: 16 - Max: 45

    We see clear FPS increase with 4 cores parked on single instance of WoW, but when you run two WoW's, disabling parking increases performance.

    My theory behind that: when you have parked cores, single threaded applications get a boost and when you unpark cores, multithreading gets a boost.
    In my opinion core parking is nice feature for single threaded applications, but due to some 'bug' or oversight, the cores don't get unparked efficiently. For example if I didn't have 4 cores parked running double WoW I would have perfect system (I know I'm exagerrating, but bare with me).

    My conclusion: if you have a fast CPU it's more efficient to let the thread 'wait for it's turn' than 'waste resources' assigning it to another core. In other words, threads get processed faster without switching load to other cores. But only until certain amount, as you can see from the test.

    It's only my speculations though.

    I run i7-4771 and I was using integrated GPU, so it's all CPU. It might be more accurate results without GPU or on the contrary it might skew results.

    - - - Updated - - -

    Quote Originally Posted by Krasuss View Post
    iirc the unpack app modifies registers, fixing issue when sometimes all cores doesnt wake up when needed causing bad performance. I have no idea how it works exactlly, but considering it is software based i believe it can randomly get messed up like every other drivers or something and cause issues.
    You can only turn it on or off, you can't adjust when the cores get parked/unparked.
    You can adjust the max/min amount of cores parked (you can simulate less cores on your CPU this way also).
    Last edited by Cyrops; 2014-01-08 at 06:50 PM.

  12. #12
    How many times did you run those test? Also you seem to have swapped the numbers or something since single WoW had better performance in unparked mode and dual had better in parked mode.

    Most of the difference could probably be summed down to margin of error as well.
    Intel i5-3570K @ 4.7GHz | MSI Z77 Mpower | Noctua NH-D14 | Corsair Vengeance LP White 1.35V 8GB 1600MHz
    Gigabyte GTX 670 OC Windforce 3X @ 1372/7604MHz | Corsair Force GT 120GB | Silverstone Fortress FT02 | Corsair VX450

  13. #13
    Pit Lord Cyrops's Avatar
    Join Date
    Aug 2013
    Location
    US Eonar
    Posts
    2,447
    Quote Originally Posted by n0cturnal View Post
    How many times did you run those test? Also you seem to have swapped the numbers or something since single WoW had better performance in unparked mode and dual had better in parked mode.

    Most of the difference could probably be summed down to margin of error as well.
    Ugh I'll have a second look, was editing numbers too much (couldn't find a neat way to represent results).
    Yea, oops, mixed parked/unparked names. Will fix.
    Well, I ran the test once, obviously as I couldn't handle sitting there longer
    I know the results aren't super accurate, but we can see the trend.

    The difference is obvious. Can you tell me a 'faster' way to benchmark many times? I remember there used to be in Quake games some console command to test FPS (damn I feel old -_- ).
    Last edited by Cyrops; 2014-01-08 at 06:54 PM.

  14. #14
    I recently ran into a core parking issue with my new build. Its an AMD platform, and after I killed parking via a registry edit, surprise! no more frame stuttering in games. I don't claim to know how it exactly works, but for a user with an AMD APU, having both turbo and the IGP disabled, setting the registry settings from default value of 64, to zero, gave me smooth gameplay.
    I'll edit this post when I dig up the place I found the pertinent info from.

    :::Edit::: Here's where I got the info about registry edits. ----> http://forum.cakewalk.com/Windows-7-...-m1861804.aspx

  15. #15
    Quote Originally Posted by Cyanotical View Post
    most gaming and enthusiast boards default to C6 off in the bios, which eliminates the sleep status of cores, but it doesn't stop people from parking threads on a core, or at least trying to

    i think part of the problem is that people simply expect too much from a new computer, ie "wow is 10 years old, you can run ultra on a potato" not realizing the limitations of the way the engine works

    another part is the standard stuff, win7, dx11 game, youtube running with flash hardware acceleration on, etc
    Huge performance drops are common with core parking enabled, though. Mostly on hyperthreaded processors. When you're system is essentially shutting down an entire core of an i3, performance plummets. When your i7 suddenly becomes only a dual core, same issue.
    i7-4770k - GTX 780 Ti - 16GB DDR3 Ripjaws - (2) HyperX 120s / Vertex 3 120
    ASRock Extreme3 - Sennheiser Momentums - Xonar DG - EVGA Supernova 650G - Corsair H80i

    build pics

  16. #16
    The difference is obvious.
    If you didn't do at least 3 runs (and realistically 5) for each setting then you didn't establish what expected variation is. If you run it once at get 100 FPS average and again and get 30 FPS you haven't actually measured anything except that it's possible that tests vary by 70 FPS. You need at least 3 to find what standard deviation is (because you because of that whole n-1 thing in the formula), but even then you're still haven't got enough to establish significance.


    Can you tell me a 'faster' way to benchmark many times? I remember there used to be in Quake games some console command to test FPS (damn I feel old)
    There isn't a faster way built into the game. A clever monkey that didn't care about the ToS would spend 30 seconds writing a script to feed keyboard input into WoW using autohotkey or something like the G15/BlackWidow keyboard macro software but they'd be breaking the rules they agree to when they make an account. An honest person sits in front of their computer for 15 minutes typing /timetest while having FRAPs capture frame times to an excel file.

    Why do you need fraps? Consider a 60 second flightpath, if you have a 0.5 second "lag" at the start of the run and then a rock-solid 1 frame every 16 MS your average should be 60 FPS but ends up being 58 FPS (after rounding). On the other had, an inconsistent frame rate (possibly caused by resource starvation or having your thread cache-miss more can lead to frame rates that looks something like 1 frame every 0.5 seconds followed by 150 FPS for half a second. It will look like a slide show but benchmark at >70 FPS. The second feels worse but 'records' higher. The "mostly correct" way to do bencharks like this is to record frame times, drop the top and bottom 1%, then calculate mean and standard deviation and then convert those into 95% confidence average frame rates. You can probably work out how to do this with excel in 10 minutes but it's highschool mathematics so you could do it with pen-and-paper in about the same amount of time.

    EDIT: Many 'professionals' writing for enthusiasts will do three runs on any givne setting and use the best of 3 as the point for comparison. That works better than trying 3 runs but worse than 5+. It's a good compromise between sitting around waiting and accuracy. The problem with that approach is that we'd expect small differences if Windows is running correctly so it's possible to be misled and miss something small. You wouldn't want to confirm the null hypothesis by mistake so more runs and better analysis are probably required for this kind of thing.

    Yes, it takes work - but you actually learn something from the process and you aren't misled by garbage figures.
    Last edited by evn; 2014-01-09 at 01:04 AM.
    A new UI series for 5.2Steal my old UILearn about WeakAuras • Nobody to raid with right now so no PVE videos.

  17. #17
    Pit Lord Cyrops's Avatar
    Join Date
    Aug 2013
    Location
    US Eonar
    Posts
    2,447
    /timetest was what I was looking for
    I'll do the 'honest person' approach and sit there for 15mins *cough*
    Once I'm back home, that is.

  18. #18
    Immortal Notarget's Avatar
    Join Date
    Feb 2010
    Location
    Dark Side of the Moon
    Posts
    7,828
    Quote Originally Posted by Cyrops View Post
    /timetest was what I was looking for
    I'll do the 'honest person' approach and sit there for 15mins *cough*
    Once I'm back home, that is.
    Just make sure you follow EVN's way of testing to the point and probably a few extra tests on top of that or he might not approve

    I look forward to the results though.
    Last edited by Notarget; 2014-01-09 at 01:24 PM.
    CPU: Intel i5-3570k (4.5GHz) MB: ASUS Z77 Sabertooth (uefi 2003)
    GPU: Asus 280X TOP (1130MHz/1750MHz) RAM: Corsair LP/LV white 8GB 1600MHz
    SSD: Samsung 840Pro 256GB + Crucial m4 128GB (040H) PSU: Seasonic 620M CASE: Corsair 500R (White/Black) Monitor: 1440p BenQ GW2765HT 1080p LG 237L-BN IPS
    Current build! ||Old Build || Bitdefender Total Security 2015 || AV-TEST 2014

  19. #19
    Pit Lord Cyrops's Avatar
    Join Date
    Aug 2013
    Location
    US Eonar
    Posts
    2,447
    Quote Originally Posted by Notarget View Post
    Just make sure you follow EVN's way of testing to the point and probably a few extra tests on top of that or he might not approve

    I look forward to the results though.
    I was using FRAPS, but didn't know the /timetest

  20. #20
    Quote Originally Posted by Cyanotical View Post
    ...
    core parking is a hold over, and is not needed on anything since vista, essentially you could lock a process to only use a certain core, this was useful on dual cores so that you could put something like a render on core1 and everything else on core0
    ...
    Think you're confusing core parking with dynamic core assignment.

    Core parking would be disabling one or more cores if they are no tasks requiring them running.
    What you are talking about is dynamic core time allocation or w/e the name is, anyways it's about OS executing task X on core Y then moving it to core Z and back to Y and so on and so forth, why is it done? I'm not sure.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •