cvs commit: src/lib/libc/sys syslink.2

Matthew Dillon dillon at apollo.backplane.com
Tue Apr 3 11:15:07 PDT 2007


    Also a big piece of this is that I am being very careful to separate
    the issue of finding a good routing path from the issue of actually
    routing the message, and I am creating degenerate cases (e.g. all 0's,
    all 1's) that provide for link layer communications and broadcast
    communications regardless of the state of the mesh's route discovery.

    This means, for example, that link layer communications work right off
    the bat.  If you connect to a syslink node, you can address that node
    (all 0's) regardless of the state of the rest of the mesh, and the
    same goes for broadcasts.  Hence the seed nodes and registration nodes
    can immediately start broadcasting the instant they connect to the
    mesh, forming the basis for creating useful rendezvous within the
    mesh.

    This also means that regardless of the route discovery protocols we
    design or use, it is always possible to send probe-like messages within
    the mesh.  While this is not necessarily useful if you want to
    communicate with a particular target node somewhere on the mesh, it can
    serve as a basis for constructing a more sophisticated routing or
    discovery protocol.  We could even 'probe' the network through
    iteration if we really wanted to, giving us a good basis for writing
    diagnostic tools and for writing discovery protocols capable of
    independantly detecting changes in the topology without having to
    depend on other discovery probes to access the mesh.

    It took me a while to hit upon this idea.  I'm sure someone has
    thought of something similar before but probably not in the context
    that we need to work with.  This is really a nice fit to what I
    am trying to accomplish with SYSLINK.  I originally tried to adapt
    the cluster mesh protocols I used for the Backplane database, but
    they have a lot of overhead and just don't scale... not really
    suitable for shoving terrabytes of data around or being able to make
    full use of switched ethernet or other cross-bar style networks.

						-Matt





More information about the Commits mailing list