[Spread-users] Spread implementation and C API

John Schultz jschultz at spreadconcepts.com
Fri Oct 16 15:04:42 EDT 2009

The Spread daemons need to know the maximal set of daemons that might  
be in a configuration.  Spread functions when only a subset of those  
daemons have to be active or connected at any given time

If you can't know the maximal potential set of participating daemons  
ahead of time, or if the maximal set is truly changing dynamically,  
then Spread v4 does allow for dynamic reconfiguration.  Even then  
though, the .conf files at the time of the reconfiguration need to  
contain all the potential daemon addresses that may be participating  
at that point in time.

As Daniel said, client applications really only need to know the  
address of the daemon to which they are connecting and can largely  
ignore the configuration of the Spread daemons.  The Spread daemons do  
need to know all the potential daemons in the system and they all need  
to be working off the same configuration at any given point in time.


John Lane Schultz
Spread Concepts LLC
Phn: 301 830 8100
Cell: 443 838 2200

On Oct 16, 2009, at 2:41 PM, Shashank Yaduvanshi wrote:

On Fri, Oct 16, 2009 at 11:44 PM, Daniel F. Savarese  
<dfs at savarese.org> wrote:
> In message  
> <508727630910161055ha328aa1l52abfd52bd2b4045 at mail.gmail.com>, Shasha
> nk Yaduvanshi writes:
>> Thanks for the quick and helpful reply. So does that mean that a
>> receive/multicast busy waits when it blocks? Also, is there any way  
>> to
> No busy waiting.  The client API blocks in recv(), so the process
> sleeps until the kernel wakes it up on account of data arriving or
> an error.
Thanks. That will solve the purpose.
>> use SPREAD when one does not know which machines are connected in the
>> SPREAD network, nor their ip addresses?
> Client programs don't need to know anything about IP addresses (except
> perhaps if you're connecting to a remote spread daemon instead of a
> local one), daemons do (in order to configure spread.conf).  Client
> programs communicate via group names.
Right. I think I should have framed my question more appropriately. I
am developing a generic library (.dll) that has to do communication
between all the machines that run that library at various points of
time. At different times, different set of machines might be connected
and running the library.In that case, its not possible to know what
all ip addresses will be involved in the communication? So, its not
possible to specify the ip addresses in the .conf file. Is there any
way around that? How do I make sure that all the participating
machines at any point of time are part of the network?
> daniel
> o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o o-o-o-o-o-o-o-o-o-o- 
> o-o-o-o
>                                                     s a v a r e s e
>                                                    software research
>                                                 http://www.savarese.com/
> _______________________________________________
> Spread-users mailing list
> Spread-users at lists.spread.org
> http://lists.spread.org/mailman/listinfo/spread-users

Spread-users mailing list
Spread-users at lists.spread.org

More information about the Spread-users mailing list