Re: GlusterFS (network) messaging layer - possible next steps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> nanomsg wouldn't be an easy drop in replacement to our existing messaging
> infrastructure. We need to understand how our code would be structured if we
> decide to use nanomsg. I am considering the Go implementation of nanomsg
> (protocol) called mangos[3] for inter-GlusterD communication in GlusterD 2.0.
> I will be sharing our experience when we get there. Meanwhile, please share
> what you think about this.

As I've written elsewhere, I believe it would be a good thing to get away
from our current (XDR) serialization format/method.  Replacing the next
level up - managing connections, detecting when they break, etc. - is a
bit trickier.  One issue there is what to do about RDMA.  Another is that
the rest of our code makes a lot of assumptions (many implicit) about
things like event ordering and parallelism levels.  It has proven fragile
even with modest changes in this area (e.g. SSL/TLS), and would probably
be even more so in the face of greater change.

That said, I did actually look into nanomsg a while ago (mostly for NSR
internal communication).  It did look like one of the better alternatives
in its space, and might be a good fit for GlusterD specifically.  There's
no reason GlusterD needs to use the same networking infrastructure as the
I/O path, just like there's no reason it needs to use the same translator
infrastructure.  Since it does reduce our own burden on maintaining the
current networking code for both I/O path and GlusterD usage (which are
quite different) and does offer some more powerful abstractions that we
could use, I would definitely encourage further investigation in this
area.
_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
http://www.gluster.org/mailman/listinfo/gluster-devel



[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux