5 ms·
My only "critique" of the article is the lack of SMP (multi-core) enablement NT 4 did support rudimentary multi-processor (Symmetric Multi-Processor) systems b
by CursedSilicon 1y ago
My only "critique" of the article is the lack of SMP (multi-core) enablement
NT 4 did support rudimentary multi-processor (Symmetric Multi-Processor) systems back in the day. But it seems to lack the `HLT` instruction in the SMP enabled HAL
This means an NT 4 VM will always operate at 100% CPU usage even if it's simply idling.
Back in the 2000's when folks were slowly migrating NT 4 workloads to VMware, enterprising users took it upon themselves to patch the NT4 SMP HAL to fix this. But in my own testing that doesn't seem to work and results in a blue screen of death on boot.
There's probably a way to do it under QEMU/Proxmox. But I haven't dug deep enough to figure it out myself
- Lammy 1y ago> There's probably a way to do it under QEMU/Proxmox. But I haven't dug deep enough to figure it out myself Maybe one of the same utilities commonly used to work around this same issue on Windows 95? Amn Refrigerator (formerly AmnHLT) — not relevant for NT because it uses a VxD driver, but it's my favorite for Windows 95 so I'm linking it here for completeness: https://web.archive.org/web/20010331184312/http://www.amn.ru/refrigerator.html https://web.archive.org/web/20010331184312/http://www.amn.ru... KCPUCooler: https://web.archive.org/web/20010607173439/http://www.kt2k.com/go.php?s=14 https://web.archive.org/web/20010607173439/http://www.kt2k.c... CpuIdle: https://web.archive.org/web/20030925110541/http://www.cpuidle.de/ https://web.archive.org/web/20030925110541/http://www.cpuidl... Waterfall and/or Rain from Leading Wintech (can't find the original URL): https://vetusware.com/manufacturer/Leading%20Wintech/?author=1419 https://vetusware.com/manufacturer/Leading%20Wintech/?author... VCool or CPUCooL might be the ones to try because they're the only ones that seem to explicitly mention supporting NT: “VCool now utilizes its own driver on NT, W2K, XP: vcool.sys” https://web.archive.org/web/20041205132318/http://vcool.occludo.net/VCool.html https://web.archive.org/web/20041205132318/http://vcool.occl... “CPU Cooling under Windows 95 / 98 / NT / 2000 (Watch Wintop !)” https://web.archive.org/web/20041211214000/http://www.cpufsb.de/CPUCOOL.HTM https://web.archive.org/web/20041211214000/http://www.cpufsb...
- anonymars 1y agoWhich, by the way, for background of why this issue exists (Old New Thing of course): https://devblogs.microsoft.com/oldnewthing/20030828-00/?p=42753 https://devblogs.microsoft.com/oldnewthing/20030828-00/?p=42... If anyone can find the archive link to the original, I believe there was discussion in the comments about "why not exclude it for specific hardware only" and the risk of false negatives was deemed too high
- Lammy 1y ago> If anyone can find the archive link to the original Here's the full list: https://web.archive.org/web/20220712161524/https://bytepointer.com/resources/old_new_thing/index.htm https://web.archive.org/web/20220712161524/https://bytepoint... Here's this particular entry: https://web.archive.org/web/20220712161524/https://bytepointer.com/resources/old_new_thing/20030828_036_hardware_backwards_compatibility.htm https://web.archive.org/web/20220712161524/https://bytepoint... (11 comments)
- CursedSilicon 1y agoSadly none of those worked in my testing :(
- pjmlp 1y agoIn the proxy server that I wrote back in 2000's, relying on the Windows NT/2000 scheduler for multiple CPUs was a big performance hit. Threads would jump around cores, killing most performance gains by using multiple threads. The workaround was the typical getting the amount of CPUs and park each thread on their own one, this alone made quite an observable improvement. I think by Windows Server 2003, this scheduler issue was already sorted out.
- dspillett 1y ago> migrating NT 4 workloads to VMware, … patch the NT4 SMP HAL to [issue HTL]. But in my own testing that doesn't seem to work and results in a blue screen of death on boot. IIRC some drivers were very unhappy with this, IIRC something about interrupts waking a processor that then started a transfer, while something running on the other was already waiting for a transfer to complete. For some (virtual) hardware combinations it worked smoothly but others were very unreliable. We just switched to the single professor HAL as that still performed as well as the older CPUs when virtualizing on newer kit and was much more reliably stable.
- HeckFeck 1y agoI wonder whether this has been patched in that OpenNT 'fork' of the leaked NT4 source.