It's unfortunate that so many are drinking the disaggregation koolaid.
FACT: you cannot disaggregate CPU from memory. Of course, that's the component you most want to do. Disaggregating IO devices is no big deal (and obviously doable with a monolithic kernel, since we have pcie hotplug today.)
Why? The fact that DRAM latency has been around 50ns for a decade is probably the most important performance limiter on any systems today. Exchanging 50ns local DRAM for 600-1000ns network access is profoundly stupid. Caches? Sure, they're great, but we already have very large caches that hardly ever take non-compulsory misses.
In other words: bandwidth is easy; latency is hard.
This is not news, but it's why your datacenter won't have racks of ram and a racks of memory-free cpus, and a racks of storage.
FACT: you cannot disaggregate CPU from memory. Of course, that's the component you most want to do. Disaggregating IO devices is no big deal (and obviously doable with a monolithic kernel, since we have pcie hotplug today.)
Why? The fact that DRAM latency has been around 50ns for a decade is probably the most important performance limiter on any systems today. Exchanging 50ns local DRAM for 600-1000ns network access is profoundly stupid. Caches? Sure, they're great, but we already have very large caches that hardly ever take non-compulsory misses.
In other words: bandwidth is easy; latency is hard.
This is not news, but it's why your datacenter won't have racks of ram and a racks of memory-free cpus, and a racks of storage.