Posted on 08/14/2023 12:14:33 PM PDT by ShadowAce
Intel’s adoption of a hybrid core architecture has significantly changed the roadmap of the PC space. More and more applications are now taking advantage of the “secondary” low-power P-cores to boost performance as well as efficiency. Of course, this approach has its own shortcomings, which Intel plans to iron out in the coming years. The first, most radical change involves replacing hyper-threading with a more efficient pseudo-multi-threaded solution: Rentable Units.
As far as the different applications running on your PC are concerned, they can’t differentiate between the physical and logical cores born out of hyper-threading. They see all as equal. On the hardware side, enabling it requires some additional registers on each core to keep track of the data associated with the logical thread. The program counter is one such register.
At any particular instance, an 8-core CPU with hyper-threading will still have only eight executing threads. The reason is that the cache (L1 and L2) and the Execution Units (ALUs) on each core can only work on one thread at a time. So, then what does hyper-threading, also Simultaneous Multi-Threading, do on a CPU?
Hyper-threading ensures that the CPU cores (mostly the Execution Units) don’t slack off. In the above figure, you can see the core utilization with and without hyperthreading. As you can see, the logical or hyper-thread takes over when the primary thread is stalled or waiting for an input, thereby utilizing the otherwise wasted CPU time, also known as bubbles.
Hyper-threading is often compared to a dock worker collecting baggage from two conveyer belts at once. He can do more work if the intervals between two baggage units on a belt are filled by the units coming from a second belt. Of course, this doesn’t always work as planned. Not all workloads have the stalls needed to make hyper-threading relevant, in which case the two threads start competing for resources, lowering the performance in the process.
An Intel patent is the first to officially hint at the coming of the reapers, err, I mean the Rentable Units. The patent calls the RU the “Instruction Processing Circuit“, meaning that it may be called something else at release. In the below figure, you can see the difference between hyper-threading and Rentable Units and how it’s especially useful on hybrid-core processors.
On a hybrid-core CPU, the more demanding task is assigned to the P-core, leaving the others to the E-core. Being considerably faster, the former often ends up finishing the task much earlier than its counterpart, leaving the core idle for a notable period (bubble).
The Rentable Unit splits the first thread of incoming instructions into two partitions, assigning two different cores to each based on the complexity. In a simple example, the longer, more complex half would be assigned to the P-core, while the simpler part would be sent to the E-core. Whichever is more efficient.
Both the threads would be executed simultaneously on the two cores. As you can see, this approach is much more flexible than hyper-threading (thanks, Tom, you were right). Without going into too much detail, Rentable Units will employ various timers and counters to track the utilization of each P and E core, passing the next thread of instructions to whichever is idle and most suited.
Different paths will be weighted for the most optimal outcome, that is, which core is best suited for the task given current resource usage and partition complexity.
This implementation will come with its own challenges. For example, keeping track of the various thread buffers will require a fair amount of registers/cache. That said, this method looks much cleaner and more efficient than existing hyper-threading designs.
Excellent.
I need to install some of these in a hyper-alloy combat chassis; fully-armored; very tough.
Translation: You’ll be able to download your porn faster.
Bkmk
use System.Threading;
Thread T1 = new Thread(work);
Thread T2 = new Thread(work);
T1.Priority = ThreadPriority.Highest;
T2.Priority = ThreadPriority.BelowNormal;
I use something like that in my homemade app for downloading market data I use for a little swing trading (very little, more like a hobby) from 3 free sources and writing it to a database, all in the background so it doesn't hog up my system. And with a sister app I have it generate reports and graphs for me at high priority so that it gives me the reports quickly since I'm manually calling for them.
My wife summarized this article for me and explained that the thingies don’t need to do the you-know-whats. So that now they have a different whatchamacallit. And it’s good.
Justine Miceli
I thought I saw her in a shampoo commercial
Pantene?
Cue more Seinfeld
Bleh - for a second I thought Intel was trying to go to a subscription model on their processors with “rentable units” - the first core comes included with the CPU - rent the additional cores on your cpu with a modest monthly subscription fee!
Does anyone know if any of this is true?
“Hyper threads” aren’t the same as system threads. System threads are OS based and run simultaneously in the background like apps. The OS sends all these to the CPU which then executes all the different instruction lines. During execution it can “interweave” the various threads and apps into the same core for processing (hyper threading) to speed things up.
If I’m reading this right - Their new system is going to do the same thing but at the core level now. So execution blocks are going to get chunked off and sent to various cores rather than try to interweave the executions. Basically it’s a different load balancing/multitasking strategy.
I suspect it’s also more secure to go this route as it will help prevent microcode data hacking by keeping the code lines on separate cores.
If the CIA got back doors onto the Intel chips then it got them on the AMD ones too.
I don’t think there’s intentional back doors on either though - just known exploits that the CIA can use.
Windows OTOH…
So is this FR thread hyper or not?
I have heard this over the years. It seems highly unlikely that this is the case. It is more likely that there have been exploits vs true back doors. We have seen this quite a bit over the last few years with possible vulnerabilities in intel’s microcode. I doubt it because it would be a hack worth trillions of dollars, keeping that secret would be nearly impossible. Secondly traffic should still be detectable with a decent firewall or pcap on network cards. To be undetectable to 3rd party hardware, it would require a cellular modem integrated into the cpu itself, which could then be easily disabled with shielding. At the end of the day getting a BS FISA warrant and planting something illegal is just easier.
Defiantly NOT true.
This is rumor is probably related to Intel’s attempt to create a very secure system back in the 90’s based on the internal thermal sensor.
The NSA used its influence to fabricate a story so the project was abandoned and we ended up with AES which given enough time, the NSA can break.
I worked for the Intel processor design team for 20 years.
I remember back when Intel wanted to put unique serial #s on each 80486 processor that could be identified outside the box, that privacy advocates cried foul.
Since then, that seems like nothing.
Thanks for the article, but, I’ll stick with my 5th generation Intel processor and 6th generation Intel board courtesy of Gigabyte. It works just fine, and I can still run Windows 7 (as well as W10 and Linux of course)!
I suspect that what this really means is that now the separate cores will be standing by more efficiently for all the single-threaded applications to finally get done with their work. I’m constantly disappointed in how few applications really make use of the multi-core abilities of modern procssors.
OTOH, I recently was ripping some DVDs recently, and for the first time in a long time, I saw my processor pretty much maxed out for a sustained time. I think I had a load average of 15 or so.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.