Upcoming article in Dr. Dobbs'

Tony Rogvall tony@REDACTED
Mon Jan 10 18:27:57 CET 2005


2005-01-08 kl. 16.30 skrev James Hague:

>> "The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in
>> Software
>>
>> The biggest sea change in software development since the OO revolution
>> is knocking at the door, and its name is Concurrency."
>
> But is Erlang a solution to the problem he talks about?  Let's say
> that in a couple of years the standard desktop box ships with CPUs
> containing four to eight processors on one chip.  Current Erlang
> implementations won't make use of all those processors, as the
> emulator does the bulk of its work in one thread.  You could fire up
> eight emulators at once and go distributed from the start, but then
> you still need to manually do some kind of load balancing, to make
> sure that the work is truly split up among the eight.  And goes
> against the grain of the work toward a shared-heap architecture, too.
>
> I'd love to see a way of having Erlang automatically make use of
> multiple CPUs on the same box.  That would provide *huge* wins.
>
FYI

Me and Pekka Hedqvist implemented Multithreaded Erlang as a part of
Pekka's Master Thesis,  It was a lot of work!  But we proved that Erlang
can run on a multi processor machine (a 4 processor pentium 200MHz)
and that Erlang applications can run unmodified on such a beast ;-).
Even the OTP system run with only slight modifications.

In short we achieved linear speed improvements. This means that if you 
divided your
problem in four independent parts on a four processor machine you will 
get a speed up
with a factor of four.

At that time JAM was the machine, now with BEAM/HIPE it's a bit more 
complicated.
Not very complicated but more code and a lot of flavors.

/Tony




More information about the erlang-questions mailing list