What a terrible, terrible article.
A quote from the article:
The problem is much simpler: programs are slow to react because the tasks they're doing take a finite amount of time, and if sufficient time has not elapsed the task will not be complete!
Hopefully enough to convince you to avoid reading it.
I have to admit that I use reddit as a "Should I read this?" service.
He suggested that in multicore OSes, cores would instead be dedicated to particular processes, with the OS acting more as a hypervisor; assigning processes to cores, but then leaving them alone to do their thing.
So if I have n cores, I can only run n processes at a time? Sure, n will be fairly large in the future, but having any cap seems like it would be a problem.
Edit: Also, how would this get rid of protected memory? Will each core have a separate physical RAM module, and be completely unable to access other cores' physical RAM modules, or what?
Don't forget about threads. Each core can run multiple threads, so really your "at-any-given-moment" process capacity is more like n x t (cores x threads per core). Right now most processors only do 2 threads per core, so the calculation is rather simple. But I could see the "number of cores per die" battle quickly turning into a "number of threads per core" battle. I've already read about some SUN and IBM chips that go up to 16 threads per core. However, AMD and Intel haven't put much stalk into the threads-per-core fight because of degraded performance issues, but I think these technical challenges could be overcome soon. So keep an eye on this for the future.
Summary attempt :
Applications are not setting scheduling priorities correctly !
Let's write a new OS with a new (and stupid) architecture.
Depends on where hardware is going. More cores certainly, but I don't think they're going to support the current coherent shared memory model forever. It's not clear what they will replace it with though.
It would be nice if they started thinking about putting in support for user level dispatching of hardware threads.