On Mon, Nov 15, 2010 at 12:16 AM, Sam Watkins <s...@nipl.net> wrote:
> On Sun, Nov 14, 2010 at 11:20:00PM -0500, John Floren wrote:
>> Please see lsub's Op and my Streaming talk at the most recent IWP9.
>
> Ok, thanks.  I did not know that 9p has latency problems even when reading a
> single file.  I was talking about pipelining, where you can ask the server to
> send a dozen files or chunks all of metadata all in a single packet.  As I
> said, I think this might be useful even within a site.
>
> Do you think http has any disadvantages compared to 9p?
> Could it be used instead of 9p in a similar role?
>
>
> Example of http pipelining:
>
> client sends:
>
>        HEAD / HTTP/1.1
>        Host: iwp9.org
>
>        HEAD /slides/floren.pdf HTTP/1.1
>        Host: iwp9.org
>
>
> server replies:
>
>        HTTP/1.1 200 OK
>        Server: Plan9
>        Date: Mon, 15 Nov 2010 05:06:10 GMT
>        ETag: "2e3c1v24"
>        Content-Length: 10382
>        Last-Modified: Fri, 15 Oct 2010 14:14:24 GMT
>        Content-Type: text/html
>
>        HTTP/1.1 200 OK
>        Server: Plan9
>        Date: Mon, 15 Nov 2010 05:06:10 GMT
>        ETag: "2e390v10"
>        Content-Length: 122477
>        Last-Modified: Wed, 13 Oct 2010 23:55:44 GMT
>        Content-Type: application/pdf
>
[snipped]
>
>
> Sam
>

You might be interested in Oleg Kiselyov's HTTPFS paper, which
basically put a filesystem frontend on HTTP, so he could give URLs as
arguments to programs and have them treated as normal files
(translating reads and writes into GET and PUT with caching).

I'm not sure how useful pipelining would be in the context of 9P. We
have a very tight relationship between each libc function (open, read,
write, close) and the 9P messages (Topen, Tread, Twrite, Tclunk), and
I just can't see where this pipelining thing would go in. If you want
to open and read two files, you call open() twice, get two different
fds, and read and write from those. Of course, when you're reading
from one file, nothing's happening with the other file; my streams
system (the paper and code should be out soon) would help alleviate
some of these problems.


John

Reply via email to