[erlang-questions] FPGA coming around the corner
Paulo Alexandre Ferreira
paf@REDACTED
Fri Jan 7 22:25:06 CET 2011
First, let's get the meaning of "core" straight. For the software people core
means one PROCESSOR core. For the hardware guys core mean one "block of
hardware".
You can have one USB interface core, one PCI interface core, and so on.
On the work of Dr. Vanderbauwhede the cores are more like "processing
elements" than traditional processor cores.
One can see that on one of his papers:
http://eprints.gla.ac.uk/40011/
The work is remarkable but is not about 1000 "traditional processors" on a
chip. It is about "coarse grained" reconfigurable computing.
But Erlang is a very interesting model for FPGAs for several reasons.
One is the message passing model. As long as the messages are delivered with
the right content, the system works ok. So one could grab a slow part of an
Erlang system, and implement them in hardware.
For instance, could have an FPGA board in a computer implementing the crypto
modules.
Another interesting thing is heterogeneous computing. In "traditional"
multicore processors, all the processors are equal. But, in an Erlang system
some processes are more complex, and other processes are simple.
If we want all the processes running at the same time, why give all the
processes the same kind of processor?
With FPGAs one can build the "right" processor for each process, if we have
the resources to give each process an "hardware block".
Some interesting (and hard to do) things are dynamic processes but I like the
topic and in "my spare time" I managed to write some things about it:
FPL2010
http://www.dei.isep.ipp.pt/~paf/papers/FPL2010-final.pdf
DCIS2010
http://www.dei.isep.ipp.pt/~paf/papers/DCIS2010-final.pdf
Hope some of you like it, and that some of you tell me I am wrong and why.
;-) ;-) ;-)
And once again, many thanks for Erlang.
Paulo Ferreira
--
DEI-ISEP (http://www.dei.isep.ipp.pt)
More information about the erlang-questions
mailing list