Can a server be my main machine?

We usually think of servers as powerful, expensive machines sitting in data centers, and that’s usually accurate enough. Small to medium businesses have tower servers available as an option. Back in the day Intel used to make kits including chassis, mainboards, CPUs, memory, and cooling for DIY servers; SuperMicro has something similar now.

I’ve been running a homelab for a while. I started with an old gaming rig, switched to a proper server, moved to a couple of those SuperMicro kit components, and landed on another DIY option with an ASRock “server” mainboard in it. Now, I have those SuperMicro kit components left over.

The SuperMicro components are not considered that powerful in 2023. The CPU is a Xeon E5-2690 v2, making it a 10-core, 20-thread Ivy Bridge-EP part. Generationally this is on par with my first “old gaming rig” server, an i7-4930k, but with far more grunt. It’s running 128GB of ECC DDR3 RAM. The mainboard has a decent amount of SATA ports, though most are SATA2. The PCI Express slots are also jerks — they’re all sized either 16x or 8x, but electrically there is only one 16x slot and a number of the 8x slots are PCIe 2.0.

With all of this in mind, what do I actually need to do my work? I’m running a Ryzen 9 3900X for that purpose, which means the Xeon’s core count is pretty close. I’m running 64GB of DDR4-3200, mainly because I run multiple virtual machines; the 128GB of ECC DDR3 would allow me to allocate more memory to those VMs and possibly run more of them in general. I like booting from NVMe drives because of the performance, obviously, which I can’t do using the SuperMicro board. However, I don’t have an issue booting off a SATA drive and using NVMe on PCIe 1x add-in cards as necessary; that’s what I did when this machine ran my homelab and performance was fine. The GPU I use for work was never considered high-end: it’s a FirePro W4100. PCI Express 3.0 is fine for that, but the SuperMicro board gives us a built-in display output, though it just has a single HD-15 port so its usefulness is somewhat limited.

One of the VMs I’m running is Windows 11, which requires a recent CPU and a TPM. I’ve virtualized plenty of machines using the E5-2690 v2, and I’ve gotten Windows 11 virtualization working on an Alder Lake-based KVM machine before, but I had to set the CPU model to Skylake. Virtualizing the TPM is trivial, but I’m not sure if I’d be able to do set Skylake as the CPU model with an Ivy Bridge-EP CPU.

So … I haven’t answered the question posed in the title of this post, but I think it’s worth trying. It’s an interesting thought experiment, to be sure, and I’m not expecting it to outperform the 3900X. However, as I mentioned in a previous post I’m pretty keen on keeping hardware running as long as possible, and not using a 10c/20t CPU seems like a tremendous waste. Let’s see what happens.