[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] To whom it may concern: Working on TinT
From: |
F. Wittenberger |
Subject: |
Re: [Chicken-users] To whom it may concern: Working on TinT |
Date: |
Wed, 15 Feb 2006 11:00:30 +0100 |
Hello Kon,
how far are you come already? I'm very interested!
What you've given in your mail is very, very close to the internals of
www.askemos.org . To be precise that is (since Askemos means just the
API) the rscheme based implementation called BALL.
There's one major difference: Askemos processes are persistant and
replicated over a network in byzantine agreement, thus they continue to
work correctly while a minority of the nodes goes down or deliberately
cheat.
Askemos/BALL still depends on rscheme (I once did some work to port it
to chicken, but this is not yet finished). I really want to move it to
chicken for several reasons.
BTW: I haven't been able to retrieve the Termite PDF (from LtU link) and
did not find any home page in google's mess. Any good links to Termite?
Thanks
best regards
/jörg
Am Dienstag, den 14.02.2006, 12:06 -0800 schrieb Kon Lovett:
> Hello List,
>
> I am working on TinT (Tint is not Termite), a Chicken specific
> Termite workalike. Alike in the sense that is generally shares syntax
> & semantics, but I feel under no constraint to be 100% faithful. (How
> could I be, Termite is still evolving.)
>
> Concepts
>
> - Follows "impure" Actor model.
I don't understand the "impure" here. Otherwise: same.
> - Messages are sent & received. A message is any serializable scheme
> object. Message objects are immutable.
dito
> Non-serializable objects are proxied by a process.
NYI (not yet implemented)
> All messages are typed with a parallel message typing system. (Non-
> Termite)
?
> - Message Receiver is a process. Message Sender is a process.
>
> - A process belongs to a Process Runner. A process runner is on a
> node. (Non-Termite)
>
> Node corresponds to Machine. Process Runner to OS Process.
>
> - A node is local or remote. All local nodes share physical
> resources, especially memory. A remote node only shares a network.
>
> The current process runner on a local node is called the This Node.
All the same.
> - A this node process is an active procedure (SRFI-18 threads).
Different implementation right now. We need to improve the byzantine
agreement protocol, which will probably be better implemented as
threads.
> - The physical method of message passing is node locale dependent.
??
> Remote node processes serialize objects and use a network protocol,
> not necessarialy reliable.
same
> - Out-of-band messages are used for Exception Conditions (SRFI-12
> conditions).
Here we really have something to do with the BALL code base. Exception
handling is rough & bad, bad, bad ... and in our way already.