On 20 May 2008, at 3:27 pm, Ivan Raikov wrote:

Perhaps you
would like to show some code examples? I don't know who is this
"process-management model" and why I care about it, but I would like
to see some examples of actual working code that cannot be reproduced
with the MPI library.

Well, as far as I can tell, MPI seems to have a fairly static view of
the world as having a fixed number of processes in it upon startup,
so the following (in Erlang) comes to mind:

http://www.erlang.org/doc/reference_manual/processes.html#10.2

Which, basically, creates a new process and returns its PID, which is
then usable as the destination for a message send.

Also, looking at the MPI egg, it has functions to send integers,
u8vectors, etc - how do you send *s-expressions*?

MPI seems based around the classic scientific-computing model: you
have a fixed array of processors and pass numeric data between them,
often using a SIMD model.

Erlang, on the other hand, works as a bunch of processes (spread over
one or more physical nodes) that are created and destroyed on the
fly, with messages composed along the same lines as S-expressions
(lists of symbols, numbers, other lists, etc) being passed around.

Now, one could of course build that *on top of* MPI: make each MPI
process be a Chicken unix-level process, and then run a core server
Chicken-thread that listens for messages from MPI and routes them to
the appropriate thread, or notices messages telling it to start a new
thread and handle them. With the messages being bytevectors that
actually contain s-expressions encoded in utf8 or some such. But MPI
itself doesn't provide the same kind of services as the Erlang
concurrency system.


   -Ivan



ABS

--
Alaric Snell-Pym
Work: http://www.snell-systems.co.uk/
Play: http://www.snell-pym.org.uk/alaric/
Blog: http://www.snell-pym.org.uk/?author=4




_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to