[Spread-users] Spread 4

Yair Amir yairamir at cnds.jhu.edu
Sat Jul 2 19:49:03 EDT 2005

Hi Gavin,

 > Neil Conway and I are busily hacking on spread to see if we can increase
 > its robustness and usability. There is some discussion in the source and
 > in the mailing list archives of spread 4. Is spread 4 being actively
 > worked upon? If so, is the source publicly available?

The next version is actively worked on and most of it is almost ready for final
testing. So, it is now especially a good time to raise robustness issues.
There are few issues in the new version that still need attention and some of
us were bogged down by a lot of other work, vacation, and even moving.

I am of the attitude that code better be ready before dropped out on people,
wasting their valuable time, and Spread 3.17.3 is doing its job reasonably well I
think, so I see no point to rush code out before its ready.
In any case, we at Spread Concepts need some of the new features real quick
so it can't be too long before its out :)

The new version has considerable changes from Spread 3, changing
the way virtual synchrony sets are reported in membership messages.
This is done for a good reason - to support a stronger semantics, that comes
for free, for membership VS sets (instead of who-came-with-us, we can now
know who-came-with-whom, which happens to be very useful in the context of
fast synchronization as well as for some security algorithms). Of course, the
old semantics is subsumed by the new semantics so programs that relied on the
old semantics have what they need.

In general, though, we hope people should not have hard time migrating to
this version if they so choose.

Other important changes:

- Ability to dynamically add and remove machines from the configuration, with
   deep optimization for the common cases everyone is screaming about for a few
   years now. We at Spread Concepts experimented with a few different solutions
   over the years in custom settings but were not happy with any of them, so
   we prefered to leave it as it is instead of creating more problems allowing
   semi-solutions. We finally were happy with a new approach we came up with a
   few months ago and this is part of the new version.

- Inclusion of the Flush layer (virtual synchrony) as an integral part of Spread.
   Flush was written for our security research many years ago and ended up encapsulating
   extremely deep research in John Schultz' thesis. We find this semantics useful
   for some uses, Flush is extremely robust and is thoroughly tested as part
   of Secure Spread, so it is time for it to be adopted.

There are other changes but the message is becoming too long so this
will do for now.


	:) Yair.

More information about the Spread-users mailing list