9 ms·
Wow. That's surprisingly lame.
by zik 1y ago
Wow. That's surprisingly lame.
- Const-me 1y agoThe NT kernel dates back to 1993. Computers didn’t exceed 64 logical processors per system until around 2014. And doing it back then required a ridiculously expensive server with 8 Intel CPUs. The technical decision Microsoft made initially worked well for over two decades. I don’t think it was lame; I believe it was a solid choice back then.
- monocasa 1y agoI mean, x86 didn't, but other systems had been exceeding 64 cores since the late 90s. And x86 arguably didn't ship >64 hardware thread systems until then because NT didn't support it.
- Const-me 1y ago> other systems had been exceeding 64 cores since the late 90s. Windows didn’t run on these other systems, why would Microsoft care about them? > x86 arguably didn't ship >64 hardware thread systems until then because NT didn't support it For publicly accessible web servers, Linux overtook Windows around 2005. Then in 2006 Amazon launched EC2, and the industry started that massive transition to the clouds. Linux is better suited for clouds, due to OS licensing and other reasons.
- rsynnott 1y agoWindows NT was originally intended to be multi-platform.
- p_ing 1y agoNT was and continues to be multi-platform. That doesn't mean every platform was or would have been profitable. x86 became 'good enough' to run your mail or web server, it doomed other architectures (and commonly OSes) as the cost of x86 was vastly lower than the Alphas, PowerPCs, and so on.
- monocasa 1y ago> Windows didn’t run on these other systems, why would Microsoft care about them? Because it was clear that high core count, single system image platforms were a viable server architecture, and NT was vying for the entire server space, intending to kill off the vendor Unices. . For publicly accessible web servers, Linux overtook Windows around 2005. Then in 2006 Amazon launched EC2, and the industry started that massive transition to the clouds. Linux is better suited for clouds, due to OS licensing and other reasons. Linux wasn't the only OS. Solaris and AIX were NT's competitors too back then, and supported higher core counts.
- zamadatix 1y ago> And x86 arguably didn't ship >64 hardware thread systems until then because NT didn't support it. If that were the case the above system wouldn't have needed 8 sockets. With NUMA systems the app needs to be scheduling group aware anyways. The difference here really appears when you have a single socket with more than 64 hardware threads, which took until ~2019 for x86.
- monocasa 1y agoThere were single image systems with hundreds of cores in the late 90s and thousands of cores in the early 2000s. I absolutely stand by the fact that Intel and AMD didn't pursue high core count systems until that point because they were so focused on single core perf, in part because Windows didn't support high core counts. The end of Denmark scing forced their hand and Microsoft's processor group hack.
- deleted 1y ago[deleted]
- zamadatix 1y agoDo you have anything to say regarding NUMA for the 90s core counts though? As I said, it's not enough that there were a lot of cores - they have to be monolithically scheduled to matter. The largest UMA design I can recall was the CS6400 in 1993, to go past that they started to introduce NUMA designs.
- monocasa 1y agoWindows didn't handle numa either until they created processor groups, and there's all sorts reasons why you'd want to run a process (particularly on Windows which encourages single process high thread count software archs) that spans numa nodes. It's really not that big if a deal for a lot of workloads where your working set fits just fine in cache, or you take the high hatdware thread count approach of just having enough contexts in flight that you can absorb the extra memory latency in exchange for higher throughput.
- arp242 1y ago> Computers didn’t exceed 64 logical processors per system until around 2014. Server systems were available with that since at least the late 90s. Server systems with >10 CPUs were already available in the mid-90s. By the early-to-mid 90s it was pretty obvious that was only going to increase and that the 64-CPU limit was going to be a problem down the line. That said, development of NT started in 1988, and it may have been less obvious then.
- p_ing 1y ago"Server systems" but not server systems that Microsoft targeted. NT4 Enterprise Server (1996) only supported up to 8 sockets (some companies wrote their own HAL to exceed that limit). And 8 sockets was 8 threads with no NUMA back then, not something that would have been an issue for the purposes of this discussion.
- monocasa 1y agoMicrosoft was absolutely wanting to target large servers at the time. They were actively trying to kill off the vendor unices in the 90s.
- immibis 1y agoLinux had many similar restrictions in its lifetime; it just has a different compatibility philosophy that allowed it to break all the relevant ABIs. Most recently, dual-socket 192-core Ampere systems were running into a hardcoded 256-processor limit. https://www.tomshardware.com/pc-components/cpus/yes-you-can-have-too-many-cores-amperes-192-core-cpus-break-arm64-linux-kernel-in-two-socket-systems-company-requests-higher-core-count-support-for-mainline-linux https://www.tomshardware.com/pc-components/cpus/yes-you-can-...
- monocasa 1y agoTom's hardware is mistaken in their reporting. That's raisng the limit without using CPUMASK_OFFSTACK. The kernel already supported thousands of cores with CPUMASK_OFFSTACK and has at least since the 2.6.x days.
- sidewndr46 1y agoThat was actually the DEC team from what I understand, Microsoft just hired all of their OS engineers when they collapsed
- meepmorp 1y agoDave Cutler left DEC in 1988 and started working on WINNT at MS, well before the collapse.
- rsynnott 1y agoThe Sun E10K (up to 64 physical processors) came out in 1997. (Now, NT for Sparc never actually became a thing, but it was certainly on Microsoft's radar at one point)
- mixmastamyk 1y agoSGI Origin did by 1996. Though MS ported NT to a number of systems (mips, alpha, ppc) it wasn’t able to play in the very big leagues until later. I agree it was a reasonable choice at the time. Few were getting mileage out of that many CPUs back then.