[erlang-questions] FPGA coming around the corner

Ulf Wiger <>
Sat Jan 8 11:00:23 CET 2011


On 7 Jan 2011, at 05:40, Edmond Begumisa wrote:
> 
> They all sound panic-stricken and suggest there is currently no complete viable solution out-there yet to programming for the multi-core age that don't burden the programmer. These are some very smart people. But when I saw these videos recently I thought "Have they not heard of Erlang? If not why not?"


Legacy software, sticking to their familiar paradigms, …

I also am reminded of Todd Proebsting's talk on "Disruptive Language Technologies" at the MIT LL2 workshop 2002 (same workshop where Joe first used the "nine nines" figure).

http://ll2.ai.mit.edu/talks/proebsting.ppt

He actually used a slightly different set of slides in his talk, and proclaimed
Erlang as THE answer for disruptive concurrent language.

An interesting strategy might then be to focus more on an emerging market
rather than trying to beat the giants on their own game.

I've been watching the evolution of a new breed of mobile device hardware,
waiting for them to become suitable for running Erlang on. Today, they are.
My Samsung Galaxy S is a significantly more powerful computer than the 
UltraSPARCs we first used to run Erlang on the AXD 301. The latest ARM
design (http://www.theregister.co.uk/2010/09/09/new_arm/) is a system-on-
a-chip design with up to 16 cores running at up to 2.5GHz. Programming 
that with a low-level shared memory approach is going to be a significant 
challenge…

The challenge in the mobile device space is (at least) twofold:
- Must minimize power consumption
- Support increasingly complex demands on software

A problem is that there is a fairly clear answer to the speed/Watt question:
lower the clock frequency and replicate the cores. The problem is that this
makes it harder to program the device using traditional techniques, which
counteracts the second issue… unless you use something like Erlang,
which does well on both counts.

In this context, NIFs also become highly relevant, as a nice way to interface
to libraries and custom chip features (GPUs, DSP functionality, etc, which 
are another key factor in getting performance on low-power chips.)
Erlang has always had a conceptually nice approach to interfacing and 
controlling external hardware.

I think there is huge potential for a language that loves multicore and is 
strong on coordination and fault tolerance, on the new generation of 
mobile device hardware.

BR,
Ulf W

Ulf Wiger, CTO, Erlang Solutions, Ltd.
http://erlang-solutions.com





More information about the erlang-questions mailing list