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.

Related Reading

POST A COMMENT

57 Comments

View All Comments

  • HStewart - Friday, October 26, 2018 - link

    Well you could say the same thing about 16 or 32 Core computer. But this is not actually intended as PC - but a server - but one could make a killer workstations

    But who knows we maybe talking about 896 cores in laptop in 10 years
    Reply
  • mode_13h - Saturday, October 27, 2018 - link

    Yes and no. Yes, you're already talking about 896-core laptops *today*. But no, nobody will be *seriously* talking about such things.

    The main reason being that core scaling is non-linear in both power and area. Also, Moore's law is dead.
    Reply
  • peevee - Monday, October 29, 2018 - link

    "The main reason being that core scaling is non-linear in both power and area."

    If the basic architecture is Von Neuman-based.
    Reply
  • mode_13h - Monday, October 29, 2018 - link

    We're only extrapolating, here. If you're proposing some fundamentally new technology, like room-temperature quantum computers, then of course that would be a game-changer.

    But such predictions need to be justified - not blue sky wishful thinking - and generally aren't relevant to the conversation.
    Reply
  • hotaru - Friday, October 26, 2018 - link

    more likely it's just a regular quad-socket system running a VM like this: httpsww.dragonflydigest.com/2018/02/26/20940.html Reply
  • hotaru - Friday, October 26, 2018 - link

    more likely it's just a regular quad-socket system running a VM like this: https://www.dragonflydigest.com/2018/02/26/20940.h... Reply
  • deil - Friday, October 26, 2018 - link

    In pic while updating. And ofc no way to update without interupting what you do + OFC configuration reset each update right ? Reply
  • rocky12345 - Friday, October 26, 2018 - link

    I liked seeing all of those Threads sitting at 99%-100% 896/1792 core/threads is powerful no matter how you look at or how it is setup.

    The big question is "But can it play".....never mind...:) /jk
    Reply
  • mode_13h - Friday, October 26, 2018 - link

    Earlier this year, I would've said realtime ray tracing should be a good workload for it. But now, I doubt it would outpace a handful of RTX 2080 Ti's. Reply
  • CheapSushi - Friday, October 26, 2018 - link

    This was always my dream for a homelab. When searching for information it always gets muddied by the discussion about having many systems work on one problem. But what I wanted is many systems that look like one system that can handle many problems (such as what you get with 2P, 4P and 8P as shown). The single system image OS's & software are pretty dated now though. And much of it still complex in implementation especially for just a hobbyist. I don't have a use case but I just always wanted something along those lines. In my homelab with 6 systems, VMs, etc, it still feels disjointed. Reply

Log in

Don't have an account? Sign up now