13 ms·
Intel Ditching Hyper-Threading with New Core I7-9700k Coffee Lake Processor
- mtgx 8y agoIt's because it's one of the few ways Intel can cut costs/remain profitable in the face of new AMD competition without disrupting the company's operations in the long term. Of course this doesn't mean its brand/sales won't be hurt further due to this move.
- strictnein 8y agoHonest question: How does disabling Hyper-Threading cut costs?
- dogma1138 8y agoIt doesn’t but it allows them to have more products based of the same exact die just like i7s and i5s share the same die which reduces manufacturering costs. That said it would simply mean that the i7 would become the new i5 and also fill the same price range quite likely. They might run the i5, 7 and 9 in the mainstream line now and bring the i3 to where the Pentium line is currently is however I still think that this is quite likely a configuration issue than a new segmentation since the i9 is their HEDT platform now.
- gameswithgo 8y agothey already had too many products! you have to spend like 5 days figuring out which one is 1% faster than the other for your particular use case. choice is bad! :D
- dsr_ 8y agoThe good news is that you can ignore the 1% differences. Here's your new decision tree: 1. How much can I afford? 2. In that budget, do I need maximum instructions per second on one core or maximum cores? If maximum cores, AMD is over there.
- pizza234 8y agoTransistors, I guess; HT adds extra registers for each core. However, I have some doubts that removing them would make a tangible impact on the final price.
- kingosticks 8y agoOr you could leave it all in there (cheaper and easier) just disabled and instead enjoy better yields: * Parts with broken HT can be shipped as fully working non-HT parts. * High-leakage parts can be shipped as they now pass the power screening.
- gsnedders 8y agoThis is the status quo with i5 v. i7 binning, AFAIK.
- wtallis 8y ago> Parts with broken HT can be shipped as fully working non-HT parts. It's unlikely that they ever get parts with broken HT on an otherwise salvageable core. Too much of that functionality is simply partitioning existing resources in half. There aren't that many transistors that are simply HT overhead that the core can do without when HT is not in use.
- theandrewbailey 8y agoIntel claimed that HT used about 5% of the die area, but that was with HT Pentium 4. The numbers probably changed in 15 years.
- monocasa 8y agoIt's probably less as a percentage now.
- Symmetry 8y agoNot registers per se. You want a large number of physical registers for renaming and speculative execution in any event. What you need with HT is another sets of mappings form architectural to physical registers for the committed state.
- dogma1138 8y agoMore likely that HT was disabled on that system than Intel scrapping HT on i7s unless they are shifting the entire product line one peg down and having a mainstream i9 on the desktop that isn’t a part of the HEDT platform.
- lagadu 8y agoThat is the Occam's razor choice to explain this yea.
- lostmsu 8y agoIs this a trusted source? The previous post about i9 there has a different information altogether.
- csdreamer7 8y agoNo, Wccftech has a reputation of posting any rumors and not bothering to verify them.
- muro 8y agoOr just making things up.
- lagadu 8y agoNothing coming out of wccf is even marginally trustworthy, they're infamous for posting every single rumor they hear about.
- kristianp 8y agoThis source [1] says: Core i9-9900K with 8 cores and 16 threads Core i7-9700K with 6 cores and 12 threads Core i5-9600K with 6 cores and 6 threads [1] https://hothardware.com/news/core-i9-9900k-coffee-lake-cpu-intel https://hothardware.com/news/core-i9-9900k-coffee-lake-cpu-i...
- adigonionio 8y agoThis form of "segmentation" is something I've always found appalling. A part like this is no different from a high-end part; it's an identical design that is intentionally damaged so it doesn't cut in to high-end sales. It comes out of the factory fully-featured and Intel charges you extra if you want them to skip breaking it. The free market, in its beautiful efficiency, leads to the intentional crippling of millions of state-of-the-art chips.
- oasisbob 8y agoDoesn't that viewpoint ignore real-world yields and binning?
- theandrewbailey 8y agoWhat about the dies that aren't 100% perfect, and don't work at those high end specs? If there's a defect in a core or two, or in some area of cache, why not trim it down to a lower spec part and sell it for something (rather than scrapping it)?
- nilsbunger 8y agoI think the case of HT is more pure "segmentation", and a little different. I bet most of the parts that ship with HT disabled have all threads working. The number of transistors involved in HT are quite small. There are probably very few cores where one thread works and the other doesn't, compared to the number of CPUs that work or don't work because their cache or something more fundamental is screwed up by a defect. I wouldn't be surprised if they don't even test for one thread working and the other not, and the "defeaturing" is a separate step after yield binning.
- nilsbunger 8y agoI understand it seems weird with hardware, but I think it's similar to how we charge for software. Try this thought experiment: 1. Based on market analysis, Intel decides it could sell a part with hyperthreading for $1K, and one without for $500. 2. Engineers start building both chips. 3. Because the chips themselves cost little to make ($45 and $50 for non-HT vs HT let's say?), and it costs $10M of engineering time to design each chip, engineers realize it would actually be far more efficient to design one chip with hyperthreading, and disable it for the lower-end SKU. I'm curious which part you object to in this sequence. The sale price of chips is mostly amortizing very high R&D costs, not unit distribution costs. There are a variety of different types of customers to serve with different price points, while designing different chips is expensive, so it ends up being logical to make one chip with different features enabled. Software and web services are the ultimate expression of this kind of economics. It costs almost 0 to serve an additional customer, but a lot of R&D and operations to build it. Would you call a web service "intentionally damaged" when they don't give you all features for the same price (or for free?)
- dnautics 8y agois this because of meltdown?
- kingosticks 8y ago> This is now going to be a feature limited to the i9 branding, So their goal would be to limit meltdown to the flagship i9 series? Seems like a strange plan.
- dnautics 8y agoI suspect that without hyperthreading the OS kernel has more explicit knowledge and control over thread tenancy so it is easier to mitigate a cache timing attack. But that is just speculation on my part.
- bonzini 8y agoL1 cache is shared between threads on the same core so, with SMT, you can attack the code that runs on the sibling thread too. However, that is more for Spectre, which abuses the reads done from foreign code to observe the effect they have on the cache. That foreign code can be the kernel, another process, the hypervisor, etc. running on the same core. Meltdown can read the entire comments of memory without needing foreign code and therefore SMT doesn't matter for it.
- dnautics 8y agoMaybe my understanding is wrong but with smt though the kernel.is not informed of which virtual CPU is in residence at any given time. IIRC, With smp only, the kernel is responsible for scheduling onto the processor so it can invalidate the cache exactly when it needs to.
- bonzini 8y agoThe threads look exactly like real processors to the kernel. The only difference as far as the kernel is concerned is that they share the L1 cache.
- negus 8y agoBut HT was the main (or only) difference between i5 and i7. What will be the difference among 5/7/9 in 9th generation?
- dsr_ 8y agoCore counts from i3 through i7, threading for i9. According to the article, anyway.
- daveguy 8y agoThis seems like a terrible move just as AMD is getting more competitive. AMD cpus are just going to be that much bigger bang for the buck. I don't buy that they're going to limit ht to only their top end cpus.
- SketchySeaBeast 8y agoAssuming this is true (which I doubt - HT was the main differentiation between the i5 and i7), this seems like the exact opposite approach you'd think they'd take with Ryzen breathing down their necks and boasting high core counts- AMD's i7 equivalents are all 8 core / 16 threads - Intel would want to return fire in some way.
- alkonaut 8y agoIf they really wanted to make a consumer/prosumer divide between i5 and i7/9 then they’d make virtualization and ECC available only for the latter.
- wmf 8y agoIn general I don't think blow-by-blow Intel SKU rumors are a good use of HN's time, but it's useful to understand the context here: https://www.computerbase.de/2018-07/spezifikationen-core-i9-9900k-i7-9700k-i5-9600k/ https://www.computerbase.de/2018-07/spezifikationen-core-i9-... The i9 is rumored to be 8C/16T, so Intel has to make the i7 worse in some way. An 8C/8T i7-9xxx is presumably still a little faster than a 6C/12T i7-8xxx even though it has fewer threads.
- Symmetry 8y agoHT is easy to implement but hard to debug. It wouldn't be at all surprising if an Intel engineering sample had HT disabled during the testing of some early samples. And really an Intel heavyweight core is wider than it needs to be in most cases where it isn't running two threads.
- jron 8y agoOpenBSD disables Intel's hyperthreading due to security concerns: https://news.ycombinator.com/item?id=17350278 https://news.ycombinator.com/item?id=17350278
- dmix 8y agoNote: it wasn't found to be insecure, it was merely suspected of being insecure (FWIW, this comes from people who tend to know what they are talking about. But also people who value security over everything else)
- qop 8y agoFor the uninformed: concerns don't mean vulnerabilities, necessarily At least there's no proof so far
- vbezhenar 8y agoI wonder if they fixed meltdown on those new processors. If they didn't, a lot of people probably would wait for upgrade (or switch to AMD).
- detaro 8y agoHas AMD fixed meltdown on any processors?
- benchaney 8y agoAMD never had meltdown to begin with. That was an Intel exclusive. Spectre is the one that affects everyone
- muxator 8y agoHas AMD fixed Spectre in its processors?
- dragontamer 8y agoAs much as Intel has. The issue with Spectre is that it is a new "buffer overflow". You can't "fix" a buffer overflow through hardware alone. You need software + hardware... and at best, you only get mitigations. And within the next few months, some researcher is going to come up with a new Spectre-based attack that current mitigations won't work on. Its a bit annoying. Just sit tight and stay up to date on Spectre, its a moving target.
- simcop2387 8y agoNot that I'm aware of, but neither has Intel. Intel recently published some patches that will enable Enhanced IBRS mode in future processors but those haven't even been talked about yet, I imagine that AMD will do something similar in the end but we haven't heard it yet. http://lkml.iu.edu/hypermail/linux/kernel/1807.3/00923.html http://lkml.iu.edu/hypermail/linux/kernel/1807.3/00923.html
- detaro 8y ago
- djsumdog 8y agoAre there any scheduling experts on here? So I've always been under the impression that HT just schedules instructions on the unused functional units. So say your CPU has 100 adders, and when you resolve all your dependencies for incoming instructions, you can only use 60 of those adders when running instructions in parallel (out of order), so the HT/logical core uses the other 40 adders for another thread (so the HT cores get a lower priority than the standard cores; hence why operating system that are HT aware can be more efficient by scheduling lower priority threads on the HT cores). Is that correct or am I way off? (HT wasn't a thing when I took architecture class. I had a dual AthlonXP back then, where I had two physically separate processors).
- w0utert 8y agoYes I think it more or less works that way. A hyperthread has its own set of registers and stack and everything, but for doing any actual work it shares the same functional blocks as any other thread running on the same core. I do think that the hyperthreading parts increase the numbers of some functional blocks like load/store units and such compared to non-hyperthreading parts though, to reduce contention (someone correct me if I'm wrong). What this means is that hyperthreading does not really work so well on sustained, homogenuous workloads. For example doing very heavy computation on 8 threads of a 4-core CPU with 8 hardware threads, can actually reduce performance, because all threads will be contending for the same functional blocks of the CPU.
- bartread 8y ago> For example doing very heavy computation on 8 threads of a 4-core CPU with 8 hardware threads, can actually reduce performance, because all threads will be contending for the same functional blocks of the CPU. We have exactly this scenario on a server we're running (non-virtualised) and, if it didn't involve rebooting the machine, I'd already have run a test to benchmark whether we get better performance with or without hyperthreading. Unfortunately our test environments aren't similar enough to be representative in terms of testing yet, but this is going to change in the next few weeks so I'll finally be able to run my test without needing to take down the production box.
- aasasd 8y ago> Most applications can usually handle a maximum of 8 threads efficiently I just wonder if I'm in the minority running more than one app at a time. Specifically, a dozen apps that are never closed and just stay in the background until I need them. Even more specifically, listening to music on YouTube while working in the IDE, wherein the browser pops up regularly on the CPU usage chart. For the same reason, the norm of 4 or 8 gb RAM is baffling to me.
- simias 8y agoDo you find that you're CPU limited in your workflow? Apps that are mostly idle don't need a dedicated CPU thread. Firefox playing a Youtube video on a rather old i7-5820K @3.3GHz takes about 20% of one CPU on my machine. Emacs takes a negligible amount of CPU most of the time, so do my terminals. Compilation is really the only situation where I max out my machine. In general if you only care about raw performance you'll run one heavy app per machine. You won't use the same server to render video and build your code at the same time, it will be more efficient to use two different servers for that.
- aasasd 8y agoTo me it seems that modern apps don't really stay frozen in the background like it was ten years ago, at least not on Mac. Something always keeps bubbling up in the process manager. Especially, JS GUIs seem to constantly occupy the CPU with something, even if a little―despite the supposedly event-driven nature.
- AstralStorm 8y agoEven then, the CPU utilisation is low, having one or two spare cores is enough to reap any latency benefits.
- geezerjay 8y agoHow do you arrive at that conclusion considering that nowadays browsers tend to run each page in dedicated threads and in some cases even processes? In that scenario your assertion would only hold if you assume no one has more than a couple of pages open at any given time.
- fulafel 8y agoIts funny how HyperThereading is such a widely used term, being an Intel marketing trademark. (SMT is the computer architecture term - cf. mmx vs simd)
- naikrovek 8y agoThey are different. HyperThreading is where one core acts as two by rapidly switching contexts. It isn't actually two hardware threads, and the one core never does two things at once. SIMD is one thread doing one instruction on multiple pieces of data at the same time. SIMD can give higher throughout from the CPU, and you must organize your data types to use SIMD. Symmetric multithreading is where software takes advantage of multiple logical hardware threads to do multiple pieces of work per clock cycle. SMT can use HyperThreads and/or multiple physical cores, and/or multiple physical CPUs with one or more logical hardware threads each.
- nkurz 8y agoIt isn't actually two hardware threads, and the one core never does two things at once. I don't think that's quite true. Rather, the two "virtual cores" are mostly independent, but share some backend resources. For example, modern Intel CPU's can sustain execution of 4 instructions per cycle, and with hyperthreading, two of these instructions can be from one thread and two from the other. Or one and three, or four and zero. Both threads truly do execute at the same time, it's just that the competition for resources means it sometimes takes longer for them to execute on a shared core than on separate physical cores.
- fulafel 8y ago> They are different. HyperThreading is where one core acts as two by rapidly switching contexts. This would be quite the opposite of Intel's actual SMT implementation, which aims to keep all the parallel execution resources of an OoO core fed and busy. There have been some machines that do what you describe too (eg Tera/Cray MTA, many GPUs, Sun's Niagara), to combat memory latency and reduce the need for cache. Those machines have a big thread count since they want to have a lot of outstanding memory operations in flight. You will notice that these machines are not called SMT, since the S stands for "Simultaneous".
- yellowapple 8y ago"Most applications can usually handle a maximum of 8 threads efficiently, any more than that is diminishing returns anyways." That's only relevant if you only plan on running one application at a time.
- xkcdefgh 8y agoThis is very unlikely just when amd's making them panic with super competitive ryzen procs