896 Xeon Cores in One PC: Microsoft’s New x86 DataCenter Class Machines Running Windows
by Ian Cutress on October 26, 2018 11:00 AM EST- Posted in
- CPUs
- Windows
- Microsoft
- Enterprise CPUs
- Azure
This week Microsoft released a new blog dedicated to the Windows Kernel internals. The purpose of the blog is to dive into the Kernel across a variety of architectures and delve into the elements, such as the evolution of the kernel, the components, the organization, and in this post, the focus was on the scheduler. The goal is to develop the blog over the next few months with insights into what goes on behind the scenes, and the reasons why it does what it does. However, we got a sneak peek into a big system that Microsoft looks like it is working on.
For those that want to read the blog, it’s really good. Take a look here:
https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/One-Windows-Kernel/ba-p/267142
When discussing the scalability of Windows, the author Hari Pulapaka, Lead Program Manager in the Windows Core Kernel Platform, showcases a screenshot of Task Manager from what he describes as a ‘pre-release Windows DataCenter class machine’ running Windows. Here’s the image:
Click to zoom. Unfortunately the original image is low resolution
If you weren’t amazed by the number of threads in task manager, you might notice that on the side there’s a scroll bar. That’s right: 896 cores means 1792 threads when hyperthreading is enabled, which is too much for task manager to show at once, and this new type of ‘DataCenter class machine’ looks like it has access to them all. But what are we really seeing here, aside from every single thread loaded at 100%?
So to start, the CPU listed is a Xeon Platinum 8180, Intel’s highest core count, highest performing Xeon Scalable ‘Skylake-SP’ processor. It has 28 cores and 56 threads, and by math we get a 32 socket system. In fact in the bumf below the threads all running at 100%, it literally says ‘Sockets: 32’. So this is 32 full 28 core processors all acting together under one version of Windows. Again, the question is how?
Normally, Intel only rates Xeon Platinum processors for up to 8 sockets. It does this by using three QPI links per processor to form a dual-box configuration. The Xeon Gold 6100 range does up to four sockets with three QPI links, ensuring each processor is linked to each other processor, and then the rest of the range does single socket or dual socket.
What Intel doesn’t mention is that with an appropriate fabric connecting them, system builders and OEMs can chain together several 4-socket or 8-socket systems into a single, many-socket interface. Aside from the fabric to be used and the messaging, there are other factors in play here, such as latency and memory architecture, which are already present in 2-8 socket platforms but get substantially increased going beyond eight sockets. If one processor needs memory that is two fabric hops and a processor hop is away, to a certain extent having that data in a local SDD might be quicker.
As for the fabric: I’m actually going to use an analogy here. AMD’s EPYC platform goes up to two sockets, but for the interconnect between sockets, it uses 64 PCIe lanes from each processor to host AMD’s Infinity Fabric protocol to act as links, and has the benefit of the combined bandwidth of 128 PCIe lanes. If EPYC had 256 PCIe lanes for example, or cut the number of PCIe lanes down to 32 per link, then we could end up with EPYC servers with more than two sockets built on Infinity Fabric. With Intel CPUs, we’re still using the PCIe lanes, but we’re doing it in one of three ways: control over Omni-Path using PCIe, control over Infiniband using PCIe, or control using custom FPGAs, again over PCIe. This is essentially how modern supercomputers are run, albeit not as one unified system.
Unfortunately this is where we go out of my depth. When I spoke to a large server OEM last year, they said quad socket and eight socket systems are becoming rarer and rarer as each CPU by itself has more cores the need for systems that big just doesn't exist anymore. Back in the days pre-Nehalem, the big eight socket 32-core servers were all the rage, but today not so much, and unless a company is willing to spend $250k+ (before support contracts or DRAM/NAND) on a single 8-socket system, it’s reserved for the big players in town. Today, those are the cloud providers.
In order to get 32 sockets, we’re likely seeing eight quad-socket systems connected in this way in one big blade infrastructure. It likely takes up half a rack, of not a whole one, and your guess is as good as mine on the price, or power consumption. In our screenshot above it does say ‘Virtualization: Enabled’, and given that this is Microsoft we’re talking about, this might be one of their internal planned Azure systems that is either rented to defence-like contractors or partitioned off in instances to others.
I’ve tried reaching out to Hari to get more information on the system this is, and will report back if we get anything. Microsoft may make an official announcement if these large 32-socket systems are going to be 'widespread' (meant in the leanest sense) offerings on Azure.
Note: DataCenter is stylized with a capital C as quoted through Microsoft's blog post.
56 Comments
View All Comments
Alex_Haddock - Friday, November 2, 2018 - link
There are some massively in memory situations where this is absolutely of benefit. The blog below has a pretty good overview of the ASIC interconnects.https://community.hpe.com/t5/Servers-The-Right-Com...
Interestingly there are plenty of cases where ultimate latency is less important than not having to move data from flash to RAM - in this case the ability to use Xeon Gold CPUs to support a ton of RAM and CPUs but without the extra cost is a real benefit, despite losing links.
In the long run datacenters are becoming more and more constrained in the power cost of moving data, this is what is leading to memory based computing that systems like SuperdomeFlex are the precursor too.
mode_13h - Monday, November 5, 2018 - link
Thanks. I'll check it out.Akasbergen - Friday, October 26, 2018 - link
You may want to read up on HPE Superdome Flex.sor - Friday, October 26, 2018 - link
I feel like we need to go back and look at that CPU0 article again and update the memes :)watersb - Saturday, October 27, 2018 - link
I clicked through the Amazon link following this article, the qual-socket rated Xeon Gold 6134. I can add Amazon Expert Installation for only $83! And a 4-year Extended Product Warranty for only $18!I need to get out of our current support contract...
CharonPDX - Saturday, October 27, 2018 - link
IBM has made "cluster" systems out of these high-end Xeons for a while - using direct PCI Express links between the individual server chassis via Infiniband plugs.I thought it was impressive playing with one in 2010 that was two separate chassis linked together of eight, eight-core "Nehalem-EX" Xeons each. Seeing 256 threads and 2 TB of RAM in Task Manager was insane! Of course, at the time, those CPUs were $55,000, and the RAM was $100,000.
Machinus - Saturday, October 27, 2018 - link
what's a defence?Ian Cutress - Saturday, October 27, 2018 - link
The correct way of spelling the word ;)Machinus - Saturday, October 27, 2018 - link
For when you remove a fence.The Von Matrices - Saturday, October 27, 2018 - link
Only 2 TB of ram for 32 sockets? With 6 memory channels per socket, that's an average of 10.6GB per DIMM. Basically the minimum amount of memory you can put in one of these servers. I guess that makes sense since any workload that would need lots of memory would be hindered by bandwidith/latency of the inter-socket interconnect anyway.