Core parking, hyperthreading and task manager.

BD2003

Lifer
Oct 9, 1999
16,815
1
81
On my i7, under the balanced power plan, I see 4 logical processors (4-7) are parked under idle/light conditions.

Does this mean that two cores are being shut down, or that HT is being turned off?

In other words, is it running 4 full cores with no HT, or 4 threads on 2 cores with HT?
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
There is a theoretical benefit...fewer active cores/threads means processes are more likely to stay on one core and in cache. And if it's just disabling HT, it also means threads are less likely to clash and fight over the same core.

In windows 8, all you have to do is set the power profile to high performance, and it's off. I always do that when gaming.

But I was hoping to avoid a discussion of how/why to turn it off until the way it functions is established. Turning off two cores is a very different story than turning off HT.
 

Homeles

Platinum Member
Dec 9, 2011
2,580
0
0
Piggybacking to ask a somewhat related question:

Are there any thorough reviews of core parking's effect on performance? I've only seen a couple of data points where Winrar performance was severely neutered, but that's it.

The hypothesis behind disabling it is sound, but it seems like everyone and their mother is disabling something despite there being a real dearth of data to support that hypothesis.
 
Last edited:

Homeles

Platinum Member
Dec 9, 2011
2,580
0
0
Just bench it yourself. As usual, straight benchmark numbers from reviewers won't really tell us much, because the main point of interest is whether or not core parking causes stutter, not it's minimal impact on frame rates. The tool I posted just puts a Core parking setting in the Windows power CP, so you can enable and disable it whenever you want.
Today's modern reviews do expose stuttering, though. If everyone had the time to be benching their own hardware, we'd all be doing it. Most of us don't have nearly as large of an application library, either.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
BrightCandle wrote in another thread:



Is the act of core parking part of the "choosing real cores in preference to HT ones"?

Apparently not.

I noticed in hwinfo64 that it explicitly lists Core 0 Thread 0, Core 0 Thread 1, Core 1 Thread 0, etc. With that I was able to correlate it, and figure out that as far as windows is concerned, CPU 0 and 1 are Core 1, CPU 2 and 3 are Core 2, etc.

So in balanced power profile, it's parking CPUs 4-7....which means it's parking two cores, not just shutting down HT and leaving one thread per core active. I can see how that can cause performance issues.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
That can't be right. The very fact that core parking only happens when hyperthreading is enabled strongly suggests to me that it's purpose is to park virtual cores, so screw with real ones.

What makes you think core parking only happens when HT is enabled? Even my quad core non-HT Atom tablet parks cores.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
I was running some tests to see what effect core parking has on CPU and power usage. I'm using hwinfo32 to log average values over a minute until they stabilize, and I'm measuring power with a kill-a-watt. I ran torchlight 2 in a window, and used process lasso to enable/disable max core parking in both balanced and high performance power plans. The numbers are the average CPU usages, from 0-7. Remember, CPU 0/1 is core 1, 2/3 is core 2, 4/5 is core 3 and 6/7 is core 4.

HP parking 177W
66 7 20 17 0 0 0 0

HP no parking 175W
66 0 5 2 26 0 5 0

So right off the bat, you can see that core parking uses MORE power than disabling it. It's insignificant (~1-2W), but it's measurable. You can see that in either case, the windows CPU scheduler highly prefers not using HT if it can avoid it, regardless of parking - in the core parking disabled test, it barely registered any activity at all on the secondary threads of each core (just 2% on one of the cores.) But when parking is enabled, it shuts down two cores, and it splits the load more evenly across the 4 logical processors of the 2 remaining cores. Although it's still weighted towards using HT as little as possible - the second core split at 20/17, but that doesn't mean it was running two threads at once on it, it could just as easily have bounced it between them without overlapping.

Turning to the balanced power profile:

balanced parking 168W
70 11 27 22 0 2 0 0

balanced no parking 167W
72 1 6 5 31 1 11 1

Again, parking enabled uses MORE power. And its basically the same story as high performance, windows tries not to use HT - the majority of activity happens on only one logical processor of each core. Overall, it's spread out a little wider though.

(Note: Ignore the actual usage numbers, just focus on the distribution. Balanced doesn't result in higher actual CPU usage, the percentages are higher because the CPU is dynamically downclocking in response to load.)

I also tested it at idle, and it was the same story - parking on uses 1-2W *more* power, and shuts down full cores.

hp parking 98W
3 3 0 0 0 0 0 0

hp no parking 96W
1 0 1 0 4 0 0

balanced parking 92W
11 13 1 1 0 0 0 0

balanced no parking 90W
2 1 8 0 12 0 2 0

So if it's not saving power, and it's shutting down cores and potentially reducing performance, why on earth is it even enabled on a desktop? I still think its useful for mobile devices...it shaves off 10% of the power usage on my tablet. But I can't see how it's doing anything but harm on a desktop - its not saving power or increasing performance.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
On 8 or 7?

I've had a 2600K, 3770, 4771 and 4790K, and with HT disabled in Windows 7, never a single core was ever parked. There's no shortage of other people reporting the same on the net either. Usually confusion comes up in discussions about core parking, with people saying wondering why they aren't seeing any cores parking, and it turns out they have an i5 with no HT. It wouldn't surprise me though, if an atom or mobile CPU was treated differently.

This question is another endless Google rabbit hole. People seem to be divided between core parking being for reduced power consumption and thermals, and it being a method to free resources (cache) during poorly threaded workloads. If the latter were true, it would further support the idea that only virtual cores are parked, but I'm not convinced either way.

Both on Win 8. I never saw cores park on my i5 in Windows 7 either...I don't know what the deal with that is. But either way, parking in windows 8 is definitively not just shutting down HT...it's shutting down cores. Hence the name, core parking.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
It wouldn't be the first time an ill-conceived 'eco' feature backfired.

Let's impose limits on car engine displacement. Smaller engine struggles to move heavy car, uses the same or more fuel than the larger one would have.

Let's make water saving toilets with 75% of normal flush volume. People end up having to flush twice, resulting in 150% water usage.

It's not ill conceived. It does exactly what it's supposed to on mobile devices where every milliwatt matters. Just as I can see it backfire on my desktop, I can see it work perfectly on my win 8 tablet...it only shaves off 150mw, but that's a whopping 10% gain. I suspect the story is similar for laptops, although I don't have one to test.

For whatever reason though, it's not ideal on the desktop. I'm also guessing that the parking constricting the number of active cores forces those remaining cores to clock higher. There could very well be a flaw in my testing as well...but either way, we're talking about 1-2W on a desktop that draws anywhere from 80-400W, so who cares? It's not worth even the potential of a stutter or a 1% drop in performance. Just turn it off.
 

Wall Street

Senior member
Mar 28, 2012
691
44
91
I wonder if you use turbo and dont allow core parking if the CPU will still go to the top boost bins under single threaded heavy loads. I suspect that you may not be able to get the highest boost multipliers.
 

escrow4

Diamond Member
Feb 4, 2013
3,339
122
106
Hold on, doesn't Windows unpark when required? Since I've used 8 from 2012 I've left the power settings at balanced on both my 4770 boxes and never noticed anything.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
Hold on, doesn't Windows unpark when required? Since I've used 8 from 2012 I've left the power settings at balanced on both my 4770 boxes and never noticed anything.

Required is a relative term. It can only unpark after it's realized that the currently active cores arent enough....so it has to get worse before it gets better. Not something you'll notice on a desktop, but I can see how it can cause a stutter in game.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
I wonder if you use turbo and dont allow core parking if the CPU will still go to the top boost bins under single threaded heavy loads. I suspect that you may not be able to get the highest boost multipliers.

Nah, you definitely still can.
 

BD2003

Lifer
Oct 9, 1999
16,815
1
81
I found this article from someone who likes to think they're debunking the core parking tweak myth. It's on this page:



http://www.tweakhound.com/2011/09/20/bad-tweaks/



Or least it used to be, but the link is dead. I wonder if that means anything...



You can still read it here:



http://web.archive.org/web/20130903...khound.com/2013/07/15/bad-tweak-core-parking/



It's not very helpful though, including the "core parking defined" part he quotes, which never goes into enough detail.







That makes it sound like it's used beyond power management, but one can't really be sure.



Anyway, what interests me is that he thinks that core parking can be disabled by simply setting Minimum Processor State to 100%. I don't even have that setting available (presumably due to my BIOS settings), but I'm pretty sure that doesn't work anyway, at least not for HT core parking.


He's getting a few settings confused. The core parking settings aren't there by default. The minimum processor state just manages frequency.

There's a separate "core override" setting that's also deeply buried and hidden, that will always leave one logical CPU unparked per core (thus disabling HT). I believe it was on by default in 7, looks off in 8. You have to dig deep into powercfg to change it, but it's rather pointless IMO....as my tests demonstrate (and the windows internals book outlines in excruciating detail), the windows process scheduler is going to spread threads across physical cores before it starts doubling up on them with HT.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
I have never heard it in a context of anything other than power saving. Places like anandtech when they tell you about core parking its all on extra idle power saving. I guess it could be used for other purposes in regards to HT and core affinity as well, but that is Microsoft's/Intel's algorithm and more detailed information that we typically get.