On Fri, 18 Feb 2011 13:06:43 PST John Floren <j...@jfloren.net>  wrote:
> On Fri, Feb 18, 2011 at 12:15 PM, erik quanstrom <quans...@quanstro.net> wr=
> ote:
> >> > i don't think that it makes sense to say that since replica
> >> > is slow and hg/rsync are fast, it follows that 9p is slow.
> >>
> >> It is the other way around. 9p can't handle latency so on
> >> high latency pipes programs using 9p won't be as fast as
> >> programs using streaming (instead of rpc). Granted that there
> >> are many other factors when it comes to hg & replica but
> >> latency is a major one.
> >
> > you're still comparing apples and girraffes. =A0rsync/hg have
> > protocols ment for syncing. =A0replica uses 9p, which is not a
> > protocol designed for syncing. =A0it's designed for regular file
> > access. =A0it would be similarly difficult to use rsync's protocol
> > directly for file access.
> 
> So why does replica use 9P? Because it's *The Plan 9 Protocol*. If
> *The Plan 9 Protocol* turns out to not serve our needs, we need to
> figure out why.

The point I was trying to make (but clearly not clearly) was
that simplicity and performance are often at cross purposes
and a simple solution is not always "good enough".  RPC
(which is what 9p is) is simpler and perfectly fine when
latencies are small but not when there is a lot of latency in
relation to the amount of work doable with each rpc call.

Instead of reading/writing in small chunks, you want to
minimize the number of request/response round trips by
conveying information at a more abstract level (which is
what rsync does).

> 9P as specified in the documentation might not necessarily be the
> problem, but the implementation apparently is.

It is inherent to 9p (and RPC).

The wikipedia page on plan9 says "Plan 9 was engineered for
modern distributed environments, designed from the start to
be a networked operating system." -- but it _is_ curious that
a networked/distributed OS does not handle latency well. This
may be a heretical thing to say but there it is :-)

I think it is worth looking at a successor protocol instead
of just minimally fixing up 9p (a clean slate approach frees
up your mind.  You can then merge the two later).

Reply via email to