> i'm not sure why editor is the case that's being bandied about.

I'm not sure why anyone should be listening to my ramblings...

I assume that C/R or migration is not an atomic operation.  If it were
atomic, that's the entire problem dealt with.  If it's not atomic,
there are potential race conditions, specifically if the stimuli to
the entity being checkpointed are not to be aware of the checkpoint.
As one cannot determine in advance which stimuli may be affected by
race conditions, one has to eliminate all possibilities: 90% is just
not good enough.  To answer the question, an editor makes a fine
example because I, the human stimulus to the editor, must not notice
that a keystroke was missed while the migration took place.  But see
below...

In my uneducated opinion, this means that the boundaries (namespace)
for the target of a checkpoint must be totally specified.  Each
instance where a boundary is being crossed, like in the case of a
remote connection, but also where contentions are possible, there has
to be a mechanism to control possible races.  Burdening normal
applications with such controls may be very inefficient.  The
alternative, much closer to natural (biologically evolved) systems may
be to omit all "locks" and instead deal with the errors a posteriori;
if they are detected, that is.

Using fault tolerance in such a situation is even more demanding of
resources, but it resembles natural "intelligence" a lot more closely.
I'm not sure how well Moore's Law would apply to such an approach.

++L


Reply via email to