Extreme Multithreading on a Chip
kid writes "There's an interesting interview with Dr. Marc Tremblay at Ace's Hardware. Dr. Tremblay is a distinguished engineer at Sun and the co-architect of the UltraSPARC processor. He is currently working on a processor that is claimed to deliver 30 times the performance of current CPUs utilizing an agressive multi-core/multi-threaded architecture. He talks about upcoming highly multithreaded CPUs from Sun as well as a wide range of problems facing today's CPU designers, from branch mispredictions to DRAM latency/bandwidth and power dissipation, and the ways in which he is working on solving them."
That's true, but threads are just as important on the server. With the exception of serving read-only data (e.g. web servers, DNS servers), server applications rarely fit into the independent-address-space model. As soon as a client can modify state that others may want (and assuming you need multiprocessor scalability, of course) threads are precisely what you need.
You have to remember, though, that threads are there to help solve difficult problems. Such software is hard to develop and debug and test no matter what solution you use.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});