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