I am in favor of what I would call a user directed multiprocessor system.
Though it would certainly not be true smp, it may be better for some things...
Imagine you click on the top window border of a running program and there is a little dialog box. It says "using core" then a # - 1 2 3 4
You could assign which core the app should use to process its work.
core 1 could be given to the main gui/window manager.
Leaving cores 2 3 and 4 to be assiganable to whatever task you want.
Alternatively, what if you could assign video playing tasks to a specific core, sound processing tasks to another core, and rendering tasks to another and so on....
On the newer 8 and 16 core systems coming, you could distribute the workload over all the cores, making for a truly snappy system.
That kind of setup, sounds very amiga like to me...
Steven