Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
RE: Re[2]: [Caml-list] OcamlSpread 0.0.1 released
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-09-18 (16:14)
From: Ohad Rodeh <ORODEH@i...>
Subject: RE: Re[2]: [Caml-list] OcamlSpread 0.0.1 released
I'm the maintainer of Ensemble, so my judgement on which system is better
is of
course subjective. Having said that, I'll try to fairly describe what
Ensemble and
Spread can do.

Generally speaking, they are the same. Both provide group-communication to

Spread splits functionality between a client process, and a server (daemon)
The daemon process needs to run on every machine where there are clients.
User-applications link with the client library, and send/receive messages
through the
local daemon process.

Ensemble allows both client/server, and in-server applications, so that one
can also
write the applications to work as part of the server main-loop. Since
applications are normally event-driven, linking into an existing main-loop
should not be
a problem.

Both systems support secure groups, though they have different models for
this. As an
aside, Ensemble intends to move from using OpenSSL to Xavier's cryptokit.

Ensemble splits the "server" into many small layers, where each layer is a
An Ensemble stack is, much like the OS communication stack, a set of layers
stacked on
top of each other. An Ensemble endpoint uses a stack to send/receive
messages. The
set of layers in the stack determine what guaranties are provided:
reliability, flow-control,
packet fragmentation, etc. Users can write they own layers, and there is a
lot of investment
in allowing users to dynamically switch layers on the fly, add new layers,
and debug them.
Equivalent functionality does not exist in Spread.

Ensemble also allows reliable point-to-point messaging, in the context of a
group. This
is similar toTCP, though with somewhat stronger guaranties.

In general, if you want to write an application that does not heavily use
you probably don't care so much about which system to use. If you'd like to
modify the system,
or write something really efficient, I'd suggest using Ensemble.


Ohad Rodeh
tel: +972-3-6401641
IBM Haifa, storage research

                      John Gerard                                                                                                      
                      Malecki                  To:       "Yurii A. Rashkovskii" <>                                   
                      <        cc:       Ohad Rodeh <>                                        
                      m>                       Subject:  RE: Re[2]: [Caml-list] OcamlSpread 0.0.1 released                             
                      18/09/2002 06:43                                                                                                 
                      Please respond to                                                                                                
                      "John Gerard                                                                                                     

Yurii A. Rashkovskii wrote (2002-09-18T12:16:01+0300):
 > I know about Ensemble, and even use it now. OcamlSpread was an old
 > library and I just decided to release it to public (may be somebody
 > will need it :-) )

Hello Yurii (and Ohad),

Just out of curiosity, and without wanting to start any public
controversy, I was wondering about the differences between Spread and
Ensemble?  (Except for implementation language they seem similar.)
Are there applications where one would be preferable to the other?

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: