[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: JoCaml rewritten ...



Hi,

I took a look at the dgc paper. Phew! A paper of only 8 pages screwing 
up my head!!
 From my limited understanding of it, it seems the maintenance of cyclic 
garbage is burdening the gc with extra work ie. tracking dates. This can 
only hurt performance on all code, even code which deals only minimally 
with communications matters.
Why is dgc necessary to the join-calculus / mobile code?
Why not deal with communicating entites at a higher level and not 
sacrifice performance at a fundamental level (gc)?  Say a server spawns 
a thread to handle a request - it lives as long as it still receives 
valid comms messages, and dies and releases resources otherwise.
That works, no? What does dgc buy you?

It would be nice if Ocaml 3.04 were augmented by just a join-calc 
library for comms, perhaps with a dash of camlp4.
Is it possible? Is dgc essential to mobile code?

Cheers,
Chris

Alan Schmitt wrote:

>Hi,
>
>If you want to know more about the dgc of JoCaml, you can have a look at
>Fabrice Le Fessant's paper (he implemented the gc):
>http://pauillac.inria.fr/~lefessan/papers/index.html
>As far as I understand it, the dgc is fairly robust (for instance it
>uses a Lamport clock instead of a synchronized clock), and does not
>consume too much bandwidth.
>
>About your bytecode patch suggestion, there are several issues to
>consider. At the moment, the only mechanism to update something in
>JoCaml is to migrate to another runtime that provides modules that are
>differently initialized (their code must be the same, it is checked for
>safety). You might be interested to look at the theoritical work I did
>on adding a form of binding based on location to the Join Calculus (the
>formal model that resulted in JoCaml), which you may find at:
>http://pauillac.inria.fr/~aschmitt/publications.html
>(it's the safe dynamic binding paper). This is not implemented yet, but
>I designed it with JoCaml in mind, and I'll try to implement it during
>the rewrite.
>
>I hope this answer some of your questions,
>
>Alan
>
>>