Self-wiring Supercomputer
redcone writes "New Scientist is reporting on an experimental supercomputer made from Field Programmable Gate Arrays (FPGA) that can reconfigure itself to tackle different software problems. It is being built by researchers in Scotland. The Edinburgh system will be up to 100 times more energy efficient than a conventional supercomputer of equivalent computing power. The 64-node FPGA machine will also need only as much space as four conventional PCs, while a normal 1 teraflop supercomputer would fill a room. Disclaimer: At this point in time, the software needed to run it, which is the key to the project, is vaporware. "
FWIW, this is not a new idea. FPGAs (i.e. dynamically reconfigurable processors) have been around for about 20 years now, and have allowed hardware developers to produce custom hardware in many situations. The key, you see, is that hardware designed for a specific task is almost always going to perform that task better than a general purpose processor. That's why the SaarCore can outperform a P4, and why your computer has a custom built GPU.
As a result, the idea of runtime-dynamic hardware sounds great. Unfortunately, the issue that developers run into in developing a runtime-dynamic processor is the matter of knowing how to configure the chip. One tack is to allow programs to load chip designs themselves, thus creating specific hardware for that individual program. The down side to this tack is that someone must go through the time consuming task of manually writing the chip in a Hardware Design Language such as VHDL or Verilog. Most programmers aren't going to do this when they can get the program out faster with a general purpose CPU.
This has led to another tack of using software to analyze a program and automatically create a machine to optimize it. This is conceptually similar to the Java JIT method, but is more complex by far. A lot of research is being done into this area (as this story shows), but I wouldn't hold my breath for now.
Another design that makes a lot of sense is the concept of "hardware on demand". i.e. Imagine if you had a library of accelerator chip designs. Whenever a program needs a particular form of common hardware acceleration (e.g. GPU, Sound, DSP, etc.), the onboard FPGAs could be reconfigured to meet the demand. This wouldn't have the same punch as task-specific hardware, but it would provide an inexpensive method for obtaining a bundle of hardware that would otherwise be extremely expensive and use up a lot of bus space.
Javascript + Nintendo DSi = DSiCade
From this point forward, no Terminator references will be permitted. ;-)
Do you like German cars?
Well, if its being built, then they MUST have some sort of plan. Its not like we're in the tech bubble again.
--sig fault--
great list of resources from WP on FPGA if anyone's interested in reading more:
these things will be a sort of pinkish grey with a funny convoluted surface appearance, weigh a few pounds, and float in tanks of clear liquid.
Is it fascism yet?
Longhorn to be released.
And just before it starts sending people to the past
field programmable gatorade...
But will is be able to run Duke Nukem Forever?
No. But a spelling / grammar checker might be doable.
It's not vaporware until it doesn't arrive ;)
__
Laugh Daily funny free videos
Besides, FPGAs have two issues that make them good only for a very specific set of apps. Number 1, they don't currently have great floating point performance - this is a killer for most scientific apps. Number 2, they are hard to feed because the rate they can compute at versus the rate memory can feed them is quite skewed. Regardless, they're still very promising. The reconfigurable computing team at LANL (http://rcc.lanl.gov/) has done some very cool things with FPGA based systems.
How does the playstation 3 manage 2.2 teraflops without being the size of a house then?
This sounds like Skynet , a self wiring supercomputer that will go on to dominate the world ..
Please everyone go to the place and dump the thing in some molten metal before its too late... We dont want another awfull Terminator sequal
The only things certain in war are Propaganda and Death. You can never be sure which is which though
Don't worry, just let the machine write its own software.
The difference between spam and poop is that you don't have to dig through septic tanks looking for real food. -- Me
Has it already wired itself to imagine a Beowulf cluster of itself?
I have this killer project going, its all opensource.
its called Duck Nuckem Tournement 2012. its multiplayer, will run on the phantom console, and is all opensource.
ofcourse the project itself is vaporware as of the time of this writing....
#include sig.h
"No one has ever tried to build a big supercomputer with these chips before," Parsons says.
That is wrong star bridge systems
http://www.starbridgesystems.com/
have been selling the hypercomputer for some years now.
It's been a while since I learned about this stuff, but hasn't it been mathematically proven that it's futile to try to write a program that, presented with an arbitrary (expressable) problem, will write a program to solve that problem?
So, this is still vapourware.
LARC, at NASA, built an FPGA supercomputer. Here's a link to a related paper from 2002. Note, its a PDF.
Additionally, Cray builds an FPGA using supecomputer in its XD-1. It's definitely a nonvapourware project since they've sold over 15 of them. Yes, yes, it also uses Opterons, but they're paired with FPGAs.
Additionally, prior to Seymour Cray's death at the hands of a drunk driver, he was looking into FPGAs as his next stab at supercomputing.
Do you know why the road less traveled by is littered with the bones of the unwary?
Here's an idea...I think I'll go into the car manufacturing business. I'll build myself a brand new car with an extremely efficient engine that gets 400 miles to the gallon. It's a small engine and a lightweight car, but can still transport a family of four!
Disclaimer: At this point in time, the software needed to run it, which is the key to the project, is vaporware. "
Except there's one little problem...the gas needed to run it, which is the key to making this engine so efficient, hasn't been invented yet. But as soon as it is, we'll take the market by storm!
There's a company that has been selling this type of system for a couple of years.
They also have their own language called Viva to be able to program the computer.
Link: http://www.starbridgesystems.com/
--- Reality doesn't care about your opinions, it happens anyway and if you are in the way you'll get squished.
As already mentioned, the biggest problem with FPGAs is the difficulty/time in writing the logic. While that's not necessarily a big problem for a major supercomputing center or a CS research center, it (along with cost) is a problem that prevents FPGAs from being routinely adopted by end-users such as people in the applied research community.
One idea to get around this has been advanced by (among others), Stretch, Inc.. The summary is that their compiler analyze your C-code and decide what can be more effectively rewritten as new instructions for their chip, and sets it up on the fly. You never get the ultra-low level control (or performance) of FPGA programming, but in principle you get more performance than before.
Their primary applications have been basically as programmable replacements for DSPs, but they really want to push workstation applications for their products.
That being said, I neither work for them nor have I ever used any of their products, but it certainly sounds interesting!
It's a research project for Edinburgh University, not a commercial enterprise.
Deleted
I dont know what kind of design you are referring to but synthesizing and doing routing and placement of a circut takes much longer than 10 minutes for largers system. We have a project in our research lab that takes somewhere around 3 hours to compile from start to finish. That being said, it does not mean that you have to recompile everything when you want to reconfigure a chip. Each chip can have a base set of logic, and have sectors where abstract "modules" can simply be "dropped in". While this can cause a performance hit, it is easy to implement new logic circuts for a device. FPGA's are also really starting to hit their stride and are growing by leaps and bounds.
i wonder how buffer overflows will be handeled
If it runs Microsoft software, they won't be.
Tag lost or not installed.
What has been proven is that there are problems for which it is impossible to automatically write a program to solve. Further, this is an NP-hard problem, meaning that you can't even know for sure if you're ever going to get a solution, or how long it will take.
However you can usually make a good estimate with approximate solutions of how close you are to the real solution, and how much longer it will take. Obviously this only works with programs that have some form of error evaluation criteria. This is what the field of AI is all about.
There are also some programs that you would immediately be able to identify as solvable with a clear, direct solution, or unsolvable.
Mod me down and I will become more powerful than you can possibly imagine!
Although using FPGAs for reconfigurable computing applications still has a number of drawbacks, utilizing FPGAs for embedded applications is some really cool stuff.
For example, an entire system can be dynamically built right into the FPGA -- including processor, OPB, memory buses, and any other devices such as interrupt controllers, timers, etc. Aside from RAM and Flash, you almost have an entire embedded system built right into a chip.
Earlier this spring I had the opportunity to work on a project that required this very embedded setup. Using the MicroBlaze soft-processor from Xilinx built into the Spartan3 FPGA and only 8MB of SDRAM, I got uCLinux running -- completely tailored to my hardware setup!
I can't tell you how much time and money would have been wasted trying to design and fabricate the same setup on a PCB.
Ah, the fame and fortune...
As a software design engineer at Nallatech, I'm pretty chuffed we came up on Slashdot.
Not wanting to come across as a pedant...
"software needed to run it, which is the key to the project, is vapourware"
This is not the case, with Nallatech's software is capable of providing the intercommunication (DIMEtalk), the low level control (FUSE) and the Algorithm implementation (double and single precision floating point cores, as well as a new tool, currently in beta, to simplify their use by developers).
"Nallatech, a company that makes software tools for FPGA programmers".
This is true, however we do equal amount of hardware and firmware development.
More info:
Read our white paper about supercomputing for the oil and gas industry, reg required I'm afraid?
The foot print of this thing could be tiny, as you can get 9 Virtex 2 pro FPGAs (Using BenBLUE-3 modules) on a BenERA Carrier card, and you can get 4 BenERAs into a cPCI rack, so to get 64 FPGAs you just need 2 standard cPCI racks. Since you can get 4 cPCI racks into you standard 19" server rack, which would kick out a massive 2 Teraflops.
Though, I can't help but think Cell processors might kick our asses, at least a little bit anyway. Sorry about all the links to Nallatech, just pointing folk to the info. Oh, by the way, I think the 1 Teraflop for 64 FPGAs is a very conservative estimate.
GenoByte has found a more novel use for FPGAs, which they call "evolvable hardware." Much like our own brains neural networks on the FPGAs reconfigure the way they interconnect on the fly; commonly used paths are reenforced while less frequently used ones atrophy.
Here are some cool pictures:
The CAM-BRAIN machine, a big box full of FPGA boards: http://www.genobyte.com/images/machine.jpg
Neural network layout for the XC6216 FPGA: http://www.genobyte.com/images/chip.JPG
All in all this approach is substantially faster than modelling large neural networks on a general purpose processor. In the GenoByte approach, the neural network is implemented as physical circuits.