png@ideaphile.com
http://www.ideaphile.com
Reconfigurable computing is a very interesting field. There's a lot to
be said in favor of it, and Star Bridge is certainly saying as much as
they can (if not more, so I won't spend much time on the arguments in
favor. Instead, I'll try to provide some perspective.
There are two valuable points to be made here. First, conventional
microprocessors aren't the most efficient way to do any specific task.
Along with the data they need to process, they need to process a lot of
instructions. Moving instructions AND data around is more difficult than
moving just the data. If you create a circuit that does just one
thing, it
can always do it better.
Second, flexibility is a value per se. Hardly any computers do the
same
thing all day long. The great thing about the microprocessor is that it
can do a lot of different things. Reconfigurable systems lie somewhere
between microprocessors and ASICs in their ability to adapt to different
needs. No matter how the reconfigurability is achieved, there are always
limits. Some FPGAs are good at implementing state machines but not ALUs.
Some are great for ALUs but require heroic efforts to implement complex
state machines. Star Bridge uses Xilinx FPGAs, which have their own
set of
tradeoffs.
Remember that reconfigurable computers are still based on transistors
and boolean logic and state machines. They obey the same laws of physics,
and for many applications, they work the same way as more conventional
machines. If you want to do 3D geometry transforms, you'll want to
reconfigure your logic to look like any of today's ASICs that do 3D
geometry. If you want to solve systems of linear equations, you'll build
something that looks a lot like the floating-point execution units in
Compaq's Alpha microprocessor. And so on.
Nevertheless, a reconfigurable computer configured to work like some
existing ASIC won't be as good as that ASIC. ASICs have denser, faster
logic than you can get from any sort of reconfigurable-logic technology,
and CPUs have logic that is denser and faster still. The
reconfigurability
comes at a cost, after all. Sure, you can have hundreds of 8-bit
microprocessors on a single reconfigurable chip-- but you can have
thousands of them on a purpose-built ASIC, and that ASIC will run at
higher clock speeds.
There's a sort of an Ideal Gas Law in the computer industry. We can
phrase the Ideal Gas Law itself as
(Pressure * Volume) / (Molar Quantity * Temperature) = A constant
For computers, it's more like
(Cost * Complexity) / (Performance * Flexibility) = A constant
If you want more flexibility or performance, you have to accept
increased cost or complexity (which itself has many elements, including
device count, ease of use or programming, etc.). To reduce cost or
complexity, you have to give up flexibility or performance.
The value of reconfigurability has limits, of course. One of these
Star
Bridge HAL-300GrW1 hypercomputers can be a 3D-geometry processor in the
morning and a nuclear-weapons simulator in the afternoon. It can even
switch between these tasks a thousand times a second-- but who the heck
needs a machine that can do that? I'm sure there must be dozens of
scientists who could benefit from this sort of flexibility, but
that's not
much of a market.
And saying the HAL-300GrW1 can be different things ignores the major
issue of how it becomes different things. A great deal of programming
must be done to configure a HAL-300GrW1 for each task. One hard truth
about reconfigurable machines is that the cost to define a configuration
can outweigh the benefits of the configuration.
Most computers use general-purpose processors because most tasks
aren't
important enough to justify the design of optimized logic. And most
computers include ASICs because some tasks ARE worth optimizing-- like 3D
rendering, for example.
Star Bridge isn't the only company working on this sort of thing.
Plenty of other companies are delivering performance levels you'd never
touch by spending similar amounts of money on conventional
microprocessors.
Some companies are working on ways to create hardwired implementations
of algorithms you might normally just write in a high-level language.
iReady, which has been around
for a few years
now, offers tools to design ASICs that replace software. Basically, they
turn high-level code into a state machine. If you've got a TCP/IP stack
and an email program, both written in C, iReady will help you create an
ASIC that connects to an Ethernet chip and an LCD to create an email
appliance. It doesn't run code, it IS code. These chips aren't
dynamically
reconfigurable, but they achieve about the best possible combination of
price, power consumption, and performance at the expense of design
complexity and flexibility.
Lots of people are achieving high performance through highly parallel
processing on pretty normal-looking processors.
Cradle offers chips combining
a large number
of microprocessors with fully reconfigurable logic and I/O protocol
engines. For less than $50, they'll sell you a chip with 20 32-bit RISC
engines plus 40 32-bit DSPs. This chip will deliver 30 GFLOPS of peak
floating-point performance. Ten of these chips will match the theoretical
performance of that HAL-300GrW1 and I'm sure it's a lot easier to write
code for Cradle's processors than the fully reconfigurable logic inside a
Star Bridge hypercomputer.
Chips with similar capabilities are available from BOPS,
Silicon Magic, and others.
PixelFusion has gone
further in this
direction than anyone else. They're putting 1,536 8-bit
microprocessors on
a single chip. At 150 MHz, that's over 230 billion 8-bit integer
operations per second per chip. Now, 8-bit operations aren't worth nearly
as much as 32-bit operations, but that's still an impressive number. This
chip doesn't do floating-point, but just wait a few years and they'll get
there. PixelFusion's first target application is 3D graphics, but they've
got people thinking about how to use the chip for cryptography, voice
recognition, and various other applications.
Improv Systems is using a
mix of
conventional and reconfigurable processing in its Jazz products. Jazz is
based on a multiprocessor architecture, but each processor on each
chip is
optimized for the specific tasks it is meant to run. If you want a chip
that can play 3D games and DVD movies, you can make a chip with one
3D-geometry processor, one 3D-rendering accelerator, one MPEG-2 decoder,
and one Dolby Digital audio processor. Each of these engines would run a
different instruction set and be equipped with a unique set of execution
units highly optimized for the functions it performs.
Star Bridge isn't the first company to design a processor that uses a
large number of FPGAs. Corporations and educational institutions have
been
building such things since the earliest days of the FPGA, more than 10
years ago. There are annual conferences on the topic, such as last
month's
FPGA 2000. Xilinx
itself has a page on
its Web site
listing various prototyping systems, some of which are similar in concept
to the Star Bridge hypercomputer. Some are direct competitors.
I just don't think Star Bridge can live up to its own hype. The
company
is addressing a real niche, but it's not a real BIG niche. They're
providing an answer to a problem few people have. Go back to that Ideal
Gas Law analogy and associate computing flexibility with gas
temperature--
it's as if Star Bridge developed an air pump that works at 72,000 degrees
C. That would be a very valuable thing to some people, but it just
wouldn't matter much to most of us.
Star Bridge's real value has almost nothing to do with its
architecture
or hardware. There's plenty of that around. What REALLY matters is the
quality of the tools they provide to configure their system to perform
specific tasks. Unfortunately, it's essentially impossible to evaluate
complex tool chains of this type without using them for a real
application-- or actually for multiple real applications, since they will
live or die on their reconfigurability.
So ask them who's using their systems. Ask who's REALLY using their
reconfigurability. Ask who's using their systems to do things you
couldn't
do better with ASICs or microprocessors. I'm sure they have
customers, but
I doubt they have enough to support the claims they're making.