New Supercomputer By Star Bridge
Ronin Developer writes with word of this "interesting article on CNN about a new desktop-size super computer that reconfigures itself on the fly. The company name is 'Star Bridge.' Ring any bells? If I remember correctly, wasn't there something on /. about this a year ago?" Indeedy do -- Star Bridge seems to go straight from wacky-but-cool promises to Where are they now? (and back) with finesse. It's the the Arnold Schwarzenegger movie plot of hardware companies -- simultaneously head-scratchingly implausible, mildly compelling, and numbingly persistent.
Some reality is in order here.
FPGA computing is real and it has been shown to work for some problems. Take a look at TimeLogic. These guys have implemented search algorithms used in the human genome project on FPGAs.
Now let's look the difference between "works" and "price to performance". In the case of TimeLogic they have produced a "stand-alone appliance that end-users do not program (i.e. users do not program the FPGAs.) I beleive the reasons for this is that this programming abstraction (remember this) is not easy to master (i.e. it is not a mainstream programming language.) Nor is the "edit, complie, run cycle" easily reporduced on a desk top. (This time is perhaps the single most limiting factor in software production). So FPGA computing works, but is expensive to implement and program. It does not support cost effective general programing practices that are used today.(i.e. unless you are building specific purpose machine and can justify the software development costs based on a real market, the cost of programming for every day production environments is too expensive)
Which brings me to the main point. The issue is SOFTWARE. It is easy to build a Beowulf with 1000 processors and call it a supercomputer. It is hard (expensive) to write good software for this system. It is easy to string together a bunch of FPGAs and call it a supercomputer. It is hard (expensive) to write software for these things and it is harder (expensive squared) to write parallel software for these things.
In general, there is a huge (I mean really huge) investment in the supercomputer world in programming abstratcions that use FORTRAN (and to some extent C) Side Note:Before all you "FORTRAN is dead language boneheads" start hitting the reply button, remember that there are more than a few 100,000+ line FORTRAN programs that determine everything from airplane wings, to weather, to new drugs, that are not going to go away because you think XML is great way to go. Indeed, the cost of reprogramming these applications is almost an economic impossibility!
So where were we, ah yes, the software thing. My point is that until FPGA systems can take standard supercomputing FORTRAN or C applications and run them "out of the box" and thereby allow the tens of thousands of people who understand this type of programming to use FPGAs easily, they will remain application specific computers (albeit fast) and not realy a mainstream programmable computing devices. This is not to say in the future the FPGA computing will not dominiate (maybe it will), but there is a lot of work to be done on the software side before this will happen.
BTW: I sent the Starbridge guys some simple FORTRAN benchmarks a while ago. I did not receive a response.
Finally, remember this:
The general always eats the specific.
Any one remember a company called Symbolics?
HPC for Primates. Read Cluster Monkey
Excerpting from this NASA press release that Slashdot linked to Friday:
And from this article that Slashdot linked to in the same writeup: I'm not trying to be a troll or start a flame war; I just think it's absurd that Slashdot's editors not only don't participate in posting comments (and claim they read them), but that they don't even their own articles!Strange how Slashdot was bought out, and now that our beloved editors are paid hefty sums with full editorial control, they still can't find the time to read their own site. This site was definately better back when it was Rob & Jeff posting stuff that interested them (and that they therefore actually read). It's still an amazing site, just not as amazing =(
-- Imagine how much more advanced our technology would be if we had eight fingers per hand.
so they invent a new supercomputer that's so smart it can reconfigure itself, and what do they name it? HAL.
they just never learn.
sean
Slashdot noted the press release in this Slashdot story. I wouldn't be surprised if CNN found out about the story from Slashdot.
These things use Field Programmable Gate Arrays (FPGA's) in order to restructure themselves dynamically. This, in and of itself, is not a new concept. FPGA's have been used for years in prototyping or in the first products released. It's much cheaper and easier to reprogram an FPGA if a bug is found than it is to create a new chip design. Once the bugs are gone, FPGA's are replaced by hard-wired silicon in the rest of the line.
Now on to using FPGA's in supercomputers. First of all, an FPGA is slower than a hard-wired chip. These machines pick up speed from the fact that they can use portions of the chip that otherwise would have been on standby. It's super-charged serialization. By restructuring the circuitry for each task, they can take advantage of the majority of the chip at all times. This is not an easy task, and I find it quite impressive. (On a side note, the restructuring is software-controlled.)
When I read this story, I immediately associated it with an article from several years back about Inman Harvey and Adrian Thompson. Thompson was using an FPGA to run genetic algorithms for hardware development. Essentially, make a machine design the chip. He had some very interesting results. The chip designs took advantage of the physical chip rather than just the wiring. They were incredibly efficient, but Thompson couldn't understand why they worked. (He suspected such things as electromagnetic coupling and communication through the power supply.) This is all only moderately related, but it's very interesting, regardless. The article is from June, 1998 and can be found here if anyone is interested.
"I believe that a scientist looking at nonscientific problems is just as dumb as the next guy." -Richard Feynman
From what I understand, it makes a lot of sense for some problems. Like, hard problems.
;)
Basicly, a FPGA can take up the properties of any chip that can be defined by VHDL or other such languages, with some restrictions, of course. So, theoretically, you use every last square inch of silicon for the problem at hand, minus whatever is there to make it reconfigurable.
So that's nice, because if you are doing floating point problems, you don't really need the integer unit. Things like that.
However, I suspect that the thing will, at least in the short term, be a pain in the arse to program efficently (Given that it's a completely different paradigm) and will probably be for specialized applications that suck on an ordinary computer.
And it isn't something that just one company thought up. It's been in the cookers in the academic part of the world for 5-6 years at least.
I mean, the best part about it is that all of your parts are off-the-shelf and cheap...
Gentoo Sucks