From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA32757; Wed, 18 Sep 2002 18:14:28 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA00576 for ; Wed, 18 Sep 2002 18:14:27 +0200 (MET DST) Received: from d12lmsgate-3.de.ibm.com (d12lmsgate-3.de.ibm.com [195.212.91.201]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g8IGEQ109399 for ; Wed, 18 Sep 2002 18:14:26 +0200 (MET DST) Received: from d12relay01.de.ibm.com (d12relay01.de.ibm.com [9.165.215.22]) by d12lmsgate-3.de.ibm.com (8.12.3/8.12.3) with ESMTP id g8IGDqWL064634; Wed, 18 Sep 2002 18:13:52 +0200 Received: from d10hubm1.telaviv.ibm.com (d10ml001.telaviv.ibm.com [9.148.216.55]) by d12relay01.de.ibm.com (8.12.3/NCO/VER6.4) with ESMTP id g8IGDoqw043442; Wed, 18 Sep 2002 18:13:51 +0200 Subject: RE: Re[2]: [Caml-list] OcamlSpread 0.0.1 released To: "John Gerard Malecki" Cc: caml-list@inria.fr X-Mailer: Lotus Notes Release 5.0.7 March 21, 2001 Message-ID: From: "Ohad Rodeh" Date: Wed, 18 Sep 2002 09:13:48 -0700 X-MIMETrack: Serialize by Router on D10ML001/10/M/IBM(Release 5.0.9a |January 7, 2002) at 18/09/2002 19:13:50 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk 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 users. Spread splits functionality between a client process, and a server (daemon) process. 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 group-communication 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 state-machine. 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 group-communication, 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. ----------------------------------------------------------------------------------- Ohad Rodeh tel: +972-3-6401641 IBM Haifa, storage research John Gerard Malecki To: "Yurii A. Rashkovskii" m> Subject: RE: Re[2]: [Caml-list] OcamlSpread 0.0.1 released 18/09/2002 06:43 Please respond to "John Gerard Malecki" 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 caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners