Intel Previews Sierra Forest with 288 E-Cores, Announces Granite Rapids-D
anandtech.com
anandtech.com
Also enjoying that core count is getting so high. Hopefully this will encourage a 256 core from AMD.
Exciting times to be a parallel programming enthusiast.
One speculates to hide memory latency, the other shuffles threads between cycles to hide memory latency. One has ~64 byte wide vector ops, one has ~256 byte wide vector ops.
I have a pet theory that the significant difference is the cache coherency model.
One of the uses they prototyped was a GPU, or a large multi-threaded (x86)software renderer rather than going through a regular 3D acceleration API. I remember reading that part of the challenge was that Larrabee was a system itself, so a developer needed to boot something like BSD before providing it with code to get useful output. This was around the time AMD was experimenting with 'fusion' after their purchase of AMD, and exploring how to push different different parts of an application to the relevant processor in their CPU+GPU products.
That's in addition to the other Xeon Phi accelerators they did. Obviously Sierra Forest is a regular CPU, but it seems there's a bit of "history doesn't repeat, but it rhymes"
Can't remember if it had a lower max core count across SKUs but at least one popular vtuber got hands on one.
So long as some important applications have tons of similar threads and some have very few threads, it will probably make sense to specialize.
At some point, and I think 256 cores might be the ballpark, you're committing to using so many threads that you're probably mostly interested in high throughput. (I'm writing commercial path tracers so my bias is obvious!)
Multi-core CPUs are for parallel processes. You want to host a ton of virtual machines and they all care about branch prediction and cache latency more than throughput.
Also, CPU cores tend to have speculative execution, GPUs don't.
So long as GPU threads have to run in a warp, they will be fundamentally very different from a CPU core, no matter how weak, strong, or power efficient.
The limit on this is clearly power. Right now you get 128 cores for 360 watts -- less than 3 watts per core. SP5 can provide up to 700W, so they could do it if the demand is there.
edit: Damn it Wikipedia, it's only 700W for 1ms. So they might need a more efficient process or a new socket.
With 2U2N and Dual Socket per node, that is a potential of 2046 vCPU per 2U unit. All the problem with Web App Scaling can be resolved much cheaper with fewer server to manage.
When they say splitting like that, do they mean there won’t be chips that feature both?
Xeons with homogeneous big cores and Xeons with homogeneous little cores… why not call it Knights Forest?
They're thus going after a very different market.
Where needed, you can put in the same rack several servers with big cores and several servers with small cores, in a proportion appropriate for the desired application. When the big cores and the small cores are in different sockets and they do not share coolers, the big cores can achieve maximum speed without being slowed down by the heat produced by the many threads that might be run simultaneously on the small cores.
AMD already has both server CPUs with big cores (Genoa and Genoa-X) and server CPUs with small cores (Bergamo and Siena). AMD's strategy seems wiser, because their small cores are logically equivalent with the big cores, but they have a smaller size and a better energy efficiency due to a different physical design.
Intel's strategy of implementing distinct instruction sets in the big cores and in the small cores is an annoying PITA for software developers.
For redundancy like NonStop pairs or secure decomposition, the IPC must be really fast so they can work in lockstep or pipelines.
For I/O processors, the efficient one can handle interrupt processing while the performance core focuses on main application. Like in a mainframe with the hardware more condensed.
A separate socket per logical domain with its IPC overhead might not be as cost-efficient as heterogenous CPU’s. That’s also before I consider putting the new chips in existing, low-cost servers with all servers having the same chips. That might have cost and management benefits on top of it.
Would you just display an average of 24 cores, so it would look like 12 aggregate cores?
Edit: playing Tetris on an even bigger CPU https://twitter.com/markrussinovich/status/13356511159588945... (https://news.ycombinator.com/item?id=25343369)
once you do... https://files.catbox.moe/dbualh.png
Finally a processor which can run svchost.exe.
How is the performance ?
It is likely that the cores of Sierra Forest have a microarchitecture very similar to the small cores of Meteor Lake (the big cores of Meteor Lake are almost identical to the big cores of Raptor Lake/Alder Lake, but its small cores are improved).
Compared to the small cores of Meteor Lake, the cores of Sierra Forest will support some additional instructions. Most of them are some instructions previously available only in the server CPUs that support AVX-512, but in Sierra Forest (and also in the next desktop/laptop CPUs, i.e. Arrow Lake/Lunar Lake) they are re-encoded in the AVX instruction format (i.e. using a VEX prefix).
I really don’t get why the industry is still on Windows for the most part. I wish my company would just standardize on some supported variant of a Linux Desktop and be done with Windows once and for all.
You should look at which thing it's actually running to see what's using all your CPU.
Some articles detailing what it does and how it works: [1] https://nasbench.medium.com/demystifying-the-svchost-exe-pro... [2] https://pusha.be/index.php/2020/05/07/exploration-of-svchost... [3] https://blog.didierstevens.com/2019/10/29/quickpost-running-...
These articles were great by the way! I’ve never gotten significantly down and dirty in svchost, so these were a treat to read. I much appreciate the effort in your response. Have a pleasant day!
Maybe you're self-employed and unsuccessful in troubleshooting this yourself, but that sounds like a five-minutes-with-a-first-line-support-technician problem.
If you don't have a tech support department to turn to (or if they are incompetent), investigate the process with ProcessExplorer from Sysinternals to find out what that service host process is running and go from there.
The industry is still on Windows because it's easier to manage in a corporate setting. And usually better for software compatibility.
I had a near equivalent problem where my Windows desktop was brought to its knees by an instance of Glassfish running on it by some sort of policy. We did embedded development, low level stuff like data plane processing via FPGA. Internal IT spent 1/2 an hour trying to convince me that Glassfish was an essential part of my development stack.
I never bothered to convince them to solve the morning 9 AM virus scan of every file on disk. I just hung out in the break room for the 45 minutes it took while the UI was almost totally useless
Speak to the manager of your manager, and if that doesn’t work, to the manager of the manager of the manager. If that does not work, write a handwritten letter to the CEO and deliver it. If the CRO knew about this, they would definitely fix it! Don’t forget a a wax seal, they love those!
Actually that reminds me, I right-clicked the svchost instance using the most memory and noticed the restart option, I was in an “f it” mood, so I clicked restart to see what would explode. Didn’t seem to have any negative effect that I could notice at the time. Memory usage instantly dropped by 6GB.
It was a nice and quick buy me some time trick.
I mean, it doesn't sound like your current windows desktop is particularly supported.
With Linux these gremlins tend to be a bit less of a problem in my, gosh 20 years of IT experience. 20 years, wow! Am I really that old? Dear god. Where does the time go?
Even then unless it was a trivial issue, it was often a simpler fix to just re-image (or swap out hardware if we happened to have new ones available) - because most people had zero custom software installed (except for the 8 different IE toolbars they had somehow installed but swear appeared automatically) and after all, its windows: restoring from a clean image meant the machine would suddenly have that new car smell again and it'd likely last longer until the next issue would pop up.
For people with custom software there was usually more leeway to troubleshoot problems - particularly if it was stuff that needed one-off configuration.
I do feel your pain but having been on the other side of that fence I also feel their pain.
People really want to get away from windows. But they really really don't want to deal with an OS that feels like it's 1990.
I'd rather a 1990 feel than the current feel where everything is flat and it's not obvious what's interactable and my 27" 4K monitor is 90% whitespace.
Though it is possible to use Linux and never need the terminal, especially if you're not an engineer.
Or as the kids say “uWubuntu”
Haha. Wait, what’s wrong with 90’s style? Check out how fast the 90’s style Serenity OS project is. It’s really something special they’re building.
Find the PID of the svchost.exe process that's eating CPU in Task Manager. Then go to the Service tab of Task Manager and find the service with that PID. You'll have your actual culprit of what's eating CPU. It COULD be a Windows service that's acting up, but it's just as likely some 3rd party service.
Nobody uses DCOM, not even back then.
But the ideas behind Niagra weren't about scale per se, it's was about the idea of using extremely wide multithreaded dispatch to get high instruction throughput out of a simple (and thus small) in-order CPU core. Normally you'd expect such a core to spend most of its time getting stalled on DRAM fetches, but with SMT you can usually find another instruction to run from another thread, so the pipeline keeps moving.
The Intel E-cores in this device aren't like that at all. They're smaller than the P-cores, but are still comparatively complicated OOO designs intended to avoid avoid stalls via parallel dispatch.
Neither is IBM, to be fair. POWER is in a lot of ways an exercise in "throw as much junk into the part as we can with no thought to efficiency and see what the benchmarks say".
But surely the idea is the same: SMT hides memory latency with parallelism just like lots of load/store units do, so why not both? Datacenter loads that IBM cares about are very often fetch-limited (e.g. queries into a database RAM cache are basically guaranteed not to be nicely L1-cache-local), so maybe the numbers work out. Seems wasteful in traditional/consumer scalar loads for sure.
IBM's slides at HotChips say Power10* was designed for energy efficiency, a 3x better than POWER9 for whatever that's worth. Unfortunately, I can't seem to find a TDP for it. Or benchmarks vs x86-64 server in terms of raw performance or performance / watt.
*apparently Power10 is not all caps
Niagara (all designs) heavily compromised single-thread performance, which could just mean time critical (5G or whatever) threads cannot complete on time.
Niagara was an interesting idea, but not great for most applications.
What one has to do with the other?
(and of course 'AI' must be present in the description of a network switch)