"This overcommits memory by 800 to 1,000 per cent, and then along comes a peak workload - what now?"
Whilst I can see the advantages for when you have an app that has peaky but infrequent memory needs, what happens when more than one server needs that peak memory? Whilst they slag off virtualisation engines that overcommit memory, sharing memory offers the same problems when more than one server hits the peak. Then you're back to waiting on swap, etc. What's needed is as was pointed out earlier in the article - faster memory technologies and wider busses to on-chip memory controllers. Or maybe plug-in chips made completely of L3 cache which can populate every second CPU socket - you lose half the CPU space but get massively increased amounts of speedy L3 cache.