Wow, this is the biggest idea I've seen in computing in some time. It makes me wish I knew more about hardware. The fact that it involves Ivan Sutherland, one of the great visionaries from the early days, is really cool. If you don't know who Ivan Sutherland is, watch the following now (it's not long and, trust me, you need to know about this):
Sutherland's Sketchpad system is from 1962; the video is Alan Kay talking about it in the 80s. The best bit is at 3:45, where Kay says: I once asked Ivan Sutherland: How could you possibly have done the first interactive graphics program, the first non-procedural programming language, and the first object-oriented software system all in one year? He said: I didn't know it was hard.
That Sutherland did these things in the early 60s never fails to astound. The machine it ran on was built in 1956.
Regarding the Fleet stuff, one thing I noticed is that they're using Guy Blelloch's work on data parallelism from the 90s, which is also the basis for the recent work on parallelism in Haskell. (Edit: turns out this is one of the models they're considering for programming Fleet, but it isn't a perfect fit. See the link to the other slides posted by abecedarius.)
So basically this will be like a LISP machine, execpt a haskell machine? Because that would be awesome. ...also this entire topic is completely over my head.
Fleet is more like a higher-level FPGA machine -- instead of mapping async-default logic designs onto a huge array of look-up-tables, Fleet executes async-default program code on a huge array of 'ships'.
People are routinely baffled trying to use FPGAs because HDLs are NOT CODE -- there's no clean abstraction between the text you write and electricity+wires. Verilog + VHDL are more like CAD tools than they are like programming languages, despite appearances.
Fleet may be a deeply weird computer architecture, but it's a lot more palatable than using FPGAs for software guys.
I'm not sure, I mean, they ARE code, just not sequential imperative code like we are used to. I would argue that they are DATAFLOW languages, since electronic circuits function in the same fashion (a stream of data is routed, NOT a stream of instructions applied to some data).
Anything that has Ivan Sutherland in it bears close observation.
I learned just about all I know about computer graphics from his textbooks and it still amazes me how relevant those books are today. The guy is definitely one of the 'great' names in the history of computing.
This architecture may sound ridiculous now, but I'm glad researchers are attempting to redefine how a computer should work. The most troubling thing I see about Fleet is the difficulty of programming on it. That is, unlearning what we already know.
"A recent 90 nanometer TSMC test chip, called Infinity, demonstrated switch fabric performance at about 4 GHz. A new test chip, called Marina, has just gone out for fabrication. Marina will test the programmable interface, and if successful, will give us confidence to build a complete Fleet. We seek participation from sponsors, programmers, and designers of basic computation elements."
It sounds like it's far too early to know how 4-GHz "switch fabric performance" will translate into MIPS or FLOPS, much less application-level performance.
It wasn't until the end of the article that I realized that it was the Sutherland of graphics fame. His early work was profound, and ahead of what everyone else was doing. I remember reading the original paper (or maybe it just was an early one) on the hidden line problem.
It is great to see some research at this level. Feels like we have been building stuff that is based on the 8085, constrained by compatibility. Everybody but Burroughs, that is, what with their b1700.
http://www.youtube.com/watch?v=mOZqRJzE8xg
Sutherland's Sketchpad system is from 1962; the video is Alan Kay talking about it in the 80s. The best bit is at 3:45, where Kay says: I once asked Ivan Sutherland: How could you possibly have done the first interactive graphics program, the first non-procedural programming language, and the first object-oriented software system all in one year? He said: I didn't know it was hard.
If you want to see it do 3D, go to 4:00 of this:
http://www.youtube.com/watch?v=BKM3CmRqK2o
That Sutherland did these things in the early 60s never fails to astound. The machine it ran on was built in 1956.
Regarding the Fleet stuff, one thing I noticed is that they're using Guy Blelloch's work on data parallelism from the 90s, which is also the basis for the recent work on parallelism in Haskell. (Edit: turns out this is one of the models they're considering for programming Fleet, but it isn't a perfect fit. See the link to the other slides posted by abecedarius.)