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