it seems to me that trying Op (Octopus) on Plan 9 would be a logical first step.
On Fri, Feb 18, 2011 at 2:21 PM, Bakul Shah <bakul+pl...@bitblocks.com> wrote: > 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). > >