From: Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
To: aq <aquynh@gmail.com>
Cc: Jacob Gorm Hansen <jacobg@diku.dk>, xen-devel@lists.sourceforge.net
Subject: Re: Is continuous replication of state possible?
Date: Sun, 09 Jan 2005 16:56:51 +0000 [thread overview]
Message-ID: <1105289811.3356.22.camel@localhost> (raw)
In-Reply-To: <9cde8bff0501090821402bd17a@mail.gmail.com>
On Mon, 2005-01-10 at 01:21 +0900, aq wrote:
> Hello,
>
> I am sorry for a possible stupid question, but may anybody please
> explain to me what this "deterministic" means?
Deterministic means that the outcome is a function of nothing more than
the starting state and the input so if you start with the same starting
state and apply the same input you are guaranteed to end up with the
same outcome every time.
So, deterministic code works with the replicated state machine approach
because the replicas start off in the same state and have the same input
applied and the same execution happens on all the replicas and they end
up in the same state and so remain replicas of one another.
If you try to execute non-deterministic code in the context of the
replicated state machine approach then the replicas might start off in
the same state and receive the same input but the different results from
executing the non-deterministic code would cause them to diverge.
Once the replicas have diverged they are no longer good as backups of
one another.
Examples of operations that would ordinarily be non-deterministic:
Asking the CPU for a random number---All of the replicas start off in
the same state with the program counter pointing to an instruction that
asks for a random number; all of the replicas receive the same input: a
command instructing them to execute one instruction; all of the replicas
ask the CPU for a random number. All the replicas get a different random
number from their CPU and the subsequent execution diverges.
Taking an interrupt from a peripheral device---typically this will only
happen on one of the nodes. If it was fed directly to a replica then
that replica would immediately diverge from the others.
--
Harry Butterworth <harry@hebutterworth.freeserve.co.uk>
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
next prev parent reply other threads:[~2005-01-09 16:56 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-07 14:57 Is continuous replication of state possible? Per Buer
2005-01-07 15:34 ` Ian Pratt
2005-01-07 16:38 ` Avery Pennarun
2005-01-07 17:42 ` Ian Pratt
2005-01-07 17:18 ` Rik van Riel
2005-01-07 17:29 ` Ian Pratt
2005-01-07 18:02 ` Rik van Riel
2005-01-09 2:21 ` Jacob Gorm Hansen
2005-01-09 14:43 ` Harry Butterworth
2005-01-09 16:21 ` aq
2005-01-09 16:43 ` Mark Williamson
2005-01-09 16:56 ` Harry Butterworth [this message]
2005-01-07 15:43 ` Mark Williamson
[not found] <20050109030704.8BAB689DA7@sc8-sf-spam1.sourceforge.net>
2005-01-10 16:53 ` George Washington Dunlap III
-- strict thread matches above, loose matches on Subject: below --
2005-01-07 19:22 Ky Srinivasan
[not found] <20050107172010.9AB9C89761@sc8-sf-spam1.sourceforge.net>
2005-01-07 17:51 ` Is Continuous " George Washington Dunlap III
2005-01-07 8:49 Is continuous " Per Buer
2005-01-07 7:37 Cannot start domU from NFS Nauzad Sadry
2005-01-07 10:01 ` Christian Limpach
2005-01-09 0:42 ` Nauzad Sadry
2005-01-09 2:00 ` Is continuous replication of state possible? Harry Butterworth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1105289811.3356.22.camel@localhost \
--to=harry@hebutterworth.freeserve.co.uk \
--cc=aquynh@gmail.com \
--cc=jacobg@diku.dk \
--cc=xen-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.