Niagara

Charlie Demerjian over at The Inquirer takes a look at the upcoming line of massively multithreaded CPUs from Sun, named Niagara:

Niagara signals the first volley in a new way of thinking about servers, or at least a class of servers. The whole idea of Disruptive Threads, as Marc Tremblay calls, it is quite real, and it will take a while for many people to understand, much less use. Threads, threads and more threads, that is what this chip lives for.

It’s going to be interesting to see if Sun can take this anywhere. They’re certainly in a unique position to do it, since a shift from instruction parallelism to thread parallelism in CPUs is going to require changes in the entire “stack” from the OS right up to the app/web servers. I think it’s a nifty approach, and now that Sun has the Opteron hedge in their back pocket, it’s a chance they can probalby afford to take. I have two main concerns: 1) Threaded programming has traditionally been very difficult, and much of the current software infrastructure in the “Net facing” category Sun is targetting is not particularly thread friendly. 2) While you can gain a lot in parallel execution environments, you loose a lot of general flexibility. Sometimes it’s nice to simply have one really fast core that you can slice and dice how you see fit (which could be one big slice tackling a difficult computation..).

Anyhow, it’s fairly clear that thread parallelism at the CPU level is a general trend that’s almost unavoidable now that we’re really hitting the GHz wall. Niagara is a very ambitious example of this new approach, and could very well make or break the concept long before the mainstream desktop user ever sees a true multicore CPU.


About this entry