Whatever happened to PCs with two CPUs?
Back in the late 90s and early 2000s, it wasn't super uncommon to hear about computers that had two CPUs. You could get a PC with a dual Intel Pentium III, and the motherboards themselves were dual socket to enable that kind of use case. While they were expensive and aimed solely at enthusiasts, it's still the case that you can't really get a dual CPU machine like you could back then. Why is that?
Before multi-threading, dual CPUs were a stop-gap
Nobody needs it these days
As I mentioned already, the Intel Pentium III was one of those CPUs that you would commonly see enter the conversation when it came to dual-CPU PCs. The reason for it was that, while a powerful CPU, it only had one core. What this meant was that you couldn't process multiple things at once, and only one processing thread was a limiting factor. A lot of the concepts we see in operating systems today were used back then, including the use of a scheduler, context switching, pipelining, and memory management, but the difference is that back then, you were severely limited by the single-thread capabilities of the Pentium III.
That's where Symmetric Multiprocessing, or SMP, comes in. You could put two Pentium III CPUs in a machine and they could share memory managed by a single operating system. They could execute threads in parallel, completely independently, doubling the number of threads. The CPU had to specifically support this feature, and so did programs that were running on the system.
Really, only applications developed to use two threads could actually benefit from the speed boost of two CPUs, though different processes could be distributed across both CPUs by the operating system, a feature supported by both Windows NT and Linux at the time. This gave a performance improvement of sorts, but individual programs didn't really benefit.
Nowadays, this isn't needed, which is a big reason why dual CPU machines are no longer in use. You can still get servers that support multiple Intel Core Xeon CPUs at once (I actually have one of these that I played around with for a while), but by and large, you're not getting a dual CPU consumer machine anytime soon.
Just like every mouth-watering deal, budget-friendly Xeon processors have plenty of pros and cons
When does a dual-CPU machine make sense?
Servers, mostly
The most common place that you'll find a dual CPU machine nowadays is in a server, and the reason for that largely lies in memory bandwidth. Mission-critical machines will often have two CPUs, and each CPU has its own memory controller. This is where non-uniform memory access (NUMA) nodes come into play. Each CPU will typically have its own memory bank, and the memory bank belonging to a specific CPU is the bank closest to the CPU.
Memory in these machines is still shared, but a CPU will need to cross an interconnect to access memory close to the other CPU. In Intel-based systems, this is managed through Intels Ultra Path Interconnect (UPI). While UPI ensures uninterrupted communication between CPUs, latency increases when a CPU processes data stored in the opposite memory bank. For this reason, NUMA-aware applications and operating systems aim to align tasks: processes running on CPU 1 will preferentially use CPU 1s memory bank to minimize delays and maximize performance.
NUMA-based optimization is incredibly important for mission-critical workloads like virtualization, large-scale databases, and high-performance computing, known as HPC. For the average person, this simply isn't important.
Why you don't need a dual-CPU computer
Even if it sounds cool
These days, your average consumer-grade CPU has a lot of cores, and often, even more threads. This makes a dual CPU machine irrelevant, as their existence in enthusiast machines was simply to get around the limitation of a machine having one CPU and one core, meaning only one thing could be processed at a time.
You don't need a dual CPU computer, even though it sounds cool. You can buy an old server machine for cheap that has dual Xeons if you want to play around with it in a home lab, but even then, it would be hard to really push a home lab in a way that you would actually need two CPUs running at the same time.
Really, you're better off just using some old parts that you have lying around, rather than investing money into something new that will use more power while also being hard to utilize to its full potential. Gone are the days when you actually needed a dual-CPU computer to do anything intensive, and honestly, we're much better off for it.