The End of Hyper-Threading
Вставка
- Опубліковано 27 сер 2024
- Get 20% off DeleteMe US consumer plans when you go to joindeleteme.co... and use promo code Techquickie at checkout.
DeleteMe International Plans: international....
Intel looks to be ditching their long-standing Hyper-Threading feature...but why?
Leave a reply with your requests for future episodes.
► GET MERCH: lttstore.com
► GET A VPN: www.piavpn.com...
► GET EXCLUSIVE CONTENT ON FLOATPLANE: lmg.gg/lttfloa...
► SPONSORS, AFFILIATES, AND PARTNERS: lmg.gg/partners
FOLLOW US ELSEWHERE
---------------------------------------------------
Twitter: / linustech
Facebook: / linustech
Instagram: / linustech
TikTok: / linustech
Twitch: / linustech
Hyper Threading wasn't only introduced in a single core CPU, but one that actually really needed it. The Pentium 4 had a massively long pipeline, which made it clock far higher than other CPUs, but also increased branch misprediction penalties. Every time it mispredicted a branch instruction, the P4 would need at the most 20 (Willamette and Northwood cores) to 31 (Prescott and Cedar Mill cores) clock cycles to refill the pipeline. A huge waste of time.
With Hyper Threading, the P4 could have two instruction flows running in the pipeline. If one of them stalled due to mispredictions, it could easily switch to the other and process it while it waits for the stalled flow to load up again.
The performance gains with SMT aren't as big as true parallel computing, but it makes a considerable difference in deeply pipelined architectures. It does in fact increase power consumption, though.
Edit: by the way, this is exactly the reason you don't see HT in Intel's E cores, for instance. Their pipelines are shorter than P cores', so HT wouldn't make much of a difference in performance (sometimes it can actually hurt performance), and would increase its die area and power consumption.
About to comment the same thing. Honestly the research effort on this video seems to be poor…
@@k22kk22k I've commented just for historical reasons and to properly explain the usefulness of Hyper Threading. I think that, for the purposes of this video, it's okay. Yes, HT takes power. Yes, Intel thinks having a bunch of E cores can be more beneficial than having P cores with HT. They delivered their point.
I've seen some misconceptions about Hyper Threading in the comments here, so I felt it would be interesting to clarify some technical aspects.
@@yukinagato1573Thanks for replying. I see your point.
What made me think as my original post is, the video doesn’t take care of typical misconceptions in advance, and rough reasoning for not implementing HT (hence many people talk about why).
My intention is just to express my impression, but maybe I should write it more clearly in the first place!
@@k22kk22k their effort has always been low
Well put. From what I know, the ultimate limiting factor is memory access, so even if the pipeline is short (e.g. 5 cycles) and access to memory long (e.g. 40 cycles), then a missed branch will be stalled until the memory is read (e.g. 40 cycles in this example), and not just the time it takes to fill the pipeline. So, I think the main reasons to not having HT included in E cores was power and die space, and the fact that with E cores you should already have enough cores, so no need for additional complexity.
my grans sewing machine excels at normal threading
This is the best comment rofl
smart
Your gran is the OG overlocker.
All sewing machines use 2 threads at once. One fed from the top and another from the bottom.
So even your gran uses multithreading.
@@Eoin-B Wait until he finds out some sewing machines support multi-needles.
Hold up, it's a 20% increase in power consumption for a 30% boost in performance... Wouldn't that mean that it's actually *better* have the feature enabled than not, in places like data centers?
Hence why a) AMD didn't build their dense "c" core for high core count CPUs (Bergamo) without SMT and b) Intel will keep HT for their upcoming p-core Xeon as well. Only their high core count "Forest" lineup is without HT since it's entirely based on e-cores from the get-go and you can't just bolt HT on at will.
It is, that's also why Intel will keep Hyper Threading for their Xeon server CPUs.
Data centers are exactly the kind of place where Hyperthreading hinders performance rather than increasing it since they tend to keep their CPUs at pretty much 100% utilisation all the time. While it can give some performance uplift at a heavy power penalty (14900KS drawing 300 W when running all-core Cinebench) when the CPU is fully loaded, it's really meant for a CPU sitting at less than 50% utilisation where the limiting factor for performance is not raw computation speed but rather how efficiently the different threads can access the actual compute parts of the cores to have their computation needs met in a timely manner.
I think he means that you get that trade-off for CPUs with one kind of core. But now that we have efficiency cores, we can get even better gains by replacing some high-power cores with more efficiency cores. Once we do that, then we can get rid of hyperthreading and let stuff that needs the power get a core all to itself.
hyperthreading has always been a 1.5 core design, and only gives an advantage if your task matches that extra 0.5 of the core which is provided for hyperthreading. this is why multicore compatible operating systems don't use it until it needs to. as multicore and especially asymmetric multicore have taken off, and power usage and cooling become more important, the bad tradeoffs don't really work that well anymore.
the failure of the closest cache to the core to scale well makes the cost of halving it for hyperthreading even worse. being able to dump hyperthreading on two cores and get an extra core with full cache on all three cores makes a lot more sense, even before you start underclocking them to get even less power usage.
it has always been a case of marketing hype for the average user, who does not use 100 percent of their processing power anyway.
30% more performance for 20% more power sounds like an amazing deal, or did somebody mess up the numbers? usually you reach very diminishing returns with more power vs performance.
its 30% better performance for 20% more power in a richly threaded application, but hyperthreading can lead to ever so slightly worse performance and power draw in single threaded applications, and an E core is roughly half as strong as a P core while drawing about 25% the power. so 50/25 > 30/20.
Intel isn't ditching SMT fully. Lunar Lake doesn't have them. But the desktop and server CPUs will have SMT. AMD too has sold CPUs with SMT disabled. I own a 4700u laptop which had great light workload efficiency for the time period.
Our great new chocolate recipe has all the same great taste of our original, same great price, just now with 50% LESS fat! **
**original pack@150g/new pack@75g
I'll be interested when these get a thorough testing 😁
@@SirMo I was going to mention about them not ditching SMT fully as well. Intel specifically responded to this and said they are not getting rid of them entirely. They are dumping SMT from their server chips. As was mentioned in this video about energy constrained spaces, which servers generally are now. Intel is actually leaning more into full e-core only CPUs for data centers.
You can fit 2 e-cores in the space of a p-core, and 4 e-cores in the space of a p-core with SMT. Most server applications benefit from more cores to run things in parallel than having some really fast cores.
Desktop CPUs on the other hand need p-cores for things that really need a fast thread, like games. The can also consume large amounts of power. The hyper-threads still work well here as power consumption isn't as much of a concern. They work faster than in a mobile, or server setting because in those environments the p-cores still have fairly tight power constraints, which also restricts the hyperthreading speed.
@@SirMo Any info I've seen says that Arrow Lake on Desktop will NOT have SMT. Ofc rumors from any source are unreliable, so we don't know for sure.
Intel giveth hyper threading, Intel taketh hyper threading away
Yet SMT has been and will continue to be better than HT. Intel couldn't get it working for desktop in time seeing as how their arrow lake server chips, that come out after desktop, will have HT.
They didn't get rid of it on purpose, they are just bad at making CPUs now that everyone has left the sinking ship.
@@Azureskies01 dude amds smt is based off a licensed version of ht the only reason they are called different things is hyper threading is trademarked
@@Azureskies01they're the same 💀
SMT/HT implementations are pretty dependent on the underlying hardware.
I could break the first gen HT (in Pentium 4) then they only showed up again in 1st Gen i3s then 2nd Gen which was also a different kind of Hyperthreading. Then updated again in Skylake and the same kept on going all up till now.
Zen SMT is definitely different
@@Azureskies01 What is your IQ?
I've heard that Intel is going to replace the Celeron with a newer less expensive CPU. It's going to be called the Intel Moron and it's target at consumers that don't know any better.
😂
Yooooooo 💀
😂😂
Spot on
So... 30% more compute power, for 20% more electric power consumption. Its at least a 10% win. And: Intel is downplaying, because they want to sell the "we got rid of it". Its more like 40% more compute power in many programs, and ~15-18% more power consumption. Even Intel told you that a few years back, because they where proud of the efficiency of hyperthreading. But now, they lie about it, because now its inconvenient to admit it. And no, the e-cores wont give back anything of that. Dont get me wrong. The new chips may perform well at all. But they could perform even better in some tasks.
AMD & ARM both forced Intel to become competitive after decades of being a monopoly.
Disabling HT is not a competitive choice
Maybe it's "less extra threads and more cores" thing.
Or just an efficiency thing that will only benefit battery-powered devices.
Either or.
@@BlueEyedVibeChecker disabling HT is just a way to lose performance. And anyways disabling ht is pointless. A whole point of HT is to utilize core more efficiently. Because you know at a time program can't utilize all parts of core, and giving that parts of core to second thread is clever idea. And it's take less space on die then adding a small core.
Overall it's a very bad decision
ARM CPU PCs are ganna fail again (and they diserve it)
Arm did nothing 😂
Interesting perspective on Intel ditching hyperthreading in favor of its hybrid chip design. I'm curious to see how Intel performs without one of its hallmark features.
But not all their chips just the high end ones with a lot of e cores.
SMT primary purpose is to max out the arithmetic units on a CPU, which one single thread is unable to do even if out of order execution is very sofisticated. But doing so contributes to increased power density. And we know Intel has a problem with that. They are probably trying to reach higher frequencies by decreasing power density.
Actually, the reason is more so deeply pipelined architectures. Maxing out arithmetic units is not the cause, but consequence. If you have a long pipeline, you want to keep it as busy as possible, even when it stalls. With HT, when it does stall, you can occupy all the functional units that would be otherwise idle, waiting for the pipeline to fill up again.
Not using all the functional units is inneficient, of course. Especially in Intel's case where they have like four of each one (in a quadruple issue architecture). But it's generally not a problem if your pipeline is shorter so that they're gonna be occupied soon. It does become a problem when the pipeline is like 18 stages long, though.
@@yukinagato1573I think it is both. One core may not utilize all the units, even if the pipeline is filled up. Many CPUs try to prevent that by running the instructions out of order. But I can well imagine that running instructions out of order also increases the risk of losing progress on jump-misspredictions.
After upgrading to a 14700K (I wanted the experience upgrading a CPU on a platform that was ending), I did a bit of cine-benchmarking to undervolt the CPU and limit its temperatures to a reasonable level. During that process, I noticed that, by disabling Hyperthreading, my Cinebench runs lost only 1000 points, but mu CPU used 80 less Watts. Meanwhile, in terms of real-world performance, I have noticed no change in performance. If nothing else, there's a grain of truth to Intel's hyperthreading claim. I'm not about to speculate how much truth there is though.
Interesting, as I only tried disabling at at the OS level (as my 14700K is in my home server so I didn't want to shut it down). I will have to try doing it in the BIOS properly.
KatsuneGaming
Cheap GPU u used ?
I am not smart
But that may be because of how Cinebench is artificial, and it stresses and utilises all the cores, thus creating a need to utilise SMT
But in real world applications, not all cores might be used, but again, if HT/SMT was provided to simply help as a measure of branch misprediction in your particular CPU and its efficiency being on the lower end, then it might be the reason to low performance
Just an FYI, for SMT (Hyperthreading) to work each of the 2 threads needs to keep the data it needs to work on in cache, but that cache is shared among the 2 threads, thus, with this technology the working cache size for 1 thread gets reduced from the one stated in the specifications. This is one of the reasons why disabling it might boos performance in some applications, like games, as seen with X3D cache is important to games.
But the e cores also share L3 cache with the p cores
Cache limitations can be a problem, but with HT you still have the benefit of switching threads if one of them stalls in the pipeline. One other reason why having HT enabled can lead to lower performance is overhead. If you end up switching threads too much, the CPU will end up processing to much thread-switching instructions instead of doing actual work. Especially in poorly optimized implementations, they can take up a lot of performance.
@@guiorgy X3D is important because AMD shitty chiplet design imposes high latency access to RAM
@@bigben3019 L3 cache is always shared, I was mainly talking about L1 and L2, which is separate for each core, but shared between 2 threads if SMT is enabled
@@overlord10104 The chiplet design does increase latency, though they have managed to reduce the penalty quite a bit. More importantly, more cache would help Intel in games just as much, just check the videos by Hardware Unboxed, where they concluded that the main performance improvement between an i3, i5, i7 and i9 is the increased cache.
HyperThreading is also part of the Spectre/Meltdown nightmare vulnerabilities...
Speculative Execution was an issue that wasn’t exclusive to hyper threading. It was a vulnerability in ALL multi threaded CPUs. Hence the name Spectre (for Intel CPUs) & Meltdown (for AMD CPUs).
@@creeperz12345 Wrong. Spectre affects both Intel and AMD, while Meltdown was just for Intel (and some ARM).
@@iiisaac1312 Yea you’re right, that’s my bad. Still was right about the speculative execution not being exclusive to hyper threading though.
Bud, that's why I said _part of._ HT going out doesn't mitigate Spectre/Meltdown by itself, but it removes one _huge_ headache of that, because you were running two instruction pipelines through the same bloody core.
@@stephan553 slick comment edit but nt
2:08 skip ad
That sewing machine joke took me longer to get than it should have, lol 😂
From what I remember, Hyperthreading was made to combat a design shortcoming of the Pentium 4.
it was but it also made the chips run hot too
Ridiculously long pipeline, that is.
SMT has been around for a lot longer than "Hyperthreading". Hyperthreading is just Intel's marketing name for SMT when they implemented it in the Pentium 4.
It won't be missed. Hyper-threading mattered a lot when there were only two or four cores. Now there are 16 cores, I would rather have consistent performance per thread.
The way the video is frame the story is just wrong:
You first show that HT is power-efficient, specially for datacentres, and then claim it is a problem for those very same centres? No, that is just not the case which is also the reason why intel is NOT getting ridd of HT for those sectors.
The explanation of OS thread schedulers is also wrong: The tasks are not scheduled to the same cores not for powerefficiency reasons but for performance. If you have 2 cores with HT you can either run 2 threads on one core and get 130% performance, or run 1 thread on each of the 2 cores and get 200% - which is a looooot more.
HT is there to stay cause it is better at handling different situations. With HT when a thread is stalled it does not automatically stall the core. So for branch-heavy or data-dependent programs it can offer significant benefits in terms of throughput. We had seen as high as 60% scaling with HT. Of course having more cores and those being more efficient is in many scenarios the thing you want, but a simple singular core-architecture also has its benefits.
Biggest problem: Most god damn developers till don't know how to program in threaded environments properly even today. Basic SMP coding is also freaking rarely done well.
It also is freakishly hard to do really correctly - having it read and maintainable, performant and bugfree is rather hard. But at least going to 4-8 threads for games usually is easy as there are clearly separated tasks (like resource-loading, input-handling, AI etc).
I'd settle for just Epic learning multithreading from id or CDPR (or The Coalition?), since half of AAA is going UE5 now anyway.
Well my friend in a real user computer we have MANY programs running on parallel: for web browser, calendar, email, game, video, etc, etc.
For specialized operations such as video streaming, deconding and encoding, your program have to think parallely or delegate it to the GPU.
Most software is single threaded simply because for most tasks, the order of execution matters. You can't eat bread without first walking to the store, buying bread and taking it home. It is impossible to do all 3 at once.
@@roboko6618 "Most software is single threaded simply because for most tasks, the order of execution matters"
No. Cause most software is not in the tiny group that needs to be purely sequential.
And just to show that your analogy falls flat on its face:
To prepare a nice sandwich you can go to the store and buy bread, salad, tomatoes, cheese and onions. And for preparations you can cut the onions, tomatoes and bread at the same time while also washing the salad. Heck, you could have 5 people do everything in parallel and the only 2 points where it is sequential is when you start the whole thing, and at the end when everything is combined.
That is how parallelism works.
The reason most software is not multithreaded is the same reason why for making a sandwich: Coordinating all the stuff takes work and effort. There is little reason for a simple word-processor to be multi-threaded given that it is interfaced by a human. You wont be writing your email any faster just cause the mail-program is using 127 threads.
"delete me .." says hyper threading to Intel on his dying breath
Meanwhile, AMD will continue to make SMT cores in their processors, and will continue beating intel while intel and microsoft mutually struggle with core scheduling.
2077 called. They want their hyperthreading sewing machine back.
Intel IS NOT KILLING HYOERTHREADING. They stated that themselves, directly from the cpu teams mouths. They killed it in Lunar Lake for power and space savings. They flat out said that Hyperthreading is still an option they will use where power savings aren't the main concern.
So... why do they kill it on PC?
@@Velerios they aren't. They're killing it in their low power, portable/laptop processors for the power savings. Lunar Lake is for laptops and low power.
@@shanehebert396 Arrow Lake that is for desktop will have also no hyperthreading, according to the usual sources.
its like world record of most complex way to pay an employee
You forgot to mention removing HT also mitigates vulnerability like spectre and meltdown, allowing intel to remove some of the mitigation circuitry
Hyperthreading was a workaround for the piss poor Pentium 4 design.
Pentium 4 is legendary along with Intel core duo
@@hendrx
Pentium 4 was so bad, that Intel had to base it's successor on an older model.
@@kjakobsen Pentium 4 was so bad that I had a 2.4Ghz P4 and an 800Mhz P3 actually felt faster for general OS responsiveness and web browsing.
Those Intel "efficiency" cores aren't really for battery life but just for multi core performance. The latest Intel mobile chip does seem to actually do well low power with the tile system, so it can actually save battery life, but it is just for a specific tile and not all e-cores.
This is not the first time Intel has ditched hyperthreading. The entire Core 2 Series didnt have hyperthreading and the Core 2 series beat anything back then that AMD had to offer. I had a Core 2 Quad Q8400 back then which was a sweet cpu for my needs back then. They brought back hyperthreading with the first gen Core i3, i5 and i7 series.
Hyper threading doesn’t run two threads at once. It has two sets of registers so when it switches tasks it doesn’t waste any time loading up the registers because it can load it up while the other task is running.
It technically does run two threads simultaneously because of the way that the back end of the CPU works. With out-of-order execution, the CPU is running several instructions at once and splitting up the input stream into multiple instructions it can run in parallel without breaking instruction dependencies. Often, the backend of the CPU can’t be completely filled with just one thread, so pulling instructions from two threads simultaneously reduces resulting pipeline bubbles.
Modern CPUs can decode 4-8 instructions in parallel per cycle (depending on the architecture), and can usually dispatch even more than this when the instruction flow permits. How full the pipeline actually gets just depends on how many instructions the CPU can find to dispatch such that it can maintain instruction dependencies. Modern CPU designs are designed to try to try to utilize all of the resources of the core as much as possible, but of course, not all instruction streams are necessarily always ideal in that regard (hence tricks like this to try to exploit a little more performance).
@photoniccannon2117 one core can only do one calculation at a time. The CPU have multiple components that run in parallel to each others, and that can include multiple cores. Hyper-threading allows one core to become 2 virtual cores by switching between sets of instructions.
@@tonymouannes They don’t switch, they’re interleaving instructions. Both threads are in fact running instructions simultaneously.
Cores on x86 have been able to run multiple instructions in parallel since the 1990s. They aren't just executing one instruction per cycle, they're loading up a whole bunch of instructions in a queue, figuring out which ones can be run in parallel without breaking instruction dependencies, and then dispatching several at once. It's incredibly sophisticated (and is a large part of what allows modern cores to be so much faster than older designs.)
@@tonymouannes I think this is just a confusion in the terminology. "Running two threads at once" doesn't mean doing two calculations at once.
Hyperthreading is also a serious security problem
Removing HyperThreading? The 4c4t CPU sloppening is back on the menu boys!
But... If the scheduler only turns HT on upon saturation, we don't really incur on the energy cost unless necessary, and by then we are trading +20% power draw for +30% ipc, per the very numbers given. Furthermore, what is the upfront cost for having HT vs the equivalent compute in e-cores? We can't determine if trading that for more e-cores is actually better if we don't know that.
Actually, we do incur. HT is still there, implemented. The transistors are working, just like anything else. It might not consume all the 20% power draw, but still, there's an "idle power waste". Also, implementing HT makes your processor bigger, so it's kinda wasted silicon if you don't use it.
Me with the core 2 duo laptop
wholesome
Nice
Ha, me too but I don't use it. It's actually a 'mobile workstation' from a time when a core2 duo was screaming quick. It's so heavy that I keep it under the bed instead of a baseball bat in case of intruders 😂
My core 2 duo from college died a few years back.
I can’t even get the Core 2 Duo in my Mid 2007 MacBook to do video acceleration under Linux 😭
I'd call it making marketing mist.
Since there were/are several security vulnerabilities involving hyperthreading, many people have HT disabled anyway (especially on servers). From the Intel POV it is only logical to abandon HT because of that. Calling that it's because of P-cores vs E-cores, that's only how to present to the public without saying "we have to abandon HT, because it has flaws we can't fix".
According to comments here, Intel is not dropping HT for there Server CPUs only the laptop line so your reasoning does not seem to match Intels?!?
@@Varangian_af_Scaniaeand more to the point, Spectre and Meltdown have been fully mitigated with hardware design changes by now. The issue had little to with multi threading specifically, and more to do with speculative execution and the way results were stored in cache and registers (eg not encrypted and available for any other thread to pick up and read). Disablling hyperthreading solved the data leak, but the leak itself was caused by bad memory management, and that problem has since seen hardware fixes in new processors.
Spectre and Meltdown are SPECULATION EXECUTION flaws and do not have any concern with HT. Any CPU doing executive speculation have those.
@@AlexeiDimitri Who speaks about Spectre & Meltdown (except @benjaminlynch9958)? I'm talking about vulnerabilities like ZombieLoad.
In short, any vulnerability where shared L1 cache is involved (and HT is sample example of sharing physical resources). Together with not so great HT performance (in compare with real SMT), it is nowadays really better whole HT throw away.
@@Varangian_af_Scaniae It was my understanding they already ditched HT for many server CPUs, as they are based on e-cores due to being able to fit 4x e-cores into the space of a single p-core. So if you want a ton of cores (particularly so when wanting to sell VPS) then it just makes sense. Particularly as a lot of VPS providers have moved over to AMD Epyc for their huge core count.
It took me too long to understand the sewing machine joke.
At some point, with so real many cores on chips these days, hyperthreading offers diminishing returns. The process scheduling becomes an issue itself.
1:14 So intel's idea is to improve battery life by 20%, while decreasing performance to 70% ?
Now I may just be a humble country PC enthuisiast, but I say I SAY, it sounds to me like Intel is leaving an additional 10% gain off the table by not implementing hyper threading on the P+E core design.
Don't look up, that ain't rain dripping onto your head
its not like they didn't have ways to lower power consumption without E-cores. I have CPU from 2017, and it underclocks itself when not used. Very efficient, at 1-2% utilization it runs at 0.8Ghz even base is 3.9Ghz
Basically, as I predicted at age 12, RISC architecture won. It was just a matter of time. CISC architecture just adding more and more power hungry cores and threads lost the race because it lost the race before it started.
Efficiency wins the long game every time.
RAM is getting faster, and cache is getting cheaper, meaning having a "standby" thread in case of a memory access stall is less rewarding. Also, as the pipeline stalls, its ALU/SIMD units stopped clocking in data, thus stopping generating heat. With modern processors vastly power-limited, saving this power and just let the core stall and allocate the power budget to other cores doesn't negatively impact the performance that much.
My P4 3.2 Prescott has HT and works till today.
the space heater chp
wow i always thought the Prescott line didn't have HT. I still have my Pentium 4 Northwood with HT and works fine as well
found a pentium 4 3.0 prescott ht desktop from the recycling centre and it works lol
@@BeautifulAngelBlossom substitute the heating in my college suite back in the days 😀
The more underutilized ALUs, LD/ST and AGU units a CPU core has, the more effective is SMT in extracting more performance.
Seemingly, Intel tries an approach much like Apple in the M-series CPUs, where it's tried to utilize these structures by increasing the out-of-order window and number of in-flight instructions at any given time.
Also, from what I've seen at the Linux kernel side of things, it's seemingly quite the challenge to schedule threads in a way to extract maximum performance and efficiency out of a CPU design with SMT-enabled P-cores and separate E-core clusters, since that is also workload dependent. Just having non-SMT P-cores and E-cores simplifies that problem by a lot.
I think it may have been a delay slot filler. They expected the programmer to give them two similar work loads so they would avoid speculation. Cache misses pretty much made that pointless. Now cache misses are potentially incredibly painful and prediction does nothing for that. So dropping SMT predicts micro memory controller channels. Which predicts fragmentation in the OS and incredibly low performance on misses. Eventually I expect them to cut a deal with the programmers to manage it.
ARM ISA can do those things but x86 is limited... Statistically, we have to jump every 6 instructions. Doing out-of-order execution beyond 6 instructions is a waste of time.
@@AlexeiDimitriDepends on the quality of the predictions. A lot of jumps are predicted correctly effectively 100% of the time. Like all sorts of precondition-checks.
Is the handling in the Linux Kernel complex because hyperthreading can only process two threads of the same process, or is the another limitation with hyperthreading?
@@JojOatXGME Hyperthreading can process any two threads, but since Meltdown, Spectre, SDS (and similar such attacks), that comes with a performance penalty due to security mitigations that ought to prevent data leakage.
When assigning two threads of the same process to a core and its SMT sibling, the mitigations can be omitted for optimal performance.
Considering when it was introduced 1-2 cores was still common, it was a cheap way to imcrease thread count. Now chips have a lot more actual cores so it makes sense
What about virtualizations?
Whats better: giving 4 e-cores to a VM, because u have a lot or giving it only 1 p-core CPU with HT?
In practice, Intel wants to reduce p-core space to put more e-cores on the chip.
Intel's shift from hyperthreading to a hybrid chip-focused design seems like a strategic play in the long-term game. Streamlining energy efficiency while not compromising the overall performance presents a win-win scenario.
Just make a togglable switch(in bios) or adjust change in power modes:
Power save: no hyperthread
Default: hyperthead on e-cores
Gaming: hyperthead on p-cores
Now that CPUs have many multiple cores, it had become evident to everyone that the logical cores created with hyperthreading were an useless gimmick.
Its nice to see that LTT's information is out of date again. Intel has already responded directly that they are not getting rid of hyper-threading. Yes, they are removing it on their mobile processors and don't plan any future server chips with it, but they are planning on some of their desktop CPUs to still have the feature. Which ones still to be determined.
Power constraints being cited as why mobile and server parts are having it removed. Intel is leaning more towards just e-cores for server chips, but will still be making some hybrid server CPUs for now, but more cores that are slightly slower are better for the typical server environment.
They mentioned that you can fit 2 e-cores in the space of a p-core, or 4 e-cores in the space of a p-core with hyper-threading. You can't fit another p-core in the space of hyper-threading.
There is one use of hyperthreading barelly talked about that has a massive performance improvement: Terribly made software that does bussy wait on disk or some other slow stuff that ties a core while actually doing nothing. Hyperthreading can make use of those resources for other programs and that is not a rare happening at all because non performance critical code is often terribly made and it can be hogging resources.
If it's hogging resources then it's by definition performance critical.
@@shanent5793 Sadly most developers don't see it that way. It is hammered into their minds that "premature optimization is the root of all evil" and most will make it their mantra without understanding the full context of the quote. In practice it means that most won't even think of performance in the slightest until it is a huge problem when whatever is being developed shows the problem when running alone in the developer computer (that often is on the powerfull side of things). Then in the real world when you try to run several of those poorly optimized things at the same time (and likely some of those things leave resident crap running all the time), it begins to get quite noticeable.
It is not that I like that things are done that way but they often are (I would know, I was just scolded for making something too optimized and too versatile by an incompetent boss that can't wrap their head around that if a test takes me 3 minutes instead of 3 hours, optimization saves me time instead of wasting it).
Windows Server Subscriptions 📈
I got one of those hybrid things in my laptop. It is fine! And yes these P cores still have Hyperthreading.
Thing is, if I do a very low level task the fan hardly ever goes on... so I guess it works?
And certain tasks can easily be send off to the E cores.
I have NOTHING to compare this laptop too so, don't ask me if the battery lasts much longer. It, is a laptop, it has a battery life, that is all I know.
What I know is that I have a WHOLE LOT MORE CORES then if it was just a basic pure Hyperthreading CPU. And many times, the Hyperthreading cores are just doing nothing at all.
2:20 "It doesn't invoke hyper-threading unti ALL cores, both P and E cores, have been populated">> I don't think this is true for AMD's SMT.
sounds more gimmicky for the sake of matching arm performance per watt. Given that Snapdragons have shown far more stable product in its first iteration, intel has to think of such gimmicks now to stay relevant
If Intel is going to be removing hyperthreading it actually creates a market for Core-X to return. Right now we have Xeon 2400, which I think is now going to become a must for anybody who needs multi threaded workloads.
IBM seeing this justification while Power is more efficient for being RISC and has up to 8 threads per core: 🤣
The most worrying part should be "while consuming the same amount of power" 💀
There are also significant security issues that have been discovered as a consequence of supporting hyperthreading in the core architecture
NO. You guys are mixing HT with out-of-order execution. Disabling HT in a processor with Meltdown and Spectre flaws do not protect u, because your processor still does out-of-order execution and other cores can access that data.
@@AlexeiDimitri didn't expect to be nitpicked on the enabling word; is this more to your satisfaction?
@@David-oc8yt Oh, did u hurt your soft heart or is so difficult to be exposed as wrong?
Before saying ANYTHING on the net is a wise thing to search first to not say bullshit and be exposed as u did.
@@David-oc8yt Oh, the hurted is you.
Get back to the school.
Irrelevant discussion if not compared to Apple's M3 chips. They didn't ditch Intel on a whimsy. They smelled something rotten and ditched that 10nm process lousy company of no-good power-hungry chips.
Doing this on desktop is kind of dumb but laptops this is super smart.
It reduce the die space, so u can put more eCore
If 1P without HT + 1e take less space than making the P with HT, mean it’s better to not having 2t on big P
This simply mean they just give physical core instead core with 2 mouth
@@heickelrrx but I don’t want more ecore, I want more p core. E cores don’t be edit anything I do on desktop
@@pokepokepoke64 why u need to care of what type of core u have,
@@heickelrrx video editing, photoshop, blender and solidworks
@@pokepokepoke64 those workload don’t give a f what core used
When you have 32 cores and 16 of them are idling under most normal workloads what's the point of HT
Well if u have 16 cores, you supposed to do worloads to use it (or else you are losing money), as 32 cores.
And if u watched the video, HT gives us 30% more performance, so u spend 30% less time doing that workload. Time is money.
When are we getting Backside Power Delivery?
ummm ~ Look, it's complicated. Back in the day, there was only one thread. It did what it did and then handed control back to the operating system. Then we came up with having multiple threads. That was to try and replicate what Big Iron did, but on desktops.
UNIX / Linux is a multi-user, multi-process, multi-TASKING operating system. Multi-tasking means it runs one thread, and then when that thread stalls, because it's waiting for a HDD or user input, it goes off and does something else.
Then Intel had the idea you could run two threads on one CPU. That involved doubling up the registers and the cache and doing a 'swap' instruction which unloaded one process and replaced it with another. "Quickly" ~ at least in principle.
Should note, the concept of hyper-threading can be extended to have 3 or 4 or more threads running on one CPU core. But that does require more cache and more registers and more of the bloat that came with having 2. After playing with this idea, it was found it's really not worth it for more than 2. Diminishing returns. And it's not real power efficient. Exactly how much it scales ~ depends entirely on the programs it's running. Programs (threads) that stop and wait for other things, that access the HDD or even obscure parts of main system RAM ~ they benefit almost 2x. Programs that simply chew through a stream of data, like say encoding a video, those don't benefit as much.
Having big & little cores, that comes from mobile space and fondle-slabs and stuff. It's a whole lot more power efficient. Whether it's more efficient in terms of silicon area, that gets complicated. Depends on the work-flow.
This is a developing and evolving area of computer design, and it's quite fascinating.
AMD are being a little bit slow to adopt this, because being more space-efficient, with their normal cores, has been a distinct advantage to them up 'til now. They do have 'Dense' cores, for servers and racks, which simply have far less cache, so they're smaller. But the core still has all the stuff a full-spec core has, just half the cache. Is that equivalent to an Intel 'Efficiency' core? Well, sort of, in some ways ...
It's complicated.
Intel's efficiency cores, are way less than half the size of their performance cores. They deliver almost the same performance in some tasks, way less performance in others. They can run some of the full x86-64 instructions, but not all of them.
AMD 'compact' cores are more like half the size of a normal core, but they have the full complement of features and functions and instructions the performance cores do. They're 'compact' simply because they have less cache. Ok, so if your process makes a lot of use of cache, that hurts. If not ~ it's pretty much a full Zen core. That seems to work very well in rack-space, at places like Google and Amazon web services and M$ Asure ~
Which one is better?
Well they all seem to be moving in the direction of Intel / ARM, and Big + Little. AMD are just moving a little slower here, because they're in a strong position now ~ the pressure on them to make this change, is lower.
2:20 OPerating system
bro this is a 3 minute video, it doesnt need an in-video ad wtf
Never been a far of SMT/HT. It made sense at the time, because it required less die space than a second CPU core, and the deep pipelines on the P4 often left various execution units unused, so HT made additional use of that hardware.
But it’s time has passed.
This is actually a really good idea on Intel's side of things. When you consider that a lot of their current issues with security vulnerabilities have tended to revolve around the use of hyper threading(SMT), removal of it in some fashion is probably for the best. I mean, I currently have AMD's version turned on, because while it also suffers from some vulnerabilities, Intel has had it worse in that regards. (So my intel rig remains with it off)
The hybrid approach is a neat one, but they would be best to just rid themselves of the technology entirely in regards to SMT overall. At least, until they can find a way to make it secure "again". (It technically never was, hence why the vulnerabilities were found.)
The reduction in power use makes sense too, because I use the disablement of SMT on my rigs to cut back on power consumption when I don't need them running full tilt. When you have 8-10 cores available without it, that's usually good enough for most tasks. Some things are an exception of course, but then, you can always just turn it back on with a quick reboot and bios edit. So I essentially already do what Intel is doing, in a way.
But an overall permanent decrease to power consumption due to the feature being purely automatic now, is kind of nice too. But! What I would prefer to see Intel do at this point, is make it so that their TDP is actually true across the board for the power settings in windows for example. Sure, it's nice to get that extra performance when there is no limits put to the power settings; but... that max performance, that should be the TDP wattage, not the extra wattage you end up using. You get what I mean? Otherwise, it's kind of a false claim, since unless otherwise made clear, which it often isn't from memory; citing TDP only basically implies the performance being touted is found at that TDP. Which isn't the case. You have to unlock the limits for power use in windows, even if you've changed settings in the bios. Or left everything alone. Which ever or for each. Windows settings for power limits ultimately lords over it all. And it's only at it's medium or lower settings, you see the actual TDP performance. It's at the max settings that you see the touted performance, not the true TDP performance like explained earlier.
To me, that's false advertisement.
Am I the only one who finds it weird hearing Intel is concerned about power efficiency?
30% performance boost for 20% extra power sounds like a good deal, but that's just me.
That's with old technology or the performance cores. But E-core do better without hyper-threading.
Hyperthreading has been mostly a waste for well over a decade ago.
Why hyperthread when you can use a real FULL core instead?
All this could be wolved by limiting the GHz while on battery......why does my laptop needs to reach 4GHz to open my daily apps? Absurd.......
I often wondered if hyperthreading could be much more effective when applications were specifically designed for it. (This would probably also require new APIs in the operating system to let the application control whether to use it.) Theoretically, two threads on the same core can communicate orders of magnitudes more efficiently then two other threads because they share the same L1 Cache.
Sew, are we going to start reviewing sewing machines now? I would love to see a series about the history about the computerization of sewing machines.
Going from 1 to 2 threads was a game changer, like the difference of hdd to ssd. rip ht
HT doesn't process two threads at one time
With modern CPUs Core count and Pipeline length, I can understand why we don't need it on desktop. But I think in servers it may still be useful.
haven't we been here before, Intel ditching hyper threading? only to bring it back a generation or two later
But hyperthreading is the only kind of threading I like, all the other threadings are mediocre.
P cores are normal cores, and their current claim of "total cores" is a scam. Yes I want that text document to open in half a second instead of 8 seconds since its forced through the useless 2.6GHz E cores. What this tells me is their manufacturing process has been failing to produce proper high core count with reliability in their newer 7nm and 4nm processes, so they pack in the E cores in order to falsely claim higher core counts. No that 13700K is an 8 core, and the 7800x3d is also an 8 core with proper full 8 core hyperthreading, its not passing most of the HT to any E-cores.
Just call it was it really is, 13700 with Atom/Celeron cores.
Now this is the 180 iq comment that I was looking 4.
I just want to play games on my desktopwhere i dont care about power consumption and i dont care about a battery :(
This. For F sake
i mean the less power you used the less heat will come from ur pc which means you could over clock (or even more) to get even more performance out of it.
Yes you do. At one point, a computer took 4 rooms, on three floors, and used as much power as a street, and had 0.0001% the processing power of your microwave.
It's only from power efficiency from moving from valves to transistors to microchips do we unfortunately have to listen to your ignorance.
@@dukerex1285 dont care my pc runs fine out of the box if i wanna oc and need more temps ill upgrade the cooler i have already
Are you paying your own power bill ?
Sure, it might not be much. But I'm not going to turn down any savings there.
Hyper-Threading is still available, not in Intel, but AMD Ryzen CPUs
Technically HT is an Intel trademark, so SMT (simultaneous multi threading) is what AMD offers
I'm sure this has nothing to do with all the security vulnerabilities (Spectre, Meltdown, etc) that, while I don't think hyperthreading enabled, some of the underlying technologies which it relied on like speculative execution did.
So big little config which is what phones have.
Not a fan tbh can't justify this to myself especially when they do this to lower the temps
3:15 So no performance only increase over raptor lake? Just performance / power?
Yes. But keep in mind they tried to increase only performance without looking into power in the past. That didn't end well...
I turn hyperthreading off to get higher clock speeds. 7800x3d.
Would prefer they use the silicon area for something else.
Lets be very real, it has nothing to do with E cores. They just don't want to increase L3 cache which is very expensive. If they did increase L3 and kept the old architecture it would have been just plain better. But they remove HT saying they have a "more efficient alternative"(who cares about that THIS much in consumer space really?) so you can assume with 90% certanty that they will introduce "HT2" a couple generations down the line. Also its ridiculous they compare a P core without HT to a P core with E core combo. Its just ridiculous. How about they compare P core with HT to P core+ E core? Numbers arent going to look pretty. I wish marketing was just outlawed.
... And securing hyper threads is a performance hit
Awwww power cores and efficiency cores. Intel finally caught up to Apple and Qualcomm.
Please don’t take HT away from desktop CPU’s. Yeah put them in laptops or whatever but when 1000w psu’s are a thing, power consumption is the least of my concerns. I just want hard and fast performance.
well that's the point innit, they're eventually going to reach a point where performance is better without it.
Of course, SMT was really created for the never released DEC Alpha EV8 (which had 4-way SMT), before the HP/Compaq merger killed off that amazing architecture for good in favor of Itanium which HP was co-developing with Intel.
Honestly, the only good thing about the death-of-Alpha was that Intel acquired the rights to it which got them Dean Tullsen's SMT research and Intel was savvy enough to add it to the first P4 shrink (aka Northwood) birthing HyperThreading (aka 2 way SMT).
I'm almost positive that Intel just can't hit higher clock speeds without temps getting critical. Eliminating simd gives each core a rest before its rotation. Since most people don't even use all of the Ecores it makes sense to bump clocks in exchange for hyperthreading, but they have to just to pretend they're still competitive on spec sheets. They're years behind amd at this point.
Proof: amd is still releasing new silicon for AM4... Think about that.
wait… +130% power @ 120% energy…. isn’t that a win?
in terms of pure computation?
YES - absolutely (and even more than the video claims). but there were other downsides too - it is rather complex and has a negative impact in some scenarios (when the core is not fully utilized or cache-sensitive code).
With HT/SMT it's firstly because of speculation attacks line Heartbleed and Spectre.
The CPU can get an instruction partially processed before it recognises "oops i shouldn't have done that" but by then it's too late the shady data is in cache
No, speculation attacks do not ANY to do with HT.
speculation attacks area based on the out-of-order execution, a characteristic beyond HT.
Later it will show it was a wrong choice.
on a PC The best use of E-cores is....to turn them off!
And HT was mostly negligible, a marketing ploy , marginal improvement, Turning HT off allowed MORE STABLE OC to higher freq.
and on a PC (not a data center), you want the BEST SINGLE core performance you can get.
When there were 4 cores, hyper threading gave you 8 threads at "half speed"each..
Now we have 16 cores, 8 of which are E-cores that can give their full speed to each thread, leaving the P-cores free to pump the "priority threads".
As an automations dev, performance tends to matter more for my case, but the average consumer often cares more about efficiency, and battery life.
Who will delete the data you submit on DeleteME :D?
Basically you feed another database with a personal data, not very privacy friendly.
Hybrid chip design has been here for a couple of years with hyperthreading, I guess the real reason is the chip instability when using at the same time cores with 2 threads and cores with one thread, that why they r going all one thread
20% more power usage versus 200% big brain move.
Went from a 7100U laptop to a 7940HS laptop. I think I'll be good for another decade.
A sewing machine does not hyper thread, that's what a serger is for.