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