chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Anyone up for porting Termite to Chicken?


From: Mark Fredrickson
Subject: Re: [Chicken-users] Anyone up for porting Termite to Chicken?
Date: Wed, 21 May 2008 08:39:22 -0500


On May 20, 2008, at 8:04 PM, Ivan Raikov wrote:


Answers embedded below:


Alaric Snell-Pym <address@hidden> writes:

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.

 Ok, you cannot do this with MPI as far as I know.

An Erlang "process" is really a green thread, not dissimilar to Chicken's continuation based threads. Erlang processes run inside of a virtual machine, which is the equivalent of the Chicken run-time. At least on paper (which is as far as my knowledge extends) the Erlang and Scheme + MPI models are fairly similar.

I do believe that one can start a new Erlang VM and add it to the cloud at any time, but I get the impression this is actually rare. With n cores, why not just start a VM on each core to begin with? The Erlang designers are extremely paranoid about the VM's stability (e.g. I understand a large portion of IO is done over pipes so that if the IO process crashes, the VM is safe), so restarts of VMs tend to be few. This is probably one area that Chicken would not fair as well. In Erlang, if one "process" (thread really) has a problem it crashes (by design) and everyone else is fine. A Chickeny Termite would probably need to expend some effort to match this. Though I think it certainly could be done.

Cheers,
-Mark





reply via email to

[Prev in Thread] Current Thread [Next in Thread]