some basic questions
Fri Oct 8 18:24:49 CEST 1999
thank you so much for your information! i put some comments below.
On Fri, 8 Oct 1999, Klacke wrote:
> About two/three years ago I was really interested in the
> ISIS protocols developed by a group of researchers at Cornell
> with Ken Birman. These protocols support a concept of
> process groups and something they call "virtual syncronicity".
i'm familiar w/ ISIS.
> The basic idea is that a group of processes is formed and named,
> messages sent to the group by means of the ISIS protocols
> can have different delivery semantics. The most interesting (and
> also efficiently implementable) is that "all members in the
> group get all messages in the same order". They also get all
> join_group, leave_group, member_crashed, message sin the same
> This basic mechanism, (which as I said is possible to implement
> efficiently) Can be used as the basic abstraction to build
> other stuff, such as transaction managers etc.
> I had two students from Uppsala that implemented the ISIS
> protocols in Erlang and did some experiments with it.
> However, and here comes the bad news. It turned out that
> the API they delivered (which was pretty similar to the
> classic ISIS API) wasn't that much easier to use than
> plain distributed Erlang.
that's unfortunate :(
> The focus of the work was
> ease of use and correctness. It is very very very hard
> to write 100 % correct fault tolerant distributed applications
absolutely, which is why we're trying to find a solution that already
exists! since we are a commercial company, we need to find a solution
that's already there rather than create one, even if that solution isn't
the perfect one (if that ever exists). thus our interest in erlang
> To use I.e sun RPC, Corba or even distributed Erlang to build
> distributed apps is a bit low level.
> We did a couple of sample applications using the Erlang ISIS
> API as well as normal distributed Erlang, and it turned out that
> the ISIS apps weren't any easier to write or understand, so the
> idea was dropped. I'm not the only one who dropped the idea(s)
> from the Cornell group. The traffic now in comp.XX.isis is almost
i believe, the same group is working on a new toolkit called Ensemble.
from what i understand, the ISIS toolkit took a ``monolithic'' type
approach and offered pre-defined and limited choices as to ordering and
membership -- Ensemble i think has a sort of an OO approach and is more
open, extensible and composible. have you had a look at Ensemble?
> However, I still think that we need better abstractions than
> the ones we have today in order to build distributed apps.
yes, i agree.
> (Note, here iI'm not talking about loosely loosely coupled
> apps like, nntp or www, but rather fault tolerant applications
> with hot standby's and such. The API provided by distributed erlang,
> mnesia, global, gen_server and friends is much much better than
> i.e a CORBA based api, but it's still too low level.
More information about the erlang-questions