Date: Fri, 25 Jul 1997 10:44:01 -0400
From: Mark Hayden <firstname.lastname@example.org>
Subject: Ensemble, a toolkit for distributed communication in ML
It is my pleasure to announce Ensemble (0.40), a distributed
communication toolkit written in the Objective Caml
programming language. For an application builder, Ensemble
is a library of protocols that can be used for quickly
building complex distributed applications. An application
registers 10 or so event handlers with Ensemble, and then
Ensemble handles the details of reliably sending and
receiving messages, transferring state, and detecting and
managing failures. To find more about Ensemble, including
how to acquire it, visit this URL:
Mark Hayden (email@example.com)
* High performance: On a 200 Mhz Pentium-pro, Ensemble
compiled with the Ocaml native code compiler adds about 50
usec latency to the cost of sending & receiving a message.
This is about a 20% overhead to the cost of sending a
message over UDP with 10 Mbit ethernet.
* Powerful: Ensemble includes over 40 protocol layers.
These include layers for reliable communication, group
membership, encryption, network partition and merging,
scalable communication, flow control, process migration,
broadcast ordering, and state transfer.
* Flexible: Protocol layers can be combined into a large
number of different protocol stacks that provide
high-level properties to applications. In addition
protocol stacks can be changed on-the-fly in running
* Freely available software: The software distribution
includes precompiled bytecode libraries, full source code,
* Ensemble runs over Windows/NT and all Unix platforms
supported by Ocaml.
* Ensemble can be used as a library from ML. In addition,
it has several C and C++ interfaces. A Java interface is
* Ensemble supports communication over UDP, TCP, and ATM.
* The Ensemble distribution includes a variety of
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:12 MET