I disagree about the limitations of software parallelism. The article is correct that many existing algorithms like ray tracing or apps like web rendering have inherent limits to parallelization, but there exist a large number of "embarrassingly parallel" things that simply are not done on small PCs and phones right now because they're too costly. This includes things like neural networks, genetic algorithms, all kinds of optimization algorithms, etc.<p>This article is from 2007 so it predates the AI renaissance. Lots of AI, ML, and optimization stuff can happily eat as many cores as you want to throw at it.<p>Then there's the multitasking angle. On a desktop at least I often run dozens of applications, developer VMS, etc. I could definitely use 20 cores in a desktop/laptop right now. We have tests that easily max out a 24 core server that I'd love to run on my own box.