In looking at language design issues for various programming models I've been forcibly reminded of the artificiality of the server/desktop distinction. "Everybody" says this is a big deal, but it isn't and neither x86's limitations nor the throughput focused structure of Sun's CMT makes it so.
In support of that, here's a quotation from Matthew Dillon - the prime mover behind the Dragonfly BSD variant based on a light weight threading solution to SMP process creation and management. This is being done mainly on x86, but is a prime candidate for desktop use on both Sun CMT and IBM's nexgen PowerPC as found in Microsoft's X360.
Here's what he said in an osnews interview done more than a year ago:
OSN: What is the primary goal of dragonfly, servers or desktops?
Matthew Dillon: Both. When it comes right down to it the idea of targeting a system to the 'server' is simply another word for 'reliability and scaleability', and the idea of targeting a system to the 'desktop' is simply another word for 'out of the box GUI'. It's not really an either-or deal. All UNIX systems, including Linux, the BSD's, DragonFly... basically use the same desktop components so supporting a desktop environment comes down to being able to provide integrated solutions that work out of the box.
It is extraordinarily difficult to make GUIs work out of the box on PCs due to the wide variability in hardware and peripherals, but at the same time technology has continued to progress over the years towards standards that actually make this easier to accomplish. At some point the standards going in one direction will meet the software going in the other and systems such as Linux and the BSDs (including DragonFly) will be able to approach the out-of-the-box compatibility that took Microsoft billions of dollars of development to accomplish. It isn't a matter of if, it's a matter of when.