LESS ± epsilon
You will find here the latest status of the LESS project work on
cooperative replication and metrics-based (or epsilon) divergence
control protocols.
Cooperative Replication
In most case where cooperation is
involved, the shared information is deterministic. In these case
replica divergence control is all about distributed scheduling.
Cooperative replication is a simple design principle where each
replica is associated to one unique scheduler. We end up with a set of
replicas partitioned along a set of schedulers. The schedulers
cooperate together to constitute a single distributed
scheduler of the shared replicated information. The rule of
cooperation depends on the underlying divergence control protocol.
In the simplest case, each replica get its own scheduler, mapped
in the replica context. In the case of interactive applications, the
replica context is likely to be managed in the same context as the
local application proxy managing the interaction with outside agents -
allowing local access and concurrency control to the shared
information.
One interesting property of cooperative replication is that it
welcomes epsilon divergence control protocols.
Epsilon divergence control
is a new technic used to absorb
wide-area latency in distributed coordination protocols. The key idea
is to parameterized distributed scheduling by an operation specific
metrics provided by the application. This metrics is used to bound
the operations scheduled «locally» with no cooperation with remote
schedulers. In a wide-area network where inter-scheduler latency is
huge, this might be a big win. We developed a family of protocols,
some of them readily available around
these ideas.
Interested? Keep posted :-)
Here is a still in progress draft of how
metrics-based divergence control works, how it copes with
high-latency, why it is sound and how it relates to imprecision.
We continue to spend some time to put these ideas at work. We
built some kind of a middleware prototype available as Objective Camel
modules. You can upload the current
prototype. You will find the protocols implementation and some
simple benchmark applications built on top of them. The prototype is
distributed under the GNU LGPL license. It requires Objective Camel version 2.02
or above and Ensemble
version 0.61.
Georges Brun-Cottan
Last modified: Sun Apr 2 17:30:50 EDT 2000